525 Commits

Author SHA1 Message Date
Marshall Greenblatt
13e3c8b42a Fix official build errors caused by chrome runtime changes (see issue ) 2020-07-16 19:11:18 -04:00
Marshall Greenblatt
6573df6cc3 Update to Chromium version 85.0.4183.0 ()
- 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 )
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 )
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 ).
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 ).
- 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 ).

This change also adds a cefclient demo for configuring offline mode
using the DevTools protocol (fixes issue ). 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 () 2020-06-10 15:26:29 -04:00
Marshall Greenblatt
cfe8e320be Enable DNS-SD discovery for cast devices (see issue ) 2020-05-25 16:54:45 -04:00
Marshall Greenblatt
7ecaa8afdd Windows: Add VS2019 path discovery to msvs_env.bat (fixes issue ) 2020-05-13 13:23:05 -04:00
Mike Wiedenbauer
8d01442d75 Re-implement audio capturing based on the AudioService API (fixes issue ) 2020-05-01 18:18:18 +00:00
Marshall Greenblatt
d65483ae16 Update cef_api_hash.h at build time if necessary (fixes issue )
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 ) 2020-04-02 13:44:27 -04:00
Marshall Greenblatt
047e8f9349 Update to Chromium version 82.0.4085.0 ()
- 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 ) 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 ) 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 () 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 ) 2020-01-16 15:13:29 +01:00
Marshall Greenblatt
7a701546e1 tools: Convert NULL to nullptr (see issue ) 2020-01-15 14:49:44 +01:00
Marshall Greenblatt
c629c5bb59 Fix tarfile issues by using GNU_FORMAT with Python 3.8 (see issue ) 2020-01-14 11:16:33 +01:00
Marshall Greenblatt
53b98a5022 fix_style: Add Python 3 support (see issue ) 2020-01-13 21:43:18 +01:00
Marshall Greenblatt
f0347f0589 crash_server: Add Python 3 support (see issue ) 2020-01-13 21:30:54 +01:00
Marshall Greenblatt
06a5a5bb36 gn_args: Fix representation of int-type GN_DEFINES values (see issue ) 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 ) 2020-01-13 16:21:09 +01:00
Marshall Greenblatt
1a406d079b Use explicit check for python version (see issue ) 2020-01-13 11:53:36 +01:00
Marshall Greenblatt
3afa29d499 build: Add Python 3 support (see issue ) 2020-01-13 11:47:33 +01:00
Marshall Greenblatt
b98f142e0e gclient_hook: Add Python 3 support (see issue ) 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 ) 2020-01-12 16:17:19 +02:00
Marshall Greenblatt
e1132672ee make_distrib: Add Python 3 support (see issue ) 2020-01-12 13:45:46 +01:00
Marshall Greenblatt
1b85022c58 translator: Add Python 3 support (see issue )
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 ) 2020-01-09 17:16:39 +02:00
Marshall Greenblatt
5792cea985 patch_updater: Add Python 3 support (see issue ) 2020-01-09 17:08:24 +02:00
Marshall Greenblatt
16e8710a81 patcher: Add Python 3 support (see issue ) 2020-01-09 16:42:00 +02:00
Marshall Greenblatt
503ec7c2e6 gn_args: Add Python 3 support (see issue ) 2020-01-09 15:49:11 +02:00
Marshall Greenblatt
11ee7e984c cefbuilds: Add Python 3 support (see issue ) 2020-01-09 15:40:40 +02:00
Marshall Greenblatt
b51a4de540 Windows: Fix cef_sandbox.lib link errors (fixes issue ) 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 ) 2019-10-01 17:13:02 +03:00
Marshall Greenblatt
52c24ed061 Windows: Restore missing resources to binary distribution (fixes issue ) 2019-10-01 17:10:36 +03:00
Marshall Greenblatt
e3723dcda5 Revert "Add ability to capture audio output to buffer (see issue )"
This reverts commit 9f41a27e586a6b557fc171d2f03b332c1338e8d2.

This needs to be reimplemented to support out of process audio (see issue ).
2019-09-20 17:23:33 +03:00
Alexander Guettler
46d3a81ba0 Update to Chromium version 77.0.3865.0 ()
- 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 )"
This reverts commit 2cf916e6d5d45c5ffde9d619899b89e4ee107a28.

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
Marshall Greenblatt
5574d1c32f Windows: Add boringssl to cef_sandbox to fix VS2017 link error (fixes issue ) 2019-08-06 17:20:57 -04:00
Riku Palomäki
cfb4309479 Fix gclient_util after depot_tools changes (fixes issue ) 2019-08-05 18:01:14 +00:00
Ananyo Maiti
1669c0afbd Add print preview support (see issue )
Pass the `--enable-print-preview` command-line flag to enable. Currently only
supported on Windows and Linux.
2019-07-19 21:55:30 -04:00
Petra Öhlin
cc0db5f166 Update to Chromium version 76.0.3809.0 ()
OSR tests will be fixed by a follow-up merge of Viz support (see issue ).
2019-07-16 15:34:16 -04:00
David Sowa
f0c82200ba Add ARM64 build and binary distribution support (see issue )
Adds a new `--arm64-build` option to automate-git.py and make_distrib.py.
2019-06-13 11:52:32 +02:00