X Tutup
Skip to content

Commit 8ffac63

Browse files
committed
Update to Chromium 56.0.2924.76 (cztomczak#276)...
CEF version 3.2924.1571.gcdcdfa9. Mac: deployment target 10.9+. Fix --fast flag in build.py. Add --clean flag in build.py - clean c++ projects files.
1 parent eeef09a commit 8ffac63

File tree

11 files changed

+110
-62
lines changed

11 files changed

+110
-62
lines changed

api/ApplicationSettings.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,12 @@ in a known order. Equivalent to the `SkColor` type.
102102

103103
(string)
104104
The path to a separate executable that will be launched for sub-processes.
105-
By default the browser process executable is used. See the comments on
106-
CefExecuteProcess() for details. Also configurable using the --browser-subprocess-path switch.
105+
If this value is empty on Windows or Linux then the main process executable
106+
will be used. If this value is empty on macOS then a helper executable must
107+
exist at "Contents/Frameworks/<app> Helper.app/Contents/MacOS/<app> Helper"
108+
in the top-level app bundle. See the comments on CefExecuteProcess() for
109+
details. Also configurable using the "browser-subprocess-path" command-line
110+
switch.
107111

108112

109113
### cache_path
@@ -177,6 +181,16 @@ Description from upstream CEF:
177181
> CefRunMessageLoop() function or multi_threaded_message_loop if possible.
178182
179183

184+
### framework_dir_path
185+
186+
The path to the CEF framework directory on macOS. If this value is empty
187+
then the framework must exist at "Contents/Frameworks/Chromium Embedded
188+
Framework.framework" in the top-level app bundle. Also configurable using
189+
the "framework-dir-path" command-line switch.
190+
191+
See also Issue #304.
192+
193+
180194
### ignore_certificate_errors
181195

182196
(bool)

api/BrowserSettings.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,6 @@ of the specified value will be used. The alpha component must greater than
8585
0 to enable use of the background color but will be otherwise ignored.
8686

8787

88-
### caret_browsing_enabled
89-
90-
(bool) Controls whether the caret position will be drawn. Also configurable using the --enable-caret-browsing switch.
91-
92-
9388
### databases_disabled
9489

9590
(bool) Controls whether databases can be used. Also configurable using the --disable-databases switch.

src/extern/cef/cef_types.pxd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ cdef extern from "include/internal/cef_types.h":
5656
int windowless_rendering_enabled
5757
int no_sandbox
5858
int external_message_pump
59+
cef_string_t framework_dir_path
5960

6061
ctypedef struct CefBrowserSettings:
6162
cef_string_t accept_language_list
@@ -77,7 +78,6 @@ cdef extern from "include/internal/cef_types.h":
7778
cef_state_t javascript_close_windows
7879
cef_state_t javascript_access_clipboard
7980
cef_state_t javascript_dom_paste
80-
cef_state_t caret_browsing
8181
cef_state_t plugins
8282
cef_state_t universal_access_from_file_urls
8383
cef_state_t file_access_from_file_urls

src/include/cef_crash_util.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
// information; default to "CEF">
5555
// ExternalHandler=<Windows only; Name of the external handler exe to use
5656
// instead of re-launching the main exe; default to empty>
57+
// BrowserCrashForwardingEnabled=<macOS only; True if browser process crashes
58+
// should be forwarded to the system crash
59+
// reporter; default to false>
5760
// ServerURL=<crash server URL; default to empty>
5861
// RateLimitEnabled=<True if uploads should be rate limited; default to true>
5962
// MaxUploadsPerDay=<Max uploads per 24 hours, used if rate limit is enabled;
@@ -85,6 +88,12 @@
8588
// directory. On Linux the CefSettings.browser_subprocess_path value will be
8689
// used. On macOS the existing subprocess app bundle will be used.
8790
//
91+
// If "BrowserCrashForwardingEnabled" is set to true on macOS then browser
92+
// process crashes will be forwarded to the system crash reporter. This results
93+
// in the crash UI dialog being displayed to the user and crash reports being
94+
// logged under "~/Library/Logs/DiagnosticReports". Forwarding of crash reports
95+
// from non-browser processes and Debug builds is always disabled.
96+
//
8897
// If "ServerURL" is set then crashes will be uploaded as a multi-part POST
8998
// request to the specified URL. Otherwise, reports will only be stored locally
9099
// on disk.
@@ -129,7 +138,7 @@ bool CefCrashReportingEnabled();
129138
///
130139
// Sets or clears a specific key-value pair from the crash metadata.
131140
///
132-
/*--cef()--*/
141+
/*--cef(optional_param=value)--*/
133142
void CefSetCrashKeyValue(const CefString& key, const CefString& value);
134143

135144
#endif // CEF_INCLUDE_CEF_CRASH_UTIL_H_

src/include/cef_response_filter.h

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,34 @@ class CefResponseFilter : public virtual CefBase {
5757
virtual bool InitFilter() =0;
5858

5959
///
60-
// Called to filter a chunk of data. |data_in| is the input buffer containing
61-
// |data_in_size| bytes of pre-filter data (|data_in| will be NULL if
62-
// |data_in_size| is zero). |data_out| is the output buffer that can accept up
63-
// to |data_out_size| bytes of filtered output data. Set |data_in_read| to the
64-
// number of bytes that were read from |data_in|. Set |data_out_written| to
65-
// the number of bytes that were written into |data_out|. If some or all of
66-
// the pre-filter data was read successfully but more data is needed in order
67-
// to continue filtering (filtered output is pending) return
68-
// RESPONSE_FILTER_NEED_MORE_DATA. If some or all of the pre-filter data was
69-
// read successfully and all available filtered output has been written return
70-
// RESPONSE_FILTER_DONE. If an error occurs during filtering return
71-
// RESPONSE_FILTER_ERROR. This method will be called repeatedly until there is
72-
// no more data to filter (resource response is complete), |data_in_read|
73-
// matches |data_in_size| (all available pre-filter bytes have been read), and
74-
// the method returns RESPONSE_FILTER_DONE or RESPONSE_FILTER_ERROR. Do not
75-
// keep a reference to the buffers passed to this method.
60+
// Called to filter a chunk of data. Expected usage is as follows:
61+
//
62+
// A. Read input data from |data_in| and set |data_in_read| to the number of
63+
// bytes that were read up to a maximum of |data_in_size|. |data_in| will
64+
// be NULL if |data_in_size| is zero.
65+
// B. Write filtered output data to |data_out| and set |data_out_written| to
66+
// the number of bytes that were written up to a maximum of
67+
// |data_out_size|. If no output data was written then all data must be
68+
// read from |data_in| (user must set |data_in_read| = |data_in_size|).
69+
// C. Return RESPONSE_FILTER_DONE if all output data was written or
70+
// RESPONSE_FILTER_NEED_MORE_DATA if output data is still pending.
71+
//
72+
// This method will be called repeatedly until the input buffer has been
73+
// fully read (user sets |data_in_read| = |data_in_size|) and there is no
74+
// more input data to filter (the resource response is complete). This method
75+
// may then be called an additional time with an empty input buffer if the
76+
// user filled the output buffer (set |data_out_written| = |data_out_size|)
77+
// and returned RESPONSE_FILTER_NEED_MORE_DATA to indicate that output data is
78+
// still pending.
79+
//
80+
// Calls to this method will stop when one of the following conditions is met:
81+
//
82+
// A. There is no more input data to filter (the resource response is
83+
// complete) and the user sets |data_out_written| = 0 or returns
84+
// RESPONSE_FILTER_DONE to indicate that all data has been written, or;
85+
// B. The user returns RESPONSE_FILTER_ERROR to indicate an error.
86+
//
87+
// Do not keep a reference to the buffers passed to this method.
7688
///
7789
/*--cef(optional_param=data_in,default_retval=RESPONSE_FILTER_ERROR)--*/
7890
virtual FilterStatus Filter(void* data_in,

src/include/internal/cef_types.h

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,23 @@ typedef struct _cef_settings_t {
166166

167167
///
168168
// The path to a separate executable that will be launched for sub-processes.
169-
// By default the browser process executable is used. See the comments on
170-
// CefExecuteProcess() for details. Also configurable using the
171-
// "browser-subprocess-path" command-line switch.
169+
// If this value is empty on Windows or Linux then the main process executable
170+
// will be used. If this value is empty on macOS then a helper executable must
171+
// exist at "Contents/Frameworks/<app> Helper.app/Contents/MacOS/<app> Helper"
172+
// in the top-level app bundle. See the comments on CefExecuteProcess() for
173+
// details. Also configurable using the "browser-subprocess-path" command-line
174+
// switch.
172175
///
173176
cef_string_t browser_subprocess_path;
174177

178+
///
179+
// The path to the CEF framework directory on macOS. If this value is empty
180+
// then the framework must exist at "Contents/Frameworks/Chromium Embedded
181+
// Framework.framework" in the top-level app bundle. Also configurable using
182+
// the "framework-dir-path" command-line switch.
183+
///
184+
cef_string_t framework_dir_path;
185+
175186
///
176187
// Set to true (1) to have the browser process message loop run in a separate
177188
// thread. If false (0) than the CefDoMessageLoopWork() function must be
@@ -563,12 +574,6 @@ typedef struct _cef_browser_settings_t {
563574
///
564575
cef_state_t javascript_dom_paste;
565576

566-
///
567-
// Controls whether the caret position will be drawn. Also configurable using
568-
// the "enable-caret-browsing" command-line switch.
569-
///
570-
cef_state_t caret_browsing;
571-
572577
///
573578
// Controls whether any plugins will be loaded. Also configurable using the
574579
// "disable-plugins" command-line switch.

src/include/internal/cef_types_wrappers.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -705,7 +705,6 @@ struct CefBrowserSettingsTraits {
705705
target->javascript_close_windows = src->javascript_close_windows;
706706
target->javascript_access_clipboard = src->javascript_access_clipboard;
707707
target->javascript_dom_paste = src->javascript_dom_paste;
708-
target->caret_browsing = src->caret_browsing;
709708
target->plugins = src->plugins;
710709
target->universal_access_from_file_urls =
711710
src->universal_access_from_file_urls;

src/settings.pyx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ cdef void SetApplicationSettings(
119119
elif key == "external_message_pump":
120120
cefAppSettings.external_message_pump = \
121121
int(appSettings[key])
122+
elif key == "framework_dir_path":
123+
cefString = new CefString(&cefAppSettings.framework_dir_path)
124+
PyToCefStringPointer(appSettings[key], cefString)
125+
del cefString
122126
else:
123127
raise Exception("Invalid appSettings key: %s" % key)
124128

@@ -214,14 +218,10 @@ cdef void SetBrowserSettings(
214218
cefBrowserSettings.javascript_dom_paste = (
215219
cef_types.STATE_ENABLED)
216220
elif key == "caret_browsing_enabled":
217-
if browserSettings[key]:
218-
cefBrowserSettings.caret_browsing = (
219-
cef_types.STATE_ENABLED)
220-
else:
221-
cefBrowserSettings.caret_browsing = (
222-
cef_types.STATE_DISABLED)
221+
# Keep the key for BC
222+
Debug("DEPRECATED: 'caret_browsing_enabled' setting")
223223
elif key == "java_disabled":
224-
# Keep for BC, just log info - no error
224+
# Keep the key for BC
225225
Debug("DEPRECATED: 'java_disabled' setting")
226226
elif key == "plugins_disabled":
227227
if browserSettings[key]:

src/version/cef_version_mac.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@
3535
#ifndef CEF_INCLUDE_CEF_VERSION_H_
3636
#define CEF_INCLUDE_CEF_VERSION_H_
3737

38-
#define CEF_VERSION "3.2883.1553.g80bd606"
38+
#define CEF_VERSION "3.2924.1571.gcdcdfa9"
3939
#define CEF_VERSION_MAJOR 3
40-
#define CEF_COMMIT_NUMBER 1553
41-
#define CEF_COMMIT_HASH "80bd6062d7ac4c5fd1d7bc7ee78e8e59d4a040aa"
40+
#define CEF_COMMIT_NUMBER 1571
41+
#define CEF_COMMIT_HASH "cdcdfa99913a01f3617a0d25a2e2f2ed145987bd"
4242
#define COPYRIGHT_YEAR 2017
4343

44-
#define CHROME_VERSION_MAJOR 55
44+
#define CHROME_VERSION_MAJOR 56
4545
#define CHROME_VERSION_MINOR 0
46-
#define CHROME_VERSION_BUILD 2883
47-
#define CHROME_VERSION_PATCH 87
46+
#define CHROME_VERSION_BUILD 2924
47+
#define CHROME_VERSION_PATCH 76
4848

4949
#define DO_MAKE_STRING(p) #p
5050
#define MAKE_STRING(p) DO_MAKE_STRING(p)
@@ -63,13 +63,13 @@ extern "C" {
6363
// universal hash value will change if any platform is affected whereas the
6464
// platform hash values will change only if that particular platform is
6565
// affected.
66-
#define CEF_API_HASH_UNIVERSAL "87b7eefcb86c87b28f86bfd7919f7d7a6cffc0d8"
66+
#define CEF_API_HASH_UNIVERSAL "66de193ba22e1d92a99bb29d60f3107709aeefda"
6767
#if defined(OS_WIN)
68-
#define CEF_API_HASH_PLATFORM "00823905486d7b7222da5654fe35d2d15f65543a"
68+
#define CEF_API_HASH_PLATFORM "8055740cd08db66cefe838a826dc90806fadfb33"
6969
#elif defined(OS_MACOSX)
70-
#define CEF_API_HASH_PLATFORM "f0180f006643782254250f34e858b98110a40e6e"
70+
#define CEF_API_HASH_PLATFORM "12d8ab423df369b68d37c3667123a1812bc0d345"
7171
#elif defined(OS_LINUX)
72-
#define CEF_API_HASH_PLATFORM "14b19454a4231fa10a77b8955954dc95f073af6b"
72+
#define CEF_API_HASH_PLATFORM "86ab23c0d7dafbdff7f66764cf8dac5ec1712af4"
7373
#endif
7474

7575
// Returns CEF version information for the libcef library. The |entry|

tools/build.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
# Command line args variables
6060
DEBUG_FLAG = False
6161
FAST_FLAG = False
62+
CLEAN_FLAG = False
6263
KIVY_FLAG = False
6364
REBUILD_CPP = False
6465
VERSION = ""
@@ -74,10 +75,10 @@ def main():
7475
sys.exit(1)
7576
print("[build.py] PYVERSION = %s" % PYVERSION)
7677
print("[build.py] OS_POSTFIX2 = %s" % OS_POSTFIX2)
77-
setup_environ()
78-
check_cython_version()
7978
command_line_args()
79+
check_cython_version()
8080
check_directories()
81+
setup_environ()
8182
if os.path.exists(CEFPYTHON_H):
8283
fix_cefpython_h()
8384
if WINDOWS:
@@ -159,7 +160,7 @@ def setup_environ():
159160
raise Exception("Python 32-bit is not supported on Mac")
160161
os.environ["ARCHFLAGS"] = "-arch x86_64"
161162
os.environ["CEF_CCFLAGS"] += " -arch x86_64"
162-
os.environ["CEF_LINK_FLAGS"] += " -mmacosx-version-min=10.7"
163+
os.environ["CEF_LINK_FLAGS"] += " -mmacosx-version-min=10.9"
163164

164165
# -Wno-return-type-c-linkage to ignore:
165166
# > warning: 'somefunc' has C-linkage specified, but returns
@@ -236,6 +237,10 @@ def command_line_args():
236237
FAST_FLAG = True
237238
print("[build.py] FAST mode On")
238239

240+
# --clean flag
241+
if len(sys.argv) > 1 and "--clean" in sys.argv:
242+
CLEAN_FLAG = True
243+
239244
# --kivy flag
240245
if len(sys.argv) > 1 and "--kivy" in sys.argv:
241246
KIVY_FLAG = True
@@ -372,8 +377,23 @@ def compile_ask_to_continue():
372377
sys.exit(1)
373378

374379

380+
def clean_cpp_projects_unix():
381+
delete_files_by_pattern("{0}/*.o".format(CLIENT_HANDLER_DIR))
382+
delete_files_by_pattern("{0}/*.a".format(CLIENT_HANDLER_DIR))
383+
384+
delete_files_by_pattern("{0}/*.o".format(SUBPROCESS_DIR))
385+
delete_files_by_pattern("{0}/*.a".format(SUBPROCESS_DIR))
386+
delete_files_by_pattern("{0}/subprocess".format(SUBPROCESS_DIR))
387+
388+
delete_files_by_pattern("{0}/*.o".format(CPP_UTILS_DIR))
389+
delete_files_by_pattern("{0}/*.a".format(CPP_UTILS_DIR))
390+
391+
375392
def compile_cpp_projects_unix():
376393
print("[build.py] Compile C++ projects")
394+
if CLEAN_FLAG:
395+
print("[build.py] Clean C++ projects (--clean flag passed)")
396+
clean_cpp_projects_unix()
377397

378398
# Need to allow continuing even when make fails, as it may
379399
# fail because the "public" function declaration is not yet

0 commit comments

Comments
 (0)
X Tutup