145 Commits

Author SHA1 Message Date
Marshall Greenblatt
09b4cbd32c docs: Use README.md as the Doxygen main page (see issue )
Also set FULL_SIDEBAR=NO for consistency with older Doxygen versions where
this option is not supported.
2022-09-05 14:06:23 -04:00
Marshall Greenblatt
8645e88e0e tools: Add make_cppdocs.sh for Linux/MacOS (see issue )
The make_distrib script will now generate Doxygen docs by default
if the doxygen command-line tool is installed. Run with `--no-docs`
(`--no-distrib-docs` with automate-git.py) to disable docs generation.
2022-09-02 11:27:22 -07:00
Marshall Greenblatt
fa2464e843 cmake: Add a Doxygen target to the binary distribution (fixes issue )
This change also writes a docs/index.html file to provide an easier entry point
for loading the documentation from the docs/html directory.
2022-09-02 13:17:30 -04:00
Marshall Greenblatt
14c0f74707 tools: Update make_cppdocs.bat for Doxygen support (see issue ) 2022-09-01 17:21:19 -04:00
Marshall Greenblatt
916360e2e5 Update to Chromium version 102.0.4997.0 ()
- Windows: SDK version 10.0.20348.0 is now required.
- MacOS: SDK version 12.3 (Xcode 13.3) is now required.
- Legacy swiftshader binaries (`swiftshader/*` on Win/Linux and
  `libswiftshader_*.dylib` on MacOS) have been removed (see issue ).
2022-04-26 16:32:20 -04:00
Marshall Greenblatt
b524edc209 Update to Chromium version 101.0.4951.0 ()
Known issues:
- chrome: Some ceftests are failing due to bfcache same-site enabled by default
  (see issue )
2022-03-30 19:54:09 -04:00
Marshall Greenblatt
2f5838eaaa chrome: Add ability to handle chrome menu/keyboard commands (fixes issue )
This change adds a CefCommandHandler::OnChromeCommand callback for optionally
handling Chrome commands triggered via menus or keyboard shortcuts. Supported
command IDs are listed in a new cef_command_ids.h header file.

To test: Run `cefclient --enable-chrome-runtime --hide-controls`. Most commands
will blocked and removed from context menus.
2022-03-22 15:11:47 -04:00
Marshall Greenblatt
9667789621 Generate cef_config.h as a build-time step (fixes issue ) 2022-02-02 12:40:41 -05:00
Marshall Greenblatt
8e39ae2703 Windows: Add abseil-cpp deps to cef_sandbox.lib
Now required due to https://crrev.com/504881812c adding a //base/metrics
dependency on absl::Mutex.
2021-11-16 14:22:58 -05:00
Marshall Greenblatt
582e0a0ab7 Distribute binaries for SwANGLE support (fixes issue )
Adds SwANGLE libraries that are required for software rendering on Windows
and Linux. Updates README.txt documentation accordingly.
2021-09-30 21:22:59 +03:00
Marshall Greenblatt
92f67ee847 Check in fused GTest files
The fuse_gtest_files.py script was removed from GTest in
https://github.com/google/googletest/commit/47f819c3ca.
Consequently we can no longer generate these files at runtime.
2021-08-24 17:43:02 -04:00
Marshall Greenblatt
7efac13ac1 gtest: Add plugin for TeamCity integration
Automatically report unit tests to the TeamCity server if run within TeamCity.
See tests/gtest/teamcity/README.cef for details.

To test: Set the TEAMCITY_PROJECT_NAME environment variable and run ceftests.
2021-06-24 17:00:21 -04:00
Marshall Greenblatt
ae4f68f695 Update to Chromium version 91.0.4472.0 () 2021-04-23 11:38:51 -04:00
Marshall Greenblatt
8424f166cc Use the same pak files for the Alloy and Chrome runtimes (see issue )
Chrome currently uses chrome_100_percent.pak, chrome_200_percent.pak,
resources.pak and locales/<locale>.pak files. This change adds CEF
resources to those existing pak files and updates the Alloy runtime to
use them instead of the previous CEF-specific pak files (cef.pak,
cef_100_percent.pak, cef_200_percent.pak, cef_extensions.pak,
devtools_resources.pak) which are no longer generated.

The addition of Chrome resources results in an ~16% (~4.1MB) increase in total
combined pak file size vs. the previous CEF-specific pak files. While a size
increase is not ideal for the Alloy runtime, it seems preferable to the
alternative of distributing separate (and partially duplicated) pak files for
each runtime, which would have added ~9.8MB to the total binary distribution
size.
2021-02-28 16:51:37 -05:00
Marshall Greenblatt
1d39ff720e Mac: Add Views API support (see issue )
The Chrome browser can now be hosted in a Views-based application on Mac
(see issue ).

To launch a fully-featured Chrome window using cefsimple:
$ open cefsimple.app --args --enable-chrome-runtime

To launch a minimally-styled Views-hosted window using cefsimple:
$ open cefsimple.app --args --use-views [--enable-chrome-runtime]

To launch a fully-styled Views-hosted window using cefclient:
$ open cefclient.app --args --use-views [--enable-chrome-runtime]

Known issues:
- Some Views unit tests are currently failing on Mac.
2021-02-27 12:31:45 -05:00
Marshall Greenblatt
b798147c33 Windows: Add ARM64 distribution support (see issue )
To generate Windows ARM64 builds set the CEF_ENABLE_ARM64=1 environment
variable and pass the "--arm64-build --build-target=cefsimple" command-line
arguments to automate-git.py. We can't build cefclient.exe for ARM64 due to
missing OpenGL library support so build cefsimple.exe instead.
2021-01-11 13:49:39 -05:00
Marshall Greenblatt
71179da2f6 Mac: Add ARM64 configuration support (see issue )
Requires Xcode 12.2 and the MacOS 11.0 SDK. To generate ARM64 builds set
the CEF_ENABLE_ARM64=1 environment variable and replace all usage of
--x64-build with --arm64-build in script command-line arguments.
2020-12-04 15:43:50 -05:00
Marshall Greenblatt
24c2f2fa38 Update to Chromium version 86.0.4240.0 ()
- CefURLRequest::Create is no longer supported in the renderer process
  (see https://crbug.com/891872). Use CefFrame::CreateURLRequest instead.
- Mac platform definitions have been changed from `MACOSX` to `MAC`
  (see https://crbug.com/1105907) and related CMake macro names have
  been updated. The old `OS_MACOSX` define is still set in code and CMake
  for backwards compatibility.
- Linux ARM build is currently broken (see https://crbug.com/1123214).
2020-09-03 17:44:25 -04:00
Marshall Greenblatt
9717d3e1da Add --distrib-subdir-suffix option to make_distrib 2020-08-03 14:37:24 -04: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
Iain Apreotesei
afcee77abe Windows: Add ARM64 binary distribution support (see issue ) 2020-02-19 16:33:27 +00:00
Alexander Guettler
71768ea6c3 Update to Chromium version 80.0.3987.0 () 2020-02-17 13:19:09 -05: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
1a406d079b Use explicit check for python version (see issue ) 2020-01-13 11:53:36 +01:00
Marshall Greenblatt
e1132672ee make_distrib: Add Python 3 support (see issue ) 2020-01-12 13:45:46 +01:00
Marshall Greenblatt
b51a4de540 Windows: Fix cef_sandbox.lib link errors (fixes issue ) 2019-10-29 17:31:17 -04:00
Marshall Greenblatt
52c24ed061 Windows: Restore missing resources to binary distribution (fixes issue ) 2019-10-01 17:10:36 +03: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
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
Marshall Greenblatt
c7701b8a61 Windows: Add arch-specific versions of d3dcompiler_47.dll (see issue )
This fixes an issue where the 64-bit version of d3dcompiler_47.dll would be
included with 32-bit binary distributions.
2019-05-15 14:36:58 +03:00
Marshall Greenblatt
bbabccf9aa Windows: Add d3dcompiler_47.dll version 10.0.17134.12
This change adds the d3dcompiler_47.dll version that was included with Windows
SDK 10.0.17134. The newer version of this file included with Windows SDK
10.0.17763 adds a dependency on the Universal C Runtime (api-ms-win-crt-*.dll)
which might not be installed on Windows 7 (requires KB2999226).
2019-05-07 15:25:25 -04:00
santosh mahto
491253fa03 Linux: Add support for ozone builds (fixes issue ).
Ozone builds can run with different platform backends (Wayland, X11, etc). Usage of the Views framework is required, and the cefclient sample application is not supported.

Example usage:

$ export GN_DEFINES="use_ozone=true"
$ cd /path/to/chromium/src/cef
$ ./cef_create_projects.sh
$ cd /path/to/chromium/src
$ ninja -C out/Release_GN_x64 cefsimple
$ ./out/Release_GN_x64/cefsimple --use-views --ozone-platform=wayland

Binary distributions can be created by passing the `--ozone` flag to make_distrib.py.
2019-04-23 17:00:14 +00:00
Marshall Greenblatt
07863c0d46 Use net/base/net_error_list.h to populate the cef_errorcode_t enum (fixes issue ) 2019-04-16 12:07:33 -04:00
Chris Dziemborowicz
1b9bc33bcf Mac: Fix undefined C++ symbols in cef_sandbox.a (see issue )
This change updates make_distrib.py to link in all of libc++ and libc++abi from the Chromium build when generating cef_sandbox.a. This increases the size of the release build of cef_sandbox.a from about 0.5 MB to about 2.0 MB, but it ensures that no C++ symbols are imported by the archive.

Linking cef_sandbox.a with an incompatible C++ library prior to this change could cause undefined behavior in the resulting binary.

To make sure that we do not regress this fix, this change also updates make_distrib.py to verify that no C++ symbols are imported by cef_sandbox.a after it is generated (in a way similar to the way we verify that cef_sandbox.a exports the correct symbols).
2019-03-16 17:12:19 +00:00
Marshall Greenblatt
2a40650926 Compute all version numbers using cef_version.py (see issue )
The version format can now be controlled by setting the CEF_OLD_VERSION_FORMAT
environment variable. The old format is currently the default.
2019-03-15 13:16:43 -04:00
Marshall Greenblatt
ae317a5bfd macOS: Export only CEF symbols from cef_sandbox.a (issue ) 2019-01-11 11:59:46 +01:00
Marshall Greenblatt
da53451f97 Update to Chromium version 71.0.3567.0 ()
- Configuration of OSR VSync interval is currently missing (issue )
- Rename VERSION to VERSION.in to fix libc++ compile error (issue )
2018-10-04 12:17:26 +03:00
Marshall Greenblatt
dec98a5534 macOS: Add support for and enable the V2 sandbox (issue )
The CEF_USE_SANDBOX define is now used on all platforms.
2018-07-27 22:33:31 -04:00
Marshall Greenblatt
fcad76b405 macOS: Load the CEF framework using dlopen instead of direct linking (issue )
This is a prerequisite for using the Chromium V2 sandbox.
2018-07-27 17:36:49 -04:00
Marshall Greenblatt
a3c55f1d26 Update to Chromium revision 9ef2aa86 () 2018-05-04 10:50:26 +02:00
Marshall Greenblatt
a1f47abaf6 Don't include locales/*.info files in distribution (issue ) 2018-03-28 18:20:10 -04:00
Marshall Greenblatt
a98c6b1f52 Linux: Fix creation of client distribution 2018-03-08 10:55:05 -05:00
Marshall Greenblatt
9e644b7538 Update to Chromium revision bc084a8b () 2018-02-19 17:38:04 -05:00
Marshall Greenblatt
14c030174e Linux: Add missing swiftshader binaries to distribution (issue ) 2017-12-18 11:07:45 -08:00
Marshall Greenblatt
7dcabf547b macOS: Fix build of widevinecdmadapter.plugin (issue ) 2017-12-04 12:41:57 -05:00
Marshall Greenblatt
486e69e23b Windows: Add missing swiftshader binaries to distribution (issue ) 2017-10-30 14:49:25 -04:00
Marshall Greenblatt
b0edce9c9d Windows: Add missing pe_image.lib to cef_sandbox.lib (issue ) 2017-09-20 11:34:30 +02:00
Marshall Greenblatt
a028976ac4 Update to Chromium revision fa6a5d87 () 2017-09-07 17:29:47 -04:00
Marshall Greenblatt
9cff99dc4e Add support for loading extensions (issue )
- Add CefRequestContext::LoadExtension, CefExtension, CefExtensionHandler and
  related methods/interfaces.
- Add chrome://extensions-support that lists supported Chrome APIs.
- Add CefBrowserHost::SetAutoResizeEnabled and CefDisplayHandler::OnAutoResize
  to support browser resize based on preferred web contents size.
- views: Add support for custom CefMenuButton popups.
- cefclient: Run with `--load-extension=set_page_color` command-line flag for
  an extension loading example. Add `--use-views` on Windows and Linux for an
  even better example.
2017-08-25 18:40:32 -04:00