Commit Graph

430 Commits

Author SHA1 Message Date
Dmitry Azaraev f89c0d74dd Include enum declarations into API hash calculation (fixes issue #3000) 2020-08-07 13:03:51 -04:00
Marshall Greenblatt 9e60357fc8 cefbuilds: Improve display time for index.html 2020-08-06 16:10:16 -04:00
Marshall Greenblatt 75e0f9f60e Fix automate-git.py argument error 2020-08-03 15:00:38 -04:00
Marshall Greenblatt 9717d3e1da Add --distrib-subdir-suffix option to make_distrib 2020-08-03 14:37:24 -04:00
Marshall Greenblatt fab2af8876 Windows: Avoid cef_sandbox compile errors with perfetto (fixes issue #2984) 2020-07-16 19:11:19 -04:00
Marshall Greenblatt 13e3c8b42a Fix official build errors caused by chrome runtime changes (see issue #2969) 2020-07-16 19:11:18 -04:00
Marshall Greenblatt 6573df6cc3 Update to Chromium version 85.0.4183.0 (#782793)
- Windows: 10.0.19041 SDK is now required.
- macOS: 10.15.1 SDK (at least Xcode 11.2) is now required.
- Remove CefMediaSource::IsValid and CefMediaSink::IsValid which would
  always return true.
2020-07-16 19:11:12 -04:00
Marshall Greenblatt f5587b74f0 Set enable_background_mode=false by default (see issue #2969)
This mode doesn't make sense with CEF, and it was causing strange
shutdown crashes when running with Chrome mode enabled.
2020-06-29 16:17:32 -04:00
Marshall Greenblatt 1174994211 Add initial chrome runtime support (see issue #2969)
Running `cefsimple --enable-chrome-runtime` will create and run a
Chrome browser window using the CEF app methods, and call
CefApp::OnContextInitialized as expected. CEF task methods also
work as expected in the main process. No browser-related methods or
callbacks are currently supported for the Chrome window, and the
application will exit when the last Chrome window closes.

The Chrome runtime requires resources.pak, chrome_100_percent.pak
and chrome_200_percent.pak files which were not previously built
with CEF. It shares the existing locales pak files which have been
updated to include additional Chrome-specific strings.

On Linux, the Chrome runtime requires GTK so use_gtk=true must be
specified via GN_DEFINES when building.

This change also refactors the CEF runtime, which can be tested in
the various supported modes by running:
$ cefclient
$ cefclient --multi-threaded-message-loop
$ cefclient --external-message-pump
2020-06-29 16:17:23 -04:00
Marshall Greenblatt 39aed35644 Add support for direct DevTools protocol messaging (fixes issue #2961).
This change allows the client to directly send and receive DevTools
protocol messages (send method calls, and receive method results and
events) without requiring a DevTools front-end or remote-debugging
session.

This change includes additional supporting changes:
- Add a new CefRequestHandler::OnDocumentAvailableInMainFrame
  callback (see issue #1454).
- Add a CefParseJSON variant that accepts a UTF8-encoded buffer.
- Add a `--devtools-protocol-log-file=<path>` command-line flag for
  logging protocol messages sent to/from the DevTools front-end
  while it is displayed. This is useful for understanding existing
  DevTools protocol usage.
- Add a new "libcef_static_unittests" executable target to support
  light-weight unit tests of libcef_static internals (e.g. without
  requiring exposure via the CEF API). Files to be unittested are
  placed in the new "libcef_static_unittested" source_set which is
  then included by both the existing libcef_static library and the
  new unittests executable target.
- Linux: Remove use_bundled_fontconfig=false, which is no longer
  required and causes unittest build errors (see issue #2424).

This change also adds a cefclient demo for configuring offline mode
using the DevTools protocol (fixes issue #245). This is controlled
by the "Offline mode" context menu option and the `--offline`
command-line switch which will launch cefclient in offline mode. When
cefclient is offline all network requests will fail with
ERR_INTERNET_DISCONNECTED and navigator.onLine will return false when
called from JavaScript in any frame. This mode is per-browser so
newly created browser windows will have the default mode. Note that
configuring offline mode in this way will not update the Network tab
UI ("Throtting" option) in a displayed DevTools front-end instance.
2020-06-19 22:15:22 -04:00
Alexander Guettler 790d248111 Update to Chromium version 84.0.4147.0 (#768962) 2020-06-10 15:26:29 -04:00
Marshall Greenblatt cfe8e320be Enable DNS-SD discovery for cast devices (see issue #2900) 2020-05-25 16:54:45 -04:00
Marshall Greenblatt 7ecaa8afdd Windows: Add VS2019 path discovery to msvs_env.bat (fixes issue #2925) 2020-05-13 13:23:05 -04:00
Mike Wiedenbauer 8d01442d75 Re-implement audio capturing based on the AudioService API (fixes issue #2755) 2020-05-01 18:18:18 +00:00
Marshall Greenblatt d65483ae16 Update cef_api_hash.h at build time if necessary (fixes issue #2922)
The cef_api_hash.h file was previously only updated when the translator tool
was run manually. Forgetting to run the translator tool after changing
include/internal/cef_types*.h files would result in cef_parser.py
incorrectly computing the CEF minor version number for future builds. By
updating this file automatically at build time the number of errors should be
reduced.
2020-04-30 17:52:10 -04:00
Marshall Greenblatt f742ab4994 Mac: Remove unicode character in README.redistrib.txt (fixes issue #2910) 2020-04-02 13:44:27 -04:00
Marshall Greenblatt 047e8f9349 Update to Chromium version 82.0.4085.0 (#749737)
- Building on macOS now requires the 10.15 SDK. Xcode 11.3 is recommended as
  Xcode 11.4 is not currently supported (see https://crbug.com/1065146).
- Jumbo build configuration is no longer supported.

Chromium is skipping the M82 release and consequently no CEF 4085 branch will
be created. For details on the Chromium decision see
https://groups.google.com/a/chromium.org/d/msg/chromium-dev/Vn7uzglqLz0/JItlSrZxBAAJ
2020-04-02 13:20:25 -04:00
Marshall Greenblatt 2fbb6ba1e9 automate-git: Add support for depot_tools version pinning (fixes issue #2893) 2020-03-06 11:42:08 -05:00
Marshall Greenblatt 51e12b3866 automate-git: Remove support for branches older than 3071.
3071 and newer branches use Git and GN exclusively.
2020-03-05 13:56:17 -05:00
Marshall Greenblatt 06a5ef3cd8 automate-git: Windows: Patch VS toolchain scripts before runhooks
Split `gclient sync` into separate `gclient sync --nohooks` and
`gclient runhooks` steps so that we can optionally apply patches
from `runhooks.patch` in-between. This is necessary because the
src/tools/clang/scripts/update.py script is run via a hook and has
dependencies on the VS toolchain scripts which must be patched to
properly consider the GYP_MSVS_VERSION environment variable.
2020-03-04 19:31:54 -05:00
Marshall Greenblatt a22b670a00 automate-git: Remove unsupported --disable-syntax-validation flag 2020-03-03 23:00:58 -05:00
Iain Apreotesei afcee77abe Windows: Add ARM64 binary distribution support (see issue #2773) 2020-02-19 16:33:27 +00:00
Marshall Greenblatt fb925e7aa5 Fix inline documentation in crash_server.py 2020-02-17 13:19:09 -05:00
Alexander Guettler 71768ea6c3 Update to Chromium version 80.0.3987.0 (#722274) 2020-02-17 13:19:09 -05:00
Marshall Greenblatt f2f6ae4f29 Linux: Add CEF_INSTALL_SYSROOT env variable for calling install-sysroot.py (see issue #1990) 2020-01-16 15:13:29 +01:00
Marshall Greenblatt 7a701546e1 tools: Convert NULL to nullptr (see issue #2861) 2020-01-15 14:49:44 +01:00
Marshall Greenblatt c629c5bb59 Fix tarfile issues by using GNU_FORMAT with Python 3.8 (see issue #2856) 2020-01-14 11:16:33 +01:00
Marshall Greenblatt 53b98a5022 fix_style: Add Python 3 support (see issue #2856) 2020-01-13 21:43:18 +01:00
Marshall Greenblatt f0347f0589 crash_server: Add Python 3 support (see issue #2856) 2020-01-13 21:30:54 +01:00
Marshall Greenblatt 06a5a5bb36 gn_args: Fix representation of int-type GN_DEFINES values (see issue #2856) 2020-01-13 16:50:00 +01:00
Marshall Greenblatt 08f6cbb675 gn_args: Fix Python 3 AttributeError: 'module' object has no attribute 'exc_clear' (see issue #2856) 2020-01-13 16:21:09 +01:00
Marshall Greenblatt 1a406d079b Use explicit check for python version (see issue #2856) 2020-01-13 11:53:36 +01:00
Marshall Greenblatt 3afa29d499 build: Add Python 3 support (see issue #2856) 2020-01-13 11:47:33 +01:00
Marshall Greenblatt b98f142e0e gclient_hook: Add Python 3 support (see issue #2856) 2020-01-12 17:48:13 +02:00
Marshall Greenblatt 894ac21532 Fix Python 2 TypeError: write() argument 1 must be unicode, not str (see issue #2856) 2020-01-12 16:17:19 +02:00
Marshall Greenblatt e1132672ee make_distrib: Add Python 3 support (see issue #2856) 2020-01-12 13:45:46 +01:00
Marshall Greenblatt 1b85022c58 translator: Add Python 3 support (see issue #2856)
This also fixes incorrect translation of types in capi header comments.
2020-01-09 22:22:15 +02:00
Marshall Greenblatt dbc479e490 cef_version: Add Python 3 support (see issue #2856) 2020-01-09 17:16:39 +02:00
Marshall Greenblatt 5792cea985 patch_updater: Add Python 3 support (see issue #2856) 2020-01-09 17:08:24 +02:00
Marshall Greenblatt 16e8710a81 patcher: Add Python 3 support (see issue #2856) 2020-01-09 16:42:00 +02:00
Marshall Greenblatt 503ec7c2e6 gn_args: Add Python 3 support (see issue #2856) 2020-01-09 15:49:11 +02:00
Marshall Greenblatt 11ee7e984c cefbuilds: Add Python 3 support (see issue #2856) 2020-01-09 15:40:40 +02:00
Marshall Greenblatt b51a4de540 Windows: Fix cef_sandbox.lib link errors (fixes issue #2792) 2019-10-29 17:31:17 -04:00
Marshall Greenblatt c0af145165 Windows: Disable the ARM64 config by default
Set the CEF_ENABLE_ARM64=1 environment variable to enable the ARM64 build if
you have installed the Visual Studio compiler toolchain for ARM64.
2019-10-02 14:54:04 +03:00
Iain Apreotesei@Arm a8283d1cc3 Add Windows ARM64 build support 2019-10-02 11:43:38 +00:00
Marshall Greenblatt 729b3f0a8f Remove cef_sandbox dependency on boringssl MD5/SHA1 functions (fixes issue #2743) 2019-10-01 17:13:02 +03:00
Marshall Greenblatt 52c24ed061 Windows: Restore missing resources to binary distribution (fixes issue #2771) 2019-10-01 17:10:36 +03:00
Marshall Greenblatt e3723dcda5 Revert "Add ability to capture audio output to buffer (see issue #2381)"
This reverts commit 9f41a27e58.

This needs to be reimplemented to support out of process audio (see issue #2755).
2019-09-20 17:23:33 +03:00
Alexander Guettler 46d3a81ba0 Update to Chromium version 77.0.3865.0 (#681094)
- Windows: SDK version 10.0.18362.0 is now required.
2019-09-04 15:13:32 +00:00
Marshall Greenblatt 98527317a8 Revert "Windows: Add boringssl to cef_sandbox to fix VS2017 link error (fixes issue #2743)"
This reverts commit 2cf916e6d5.

This change causes linker errors with third-party projects using VS2019 that also link openssl.

cef_sandbox.lib(err.obj) : error LNK2005: _ERR_get_error already defined in websockets.lib(mbedtls-client.obj)
cef_sandbox.lib(err.obj) : error LNK2005: _ERR_error_string already defined in websockets.lib(ssl_lib.obj)
cef_sandbox.lib(err.obj) : error LNK2005: _ERR_error_string_n already defined in websockets.lib(ssl_lib.obj)
cef_sandbox.lib(err.obj) : error LNK2005: _ERR_free_strings already defined in websockets.lib(ssl_lib.obj)
2019-08-29 14:53:10 -04:00