Compare commits

...

138 Commits
3770 ... 3945

Author SHA1 Message Date
Marshall Greenblatt
ecefb59aa8 Add missing current_view_bounds_ member (see issue #2733) 2020-02-22 12:31:41 -05:00
Marshall Greenblatt
b05ffc446b Fix OSR surface sizing on browser resize (fixes issue #2733).
This includes the following changes:
- Update usage of surface IDs to match the Aura implementation from the
  RWHVAura/Window classes.
- Batch CefBrowserHost::WasResized calls to avoid excessive/unnecessary calls
  to SynchronizeVisualProperties.
- Cache the results of CefRenderHandler::GetViewRect after resize and make
  RWHVOSR::GetViewBounds the source of truth for all size calculations.
- Fix bounds calculations in CefVideoConsumerOSR with GPU enabled.

Known issues:
- The size passed to OnPaint may be off by 1 pixel in cases where the device
  scale factor is not 1 and does not divide evenly into the pixel size. This is
  due to the inexact conversion from integer pixel size to integer logical size
  for GetViewRect.
2020-02-21 15:03:26 -05:00
Marshall Greenblatt
90301bdb7f Fix race between OpenInputStreamWrapper Open and Cancel (fixes issue #2843) 2020-01-29 17:37:53 -05:00
Marshall Greenblatt
febbb4adb7 cefsimple: Fix sizing of popup windows with --use-views (see issue #2854) 2020-01-27 20:39:16 -05:00
Marshall Greenblatt
5dd41fd1c1 Update to Chromium version 79.0.3945.130 2020-01-27 18:47:49 -05:00
Marshall Greenblatt
5ee40133ac Linux: Fix crashes on main window close (fixes issue #2831)
Call DesktopWindowTreeHostPlatform::Close after destroying CEF's X11 window
so that objects owned by the WindowTreeHost (Compositor, X11Window, etc) are
properly cleaned up.
2020-01-27 17:43:35 -05:00
Marshall Greenblatt
1d805e5357 macOS: Disable toolchain prompt for tests (see issue #2692) 2020-01-27 17:43:09 -05:00
Marshall Greenblatt
fc9ef34529 Linux: Add CEF_INSTALL_SYSROOT env variable for calling install-sysroot.py (see issue #1990) 2020-01-16 15:22:03 +01:00
Marshall Greenblatt
f3796e2964 Fix crash due to NULL frame during navigation (fixes issue #2772) 2020-01-16 11:21:29 +01:00
Marshall Greenblatt
a5bf6d5484 Fix potential crash in OpenInputStreamWrapper::Open (fixes issue #2808) 2020-01-15 16:47:16 +01:00
Marshall Greenblatt
f272726527 Windows: cmake: Add VS2019 version 16.4 2020-01-14 16:22:56 +01:00
Marshall Greenblatt
d2449e563c Fix tarfile issues by using GNU_FORMAT with Python 3.8 (see issue #2856) 2020-01-14 11:19:45 +01:00
Marshall Greenblatt
50b44dcfea fix_style: Add Python 3 support (see issue #2856) 2020-01-13 21:45:22 +01:00
Marshall Greenblatt
cb2b46f6d7 crash_server: Add Python 3 support (see issue #2856) 2020-01-13 21:45:14 +01:00
Marshall Greenblatt
1dbdf7b9cb gn_args: Fix representation of int-type GN_DEFINES values (see issue #2856) 2020-01-13 17:02:15 +01:00
Marshall Greenblatt
71efeca335 gn_args: Fix Python 3 AttributeError: 'module' object has no attribute 'exc_clear' (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
cc2fc7eaff Use explicit check for python version (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
f527bf312c build: Add Python 3 support (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
f24e1caec9 gclient_hook: Add Python 3 support (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
6dbe2b782f Fix Python 2 TypeError: write() argument 1 must be unicode, not str (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
716121c74a make_distrib: Add Python 3 support (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
29cbaf7e21 Fix incorrectly translated types in capi header comments (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
ca65ff02c4 translator: Add Python 3 support (see issue #2856)
This also fixes incorrect translation of types in capi header comments.
2020-01-13 17:02:14 +01:00
Marshall Greenblatt
b06a408e7f cef_version: Add Python 3 support (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
5eeb26cb76 patch_updater: Add Python 3 support (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
70c5db44d1 patcher: Add Python 3 support (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
d2de1468d8 gn_args: Add Python 3 support (see issue #2856) 2020-01-13 17:02:14 +01:00
Marshall Greenblatt
497033bd8a cefbuilds: Add Python 3 support (see issue #2856) 2020-01-13 17:02:10 +01:00
Yong Li
7ec49fabd5 Remove possibly incorrect CHECK in ProxyURLLoaderFactory::MaybeDestroySelf()
See also commit #81064faa.
2020-01-08 17:11:24 +02:00
Andrei Kurushin
8c1ac9dc42 Fix OSR popup view mouse wheel double event (fixes issue #2547) 2020-01-08 17:02:22 +02:00
Marshall Greenblatt
b3bb1273fe Update to Chromium version 79.0.3945.117 2020-01-08 16:36:27 +02:00
Riku Palomäki
fae3bd1f16 Ignore OSR paint events on hidden views (fixes issue #2817) 2020-01-08 14:41:27 +02:00
Riku Palomäki
a86d586b9f Fix routing of OSR input events inside iframes (fixes issue #2789)
Mouse events need to be routed to the correct view and
CefRenderWidgetHostViewOSR::TransformPointToCoordSpaceForView needs to be
properly implemented for
RenderWidgetHostInputEventRouter::DispatchTouchscreenGestureEvent to
transform event position in the target widget.
2020-01-08 14:41:20 +02:00
elad bahar
767a901be2 Fix OSR rendering recovery after GPU process crash (fixes issue #2827) 2020-01-08 12:33:57 +00:00
Marshall Greenblatt
d3604dea82 Windows: Build the double_conversion target as C++17 (fixes issue #2819)
This works around a bug in the Visual C++ standard library where the
std::is_integral templates are exported instead of inlined when building
with C++14. See also https://bugs.llvm.org/show_bug.cgi?id=42027.
2020-01-07 15:11:25 +02:00
Marshall Greenblatt
a5342ed51c Only create Documents\Downloads dir if necessary (fixes issue #2841) 2020-01-06 17:00:01 +02:00
Marshall Greenblatt
de7b51479e Fix crash when loading a file URL if using CefCookieAccessFilter (fixes issue #2818) 2020-01-06 14:48:11 +02:00
Marshall Greenblatt
3455686ac7 Fix crash when running with --disable-extensions (fixes issue #2852) 2020-01-06 14:21:30 +02:00
Marshall Greenblatt
cded9f4db3 Update copyright year 2020-01-06 12:05:16 +02:00
Marshall Greenblatt
e866a07123 Update to Chromium version 79.0.3945.88 2019-12-31 19:50:39 +02:00
Marshall Greenblatt
ba025c621c Windows: Fix ImportError: No module named win32file (see https://crbug.com/1033106) 2019-12-31 18:50:40 +02:00
Andy Tzeng
6ef19fd061 Check for non-empty string before writing to logger (fixes issue #2825) 2019-12-31 17:49:27 +02:00
Marshall Greenblatt
e8680c0482 Convert usage and tests to the new CefResourceHandler API (see issue #2622)
Limited test coverage for the old API is still available by passing the
`--test-old-resource-api` command-line flag to ceftests.
2019-12-31 16:52:52 +02:00
Marshall Greenblatt
c10886dc25 Fix shutdown crash in InitNetworkContext with multi-threaded message loop (fixes issue #2703) 2019-11-26 16:30:53 -05:00
Riku Palomäki
76da0744f0 Fix OSR scrolling by passing our compositor to the fling scheduler (fixes issue #2745) 2019-11-26 14:05:53 -05:00
Riku Palomäki
d12e990737 Fix crash when resizing an OSR browser window (fixes issue #2614)
(cherry picked from commit feffedbae9)
2019-11-26 14:05:47 -05:00
Masako Toda
0b5365f822 Pass the raw size of pixel data instead of valid area (fixes issue #2733) 2019-11-26 13:30:50 -05:00
Marshall Greenblatt
f4d74643b0 Fix potential OSR crash due to uninitialized host_display_client_ (see issue #2811) 2019-11-26 13:30:44 -05:00
Marshall Greenblatt
eb5fe4ee13 Update to Chromium version 79.0.3945.36 2019-11-19 19:17:53 -05:00
Marshall Greenblatt
f9706f260a Windows: cefclient: Fix assertions with --use-views --multi-threaded-message-loop 2019-11-19 13:29:41 -05:00
Marshall Greenblatt
319de22d89 Allow CefImage usage from any thread 2019-11-19 13:29:33 -05:00
Daniel Nitsche
115f760821 Update to Chromium version 79.0.3945.1 (#706915) 2019-11-19 13:22:13 -05:00
Marshall Greenblatt
b9fc93955c Fix DiscardableSharedMemoryManager crash on shutdown with multi-threaded message loop (fixes issue #2798) 2019-11-06 16:29:34 -05:00
Marshall Greenblatt
f2756b5318 Update API hashes for changes in commit 65f97a6 2019-11-06 15:44:19 -05:00
Marshall Greenblatt
3a8778e2f8 Remove NOTREACHED in CefPostDataElementImpl::Set (fixes issue #2765) 2019-11-06 14:00:38 -05:00
Marshall Greenblatt
58e17b3cdc Fix crash in RemoveFrame on unknown frame_tree_node_id (fixes issue #2799) 2019-11-06 13:17:18 -05:00
Marshall Greenblatt
cc6f285abd Fix GN undefined identifier error on non-Linux platforms 2019-11-05 16:17:10 -05:00
Thomas Preston
04c9bcd802 Linux: Add cef_use_gtk GN variable to optionally disable GTK configuration.
GTK is required to build the cefclient sample application but is not otherwise
required by CEF. This option allows builders to avoid configuring GTK when
building outside of the sysroot environment (with use_sysroot=false). It defaults to false when building inside the sysroot environment.
2019-11-05 21:12:20 +00:00
Marshall Greenblatt
c8d0813669 Restore expected Accept-Language request header order (fixes issue #2796) 2019-11-05 15:29:32 -05:00
Riku Palomäki
9b9a9f359e Linux: Load *.bin files from DIR_ASSETS (see issue #1936) 2019-11-01 14:19:48 +00:00
Marshall Greenblatt
b51a4de540 Windows: Fix cef_sandbox.lib link errors (fixes issue #2792) 2019-10-29 17:31:17 -04:00
Marshall Greenblatt
65f97a60ad Remove the enable-net-security-expiration option (see issue #2622)
The implementation of this option was removed in commit 67b61c4. Certificate
transparency is disabled by default for Chromium embedders. Details at:

https://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md#Supporting-Certificate-Transparency-for-Embedders
2019-10-29 11:36:29 -04:00
Marshall Greenblatt
4f07cba011 Windows: Fix type conversion warning with 64-bit MSVC.
request_handler_unittest.cc(448,55): warning C4267: 'argument':
conversion from 'size_t' to 'int', possible loss of data
2019-10-21 15:34:50 +02:00
Marshall Greenblatt
aad4bf2464 cefclient: Move StringResourceMap to ClientHandler (see issue #2586)
Fixes a DCHECK when creating multiple windows in cefclient due to the creation
of multiple StringResourceProvider objects.
2019-10-18 15:30:56 +02:00
Marshall Greenblatt
329facfbdf cefclient: Fix crash when removing extension resource path prefix.
To test: Run `cefclient.exe --use-views --load-extension=set_page_color`
2019-10-18 15:08:32 +02:00
Marshall Greenblatt
a4b6ef577e Don't set "always on top" style for child CefWindows.
As of https://crrev.com/9e653328e3 the Views framework will apply the "always
on top" (WS_EX_TOPMOST) style by default to widgets created with TYPE_MENU. CEF
uses this type in CefWindowView::CreateWidget to support child windows that are
not clipped to the parent window bounds (currently indicated by returning a
parent window from CefWindowDelegate::GetParentWindow and setting |is_menu| to
true).

Not setting "always on top" shouldn't be a problem except in cases where some
other window is already "always on top" and the child CefWindow is expected to
overlay that window. For this reason any menus created using ShowMenu will
continue to have the "always on top" style.
2019-10-18 15:08:23 +02:00
Marshall Greenblatt
01e75761d3 Remove incorrect DCHECK
There are valid cases where |frame_tree_node_id| may not match the node ID
reported by the selected RenderFrameHost.
2019-10-18 15:08:16 +02:00
Marshall Greenblatt
737ff18498 Remove CefFrame::LoadString method (fixes issue #2586)
This method has not behaved as expected for some time.
2019-10-15 17:34:16 +02:00
Marshall Greenblatt
d28efe8797 Add warning to LoadRequest about INVALID_INITIATOR_ORIGIN (213) failure condition (see issue #2586) 2019-10-15 15:11:46 +02:00
Marshall Greenblatt
b560f04046 Fix printing from iframes (fixes issue #2753) 2019-10-15 13:52:26 +02:00
Marshall Greenblatt
066762217f Add picture-in-picture support for video (fixes issue #2776) 2019-10-15 11:11:59 +00:00
Marshall Greenblatt
1a661a2d15 macOS: cefsimple: Add missing AppKit.framework dependency to GN config 2019-10-14 17:46:54 +02:00
Marshall Greenblatt
aefe9a4195 macOS: Fix Jumbo/component build dependency issue.
Fixes the following error:

In file included from gen/chrome/browser/safe_browsing/safe_browsing_jumbo_1.cc:34:
In file included from ./../../chrome/browser/safe_browsing/download_protection/binary_fcm_service.cc:15:
../../components/gcm_driver/gcm_profile_service.h:18:10: fatal error: 'components/gcm_driver/gcm_buildflags.h' file not found
2019-10-14 17:46:54 +02:00
Mike Wiedenbauer
1d515adc22 Modify CefResponse header methods to match CefRequest API (fixes issue #2770) 2019-10-14 13:49:05 +02:00
Marshall Greenblatt
9cdda243a1 cefsimple: Use data URI instead of LoadString for error messages (see issue #2586) 2019-10-10 11:10:28 +03:00
Marshall Greenblatt
22746985f2 Fix crashes with --disable-extensions (fixes issue #2777) 2019-10-07 11:22:46 +03:00
Marshall Greenblatt
76368bda60 Remove WebUITest.credits because it always times out 2019-10-04 17:59:18 +03:00
Marshall Greenblatt
88ecf49549 Windows: Fix ViewsWindowTest failures due to incorrect client area size (fixes issue #2775)
These tests expect the window's client area size to be (kWSize, kWSize). Use
::AdjustWindowRect to offset TestWindowDelegate's preferred size so that the
client area size is correct after the OS internally applies frame insets during
::CreateWindow.

To test: Run `ceftests.exe --gtest_filter=ViewsWindowTest.Window*`.
All tests should pass.
2019-10-04 17:24:01 +03:00
Marshall Greenblatt
e7b66aa43a Increase URLRequestTest CloseBrowser timeout to reduce flakes (fixes issue #2756)
Tests for incomplete request behavior use a timeout to trigger CloseBrowser
and terminate the test case. Recent architectural changes in Chromium have
likely increased the minimum delay required to spin up a working browser
instance and initiate the request. Consequently we need to wait longer before
closing the browser.

To test:
Run `ceftests --gtest_filter=URLRequestTest.*Incomplete* --gtest_repeat=5`.
All test runs should succeed.
2019-10-04 15:46:27 +03:00
Maksim Sisov
152141d7f4 Remove NOTREACHED that triggers on ozone platforms.
Native frames are not guaranteed to be supported on Ozone/Wayland.
2019-10-04 10:57:29 +00:00
Marshall Greenblatt
466f5e23db Add chrome://process-internals support (see issue #2498) 2019-10-04 13:29:35 +03:00
Marshall Greenblatt
eea1f6be63 Enable strict site isolation by default (see issue #2498)
This restores the default site isolation mode for Chromium on desktop
platforms. Unit tests have been updated to reflect the new behavior
expectations.

Known behavior changes in CEF are as follows:
- A spare renderer process may be created on initial browser creation or cross-
  origin navigation. This spare process may be used with a future cross-origin
  navigation or discarded on application shutdown. As a result
  CefRenderProcessHandler::OnRenderThreadCreated, which is called shortly after
  renderer process creation, can no longer be used to reliably transfer state
  for the currently in-progress navigation. Unit tests have been updated to use
  the CreateBrowser/OnBeforePopup |extra_info| value for transferring test state
  to CefRenderProcessHandler::OnBrowserCreated which will be called in the
  correct/expected renderer process.
- Cross-origin navigations will again receive a new renderer process, as
  expected. This behavior had briefly regressed in M78 due to the
  ProcessSharingWithDefaultSiteInstances feature becoming enabled by default.
- Cross-origin navigations initiated by calling LoadURL in the renderer process
  will now crash that process with "bad IPC message" reason
  INVALID_INITIATOR_ORIGIN (213). This is a security feature implemented in
  Chromium.
- A DevTools browser created using CefBrowserHost::ShowDevTools will receive
  the same CefRenderProcessHandler::OnBrowserCreated |extra_info| value that was
  set via CreateBrowser/OnBeforePopup for the parent browser.
2019-10-03 17:18:01 +03:00
Marshall Greenblatt
5da1649653 macOS: cmake: Prevent Xcode 11 from doing automatic codesigning. 2019-10-03 11:26:55 +03: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
cc0530cbf6 Add missing services strings to pak (fixes issue #2764) 2019-10-02 13:56:17 +03:00
Maksim Sisov
a8263b1b4f Fix ozone build issues (fixes issue #2748) 2019-10-02 09:47:10 +00:00
Marshall Greenblatt
bc5cbcf39b Add Google SafeSearch support with NetworkService (see issue #1917) 2019-10-02 12:33:56 +03: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
ba1b4a41a9 Windows: cmake: Add newer VS versions 2019-10-01 17:10:30 +03:00
Marshall Greenblatt
f8e0797773 Update to Chromium version 78.0.3904.0 (#693954) 2019-10-01 13:55:16 +00:00
Marshall Greenblatt
c8b457da38 Remove audio_output_unittest.cc which no longer exists (see issue #2755, see issue #2381) 2019-09-23 18:52:09 +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
b6b033a52b Windows: cmake: Add additional cef_sandbox link dependencies (fixes issue #2754) 2019-08-30 11:43:58 -04: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
Marshall Greenblatt
8f0a202e0c Fix folder upload with input type=file webkitdirectory (fixes issue #2751) 2019-08-26 15:43:55 -04:00
Marshall Greenblatt
5574d1c32f Windows: Add boringssl to cef_sandbox to fix VS2017 link error (fixes issue #2743) 2019-08-06 17:20:57 -04:00
Riku Palomäki
cfb4309479 Fix gclient_util after depot_tools changes (fixes issue #2736) 2019-08-05 18:01:14 +00:00
Dmitry Azaraev
91f48c5588 Fix missing marshaling for CefSettings::root_cache_path member (fixes issue #2740) 2019-08-05 17:00:09 +00:00
Marshall Greenblatt
67b61c4af9 Remove the old network implementation (see issue #2622)
The `--disable-features=NetworkService` flag is no longer supported.
2019-07-29 17:41:45 -04:00
Marshall Greenblatt
ccb06ce3cb Fix crash on DevTools remote debugging of WebWorkers (fixes issue #2605) 2019-07-26 09:47:11 -04:00
Marshall Greenblatt
2d8d064ce8 Fix missing cookie after redirect response with filter (fixes issue #2689, see issue #2622) 2019-07-25 16:50:30 -04:00
Marshall Greenblatt
4c70c67042 Fix option for persisting session cookies (fixes issue #2720, see issue #2622) 2019-07-25 15:27:15 -04:00
Marshall Greenblatt
d82624411e Fix C compile error due to unintentional C++ include (fixes issue #2728) 2019-07-25 12:57:11 -04:00
Marshall Greenblatt
1d3b911b16 macOS: Fix alert dialog display (fixes issue #2726) 2019-07-25 12:28:41 -04:00
Rob Sussman
c038bf8198 macOS: Support configuration of the main bundle path (fixes issue #2729) 2019-07-25 15:47:46 +00:00
Dmitry Azaraev
30cc80efe3 Fix typo in documentation for CefResourceHandler::Skip 2019-07-25 15:44:23 +00:00
Marshall Greenblatt
ea9bd50fca Fix compile error due to 1669c0af (see issue #123) 2019-07-25 09:17:27 -04:00
Marshall Greenblatt
15fc7e58a8 Fix PDF load in <embed> and <object> tags (fixes issue #2727, see issue #2622) 2019-07-24 17:12:00 -04:00
Marshall Greenblatt
e57acace0b Fix crash on shutdown with PDF viewer and multi-threaded message loop (fixes issue #2709, see issue #2622)
Requests from the PDF viewer are not associated with a CefBrowser. Consequently,
the InterceptedRequestHandler for those requests will register as an observer of
CefContext destruction. When the browser is closed the InterceptedRequestHandler
is destroyed and an async task is posted to remove/delete the observer on the UI
thread. If CefShutdown is then called the task may execute after shutdown has
started, in which case CONTEXT_STATE_VALID() will return false. We still need to
remove the observer in this case to avoid a use-after-free in
FinishShutdownOnUIThread.
2019-07-23 15:27:38 -04:00
Dmitry Azaraev
a697464a33 Fix typo in documentation for cef_settings_t::cache_path. 2019-07-23 19:09:00 +00:00
Marshall Greenblatt
42b259d124 Fix crash when extensions are disabled (fixes issue #2708, see issue #2622) 2019-07-23 12:20:08 -04:00
Marshall Greenblatt
1fd1b320c2 Fix crash when showing views context menu 2019-07-19 21:55:30 -04:00
Ananyo Maiti
1669c0afbd Add print preview support (see issue #123)
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
Marshall Greenblatt
cf87c88b05 Remove unused GetCompositor method and fix macOS compile error (see issue #2575) 2019-07-18 19:41:47 -04:00
Alwin Esch
fafe7a7cfc Update .gitignore to ignore VS and kdevelop project files 2019-07-17 01:10:33 +00:00
Masako Toda
99c27f57b1 Fix redirect of requests with credentials mode 'include' (fixes issue #2699, see issue #2622).
Modifying the URL in OnBeforeResourceLoad causes an internal redirect response.
In cases where the request is cross-origin and credentials mode is 'include'
the redirect response must include the "Access-Control-Allow-Credentials"
header, otherwise the request will be blocked.
2019-07-16 17:43:44 -04:00
Riku Palomäki
367c6eb704 Fix dangling pointers in CefAudioMirrorDestination (fixes issue #2713). 2019-07-16 21:42:39 +00:00
Isaac Devine
1086495096 Fix race with multi-threaded message loop (fixes issue #2668).
Remove the local thread object in favor of setting the ui_thread_ field
directly. This avoids the race between ui_thread_.swap(thread) and
CefUIThread::InitializeBrowserRunner.
2019-07-16 21:42:35 +00:00
Alexander Guettler
17ec55a3b3 Fix dangling pointers in CefScopedArgArray (fixes issue #2704). 2019-07-16 21:42:20 +00:00
Marshall Greenblatt
3f1ebebde5 Add support for GetAuthCredentials (fixes issue #2718, see issue #2622).
When NetworkService is enabled requests created using CefFrame::CreateURLRequest
will call CefRequestHandler::GetAuthCredentials for the associated browser after
calling CefURLRequestClient::GetAuthCredentials if that call returns false.
2019-07-16 16:33:08 -04:00
Alexander Guettler
ac2cc54e13 Add initial Viz implementation for OSR (see issue #2575).
The old shared surface implementation has been removed and will need to be
re-implemented using the Viz code path.
2019-07-16 16:33:08 -04:00
Petra Öhlin
cc0db5f166 Update to Chromium version 76.0.3809.0 (#665002)
OSR tests will be fixed by a follow-up merge of Viz support (see issue #2575).
2019-07-16 15:34:16 -04:00
Marshall Greenblatt
5892ffc382 Remove POST data after redirect to GET (see issue #2707, see issue #2622).
For 303 redirects all request methods except HEAD are converted to GET as per
the latest http draft. For historical reasons the draft also allows POST
requests to be converted to GETs when following 301/302 redirects. Most major
browsers do this and so shall we. When a request is converted to GET any POST
data should also be removed.

Use 307 redirects instead if you want the request to be repeated using the same
method and POST data.
2019-07-11 16:56:51 -04:00
Marshall Greenblatt
45329d05a5 Fix cross-origin redirect from OnBeforeResourceLoad (fixes issue #2695, see issue #2622).
Modifying the URL in OnBeforeResourceLoad causes an internal redirect response.
In cases where the request is cross-origin (containing a non-null "Origin"
header) the redirect response must include the "Access-Control-Allow-Origin"
header, otherwise the request will be blocked.

This change also fixes a problem where existing request headers would be
discarded if the request was modified in OnBeforeResourceLoad.
2019-06-25 16:54:42 -04:00
Marshall Greenblatt
02a6b3bb38 Fix loading of http(s) sub-resources from custom scheme initiator (fixes issue #2685, see issue #2622).
Determine external request status based on the current URL instead of the
request initiator.
2019-06-25 10:50:33 -04:00
Marshall Greenblatt
732a307c75 Fix CefFrame::GetIdentifier value in the render process (fixes issue #2687, see issue #2498) 2019-06-19 16:55:31 +02:00
Marshall Greenblatt
b03a419c6b Fix crash if a pending request is continued after deletion (see issue #2622).
This is a speculative fix for a crash where the pending ResourceRequest appears
to be invalid after the request is continued from SetInitialized.
2019-06-19 15:49:08 +02:00
Marshall Greenblatt
ba08c21517 Fix crashes when a request is aborted during initialization (see issue #2622).
Initialization of request objects requires asynchronous hops between the UI and
IO threads. In some cases the browser may be destroyed, the mojo connection may
be aborted, or the ProxyURLLoaderFactory object may be deleted while
initialization is still in progress. This change fixes crashes and adds unit
tests that try to reproduce these conditions.

To test: Run `ceftests --gtest_repeat=50
              --gtest_filter=ResourceRequestHandlerTest.Basic*Abort*`
2019-06-18 16:21:04 +02:00
Marshall Greenblatt
81064faac3 Fix crash in ProxyURLLoaderFactory::MaybeDestroySelf (see issue #2622).
This is a speculative fix for a crash where |on_disconnect_| appears to be null
in ProxyURLLoaderFactory::MaybeDestroySelf. The hypothesis here is that
OnURLLoaderClientError is being called while the proxy object is still in-flight
to ResourceContextData::AddProxy (e.g. before SetDisconnectCallback has been
called for the proxy object). Additonally, this change protects against
MaybeDestroySelf attempting to execute |on_disconnect_| multiple times.
2019-06-14 18:52:31 +02:00
David Sowa
f0c82200ba Add ARM64 build and binary distribution support (see issue #1990)
Adds a new `--arm64-build` option to automate-git.py and make_distrib.py.
2019-06-13 11:52:32 +02:00
Marshall Greenblatt
c3c3af34fd Fix inclusion of cookies with restarted requests (fixes issue #2672, see issue #2622) 2019-06-12 17:19:09 +02:00
Marshall Greenblatt
dd04583dcb macOS: Don't disable custom libc++ for cef_sandbox build (see issue #2677) 2019-06-12 12:02:50 +02:00
Marshall Greenblatt
0b7c0be29a Use FrameTreeNodeId to find delay loaded iframes for OnBeforeBrowse (fixes issue #2675, see issue #2498) 2019-06-12 11:48:57 +02:00
Marshall Greenblatt
d277dcd5d7 Windows: cmake: Add newer VS versions 2019-06-11 18:12:29 +02:00
Marshall Greenblatt
939e9f40b5 Windows: Disable custom libc++ for cef_sandbox build (fixes issue #2677) 2019-06-11 18:12:23 +02:00
1117 changed files with 13348 additions and 19287 deletions

5
.gitignore vendored
View File

@@ -35,6 +35,7 @@
.metadata
.project
.pydevproject
.vscode
# Settings directory for eclipse
/.settings
.checkstyle
@@ -42,6 +43,10 @@ cscope.*
Session.vim
tags
Thumbs.db
# IDE's
.vs/
.kdev4/
*.kdev4
# CEF generated directories
/binary_distrib
/docs

395
BUILD.gn
View File

@@ -93,13 +93,14 @@
# https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/language.md
#
import("//build/config/allocator.gni")
import("//base/allocator/allocator.gni")
import("//build/config/features.gni")
import("//build/config/locales.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/ui.gni")
import("//cef/cef_repack_locales.gni")
import("//chrome/common/features.gni")
import("//content/public/app/mac_helpers.gni")
import("//extensions/buildflags/buildflags.gni")
import("//media/media_options.gni")
import("//mojo/public/tools/bindings/mojom.gni")
@@ -124,12 +125,125 @@ if (is_mac) {
import("//build/mac/tweak_info_plist.gni")
import("//build/util/version.gni")
import("//media/cdm/library_cdm/cdm_paths.gni")
import("//build/config/mac/base_rules.gni")
# Template to compile .xib and .storyboard files.
#
# Arguments
#
# sources:
# list of string, sources to compile
#
# ibtool_flags:
# (optional) list of string, additional flags to pass to the ibtool
template("compile_ib_files") {
action_foreach(target_name) {
forward_variables_from(invoker,
[
"testonly",
"visibility",
])
assert(defined(invoker.sources),
"sources must be specified for $target_name")
assert(defined(invoker.output_extension),
"output_extension must be specified for $target_name")
ibtool_flags = []
if (defined(invoker.ibtool_flags)) {
ibtool_flags = invoker.ibtool_flags
}
_output_extension = invoker.output_extension
script = "//cef/tools/compile_ib_files.py"
sources = invoker.sources
outputs = [
"$target_gen_dir/$target_name/{{source_name_part}}.$_output_extension",
]
args = [
"--input",
"{{source}}",
"--output",
rebase_path(
"$target_gen_dir/$target_name/{{source_name_part}}.$_output_extension",
root_build_dir),
]
if (!use_system_xcode) {
args += [
"--developer_dir",
hermetic_xcode_path,
]
}
args += ibtool_flags
}
}
# Template to compile and package Mac XIB files as bundle data.
#
# Arguments
#
# sources:
# list of string, sources to comiple
#
# output_path:
# (optional) string, the path to use for the outputs list in the
# bundle_data step. If unspecified, defaults to bundle_resources_dir.
template("mac_xib_bundle_data") {
_target_name = target_name
_compile_target_name = _target_name + "_compile_ibtool"
compile_ib_files(_compile_target_name) {
forward_variables_from(invoker, [ "testonly" ])
visibility = [ ":$_target_name" ]
sources = invoker.sources
output_extension = "nib"
ibtool_flags = [
"--minimum-deployment-target",
mac_deployment_target,
# TODO(rsesek): Enable this once all the bots are on Xcode 7+.
# "--target-device",
# "mac",
]
}
bundle_data(_target_name) {
forward_variables_from(invoker,
[
"testonly",
"visibility",
])
public_deps = [
":$_compile_target_name",
]
sources = get_target_outputs(":$_compile_target_name")
_output_path = "{{bundle_resources_dir}}"
if (defined(invoker.output_path)) {
_output_path = invoker.output_path
}
outputs = [
"$_output_path/{{source_file_part}}",
]
}
}
}
if (is_win) {
import("//build/config/win/console_app.gni")
import("//build/config/win/manifest.gni")
}
if (is_linux) {
declare_args() {
# The cefclient target depends on GTK packages that are not available in the
# default sysroot environment. So we should only use them when we are not
# using the sysroot. Alternatively, the developer might not want to use the
# GTK dependencies at all, in which case they can set `cef_use_gtk=false`.
cef_use_gtk = !use_sysroot
}
}
#
# Verify required global arguments configured via `gn args`.
@@ -138,7 +252,8 @@ if (is_win) {
# Set ENABLE_PRINTING=1 ENABLE_BASIC_PRINTING=1.
assert(enable_basic_printing)
assert(!enable_print_preview)
assert(enable_print_preview)
assert(!enable_service_discovery)
# Enable support for Widevine CDM.
assert(enable_widevine)
@@ -248,6 +363,9 @@ if (is_win) {
"//ppapi/buildflags:buildflags",
"//printing/buildflags:buildflags",
"//ui/base:buildflags",
# Required by content_switches.cc
"//media:media_buildflags",
]
}
}
@@ -255,10 +373,6 @@ if (is_win) {
static_library("libcef_static") {
sources = gypi_paths2.includes_common +
gypi_paths.autogen_cpp_includes + [
"libcef/browser/audio_mirror_destination.cc",
"libcef/browser/audio_mirror_destination.h",
"libcef/browser/audio_push_sink.cc",
"libcef/browser/audio_push_sink.h",
"libcef/browser/browser_context.cc",
"libcef/browser/browser_context.h",
"libcef/browser/browser_context_keyed_service_factories.cc",
@@ -370,43 +484,23 @@ static_library("libcef_static") {
"libcef/browser/navigate_params.h",
"libcef/browser/navigation_entry_impl.cc",
"libcef/browser/navigation_entry_impl.h",
"libcef/browser/net/browser_urlrequest_old_impl.cc",
"libcef/browser/net/browser_urlrequest_old_impl.h",
"libcef/browser/net/chrome_scheme_handler.cc",
"libcef/browser/net/chrome_scheme_handler.h",
"libcef/browser/net/cookie_manager_old_impl.cc",
"libcef/browser/net/cookie_manager_old_impl.h",
"libcef/browser/net/crlset_file_util_impl.cc",
"libcef/browser/net/devtools_scheme_handler.cc",
"libcef/browser/net/devtools_scheme_handler.h",
"libcef/browser/net/internal_scheme_handler.cc",
"libcef/browser/net/internal_scheme_handler.h",
"libcef/browser/net/net_util.cc",
"libcef/browser/net/net_util.h",
"libcef/browser/net/network_delegate.cc",
"libcef/browser/net/network_delegate.h",
"libcef/browser/net/resource_request_job.cc",
"libcef/browser/net/resource_request_job.h",
"libcef/browser/net/scheme_handler.cc",
"libcef/browser/net/scheme_handler.h",
"libcef/browser/net/source_stream.cc",
"libcef/browser/net/source_stream.h",
"libcef/browser/net/url_request_context.cc",
"libcef/browser/net/url_request_context.h",
"libcef/browser/net/url_request_context_getter.cc",
"libcef/browser/net/url_request_context_getter.h",
"libcef/browser/net/url_request_interceptor.cc",
"libcef/browser/net/url_request_interceptor.h",
"libcef/browser/net/url_request_manager.cc",
"libcef/browser/net/url_request_manager.h",
"libcef/browser/net/url_request_user_data.cc",
"libcef/browser/net/url_request_user_data.h",
"libcef/browser/net_service/browser_urlrequest_impl.cc",
"libcef/browser/net_service/browser_urlrequest_impl.h",
"libcef/browser/net_service/cookie_helper.cc",
"libcef/browser/net_service/cookie_helper.h",
"libcef/browser/net_service/cookie_manager_impl.cc",
"libcef/browser/net_service/cookie_manager_impl.h",
"libcef/browser/net_service/login_delegate.cc",
"libcef/browser/net_service/login_delegate.h",
"libcef/browser/net_service/proxy_url_loader_factory.cc",
"libcef/browser/net_service/proxy_url_loader_factory.h",
"libcef/browser/net_service/resource_handler_wrapper.cc",
@@ -423,6 +517,8 @@ static_library("libcef_static") {
"libcef/browser/origin_whitelist_impl.h",
"libcef/browser/osr/browser_platform_delegate_osr.cc",
"libcef/browser/osr/browser_platform_delegate_osr.h",
"libcef/browser/osr/host_display_client_osr.cc",
"libcef/browser/osr/host_display_client_osr.h",
"libcef/browser/osr/motion_event_osr.cc",
"libcef/browser/osr/motion_event_osr.h",
"libcef/browser/osr/osr_accessibility_util.cc",
@@ -431,10 +527,10 @@ static_library("libcef_static") {
"libcef/browser/osr/osr_util.h",
"libcef/browser/osr/render_widget_host_view_osr.cc",
"libcef/browser/osr/render_widget_host_view_osr.h",
"libcef/browser/osr/software_output_device_osr.cc",
"libcef/browser/osr/software_output_device_osr.h",
"libcef/browser/osr/synthetic_gesture_target_osr.cc",
"libcef/browser/osr/synthetic_gesture_target_osr.h",
"libcef/browser/osr/video_consumer_osr.cc",
"libcef/browser/osr/video_consumer_osr.h",
"libcef/browser/osr/web_contents_view_osr.cc",
"libcef/browser/osr/web_contents_view_osr.h",
"libcef/browser/path_util_impl.cc",
@@ -448,17 +544,17 @@ static_library("libcef_static") {
"libcef/browser/prefs/renderer_prefs.h",
"libcef/browser/print_settings_impl.cc",
"libcef/browser/print_settings_impl.h",
"libcef/browser/printing/constrained_window_views_client.cc",
"libcef/browser/printing/constrained_window_views_client.h",
"libcef/browser/printing/printing_message_filter.cc",
"libcef/browser/printing/printing_message_filter.h",
"libcef/browser/printing/print_view_manager.cc",
"libcef/browser/printing/print_view_manager.h",
"libcef/browser/printing/print_view_manager_base.cc",
"libcef/browser/printing/print_view_manager_base.h",
"libcef/browser/process_util_impl.cc",
"libcef/browser/resource_context.cc",
"libcef/browser/resource_context.h",
"libcef/browser/resource_dispatcher_host_delegate.cc",
"libcef/browser/resource_dispatcher_host_delegate.h",
"libcef/browser/request_context_handler_map.cc",
"libcef/browser/request_context_handler_map.h",
"libcef/browser/request_context_impl.cc",
"libcef/browser/request_context_impl.h",
"libcef/browser/scheme_impl.cc",
@@ -478,6 +574,8 @@ static_library("libcef_static") {
"libcef/browser/trace_subscriber.cc",
"libcef/browser/trace_subscriber.h",
"libcef/browser/thread_util.h",
"libcef/browser/web_contents_dialog_helper.cc",
"libcef/browser/web_contents_dialog_helper.h",
"libcef/browser/web_plugin_impl.cc",
"libcef/browser/web_plugin_impl.h",
"libcef/browser/x509_certificate_impl.cc",
@@ -531,13 +629,13 @@ static_library("libcef_static") {
"libcef/common/net/upload_element.h",
"libcef/common/net_service/net_service_util.cc",
"libcef/common/net_service/net_service_util.h",
"libcef/common/net_service/util.cc",
"libcef/common/net_service/util.h",
"libcef/common/parser_impl.cc",
"libcef/common/process_message_impl.cc",
"libcef/common/process_message_impl.h",
"libcef/common/request_impl.cc",
"libcef/common/request_impl.h",
"libcef/common/resource_bundle_delegate.cc",
"libcef/common/resource_bundle_delegate.h",
"libcef/common/resource_bundle_impl.cc",
"libcef/common/resource_bundle_impl.h",
"libcef/common/response_impl.cc",
@@ -596,15 +694,21 @@ static_library("libcef_static") {
"libcef/renderer/render_urlrequest_impl.cc",
"libcef/renderer/render_urlrequest_impl.h",
"libcef/renderer/thread_util.h",
"libcef/renderer/url_loader_throttle_provider_impl.cc",
"libcef/renderer/url_loader_throttle_provider_impl.h",
"libcef/renderer/v8_impl.cc",
"libcef/renderer/v8_impl.h",
"libcef/utility/content_utility_client.cc",
"libcef/utility/content_utility_client.h",
# Part of //chrome/renderer. Not included by that target because CEF builds
# with enable_print_preview=0.
"//chrome/renderer/pepper/chrome_pdf_print_client.cc",
"//chrome/renderer/pepper/chrome_pdf_print_client.h",
"//chrome/browser/local_discovery/service_discovery_device_lister.cc",
"//chrome/browser/local_discovery/service_discovery_device_lister.h",
"//chrome/browser/local_discovery/service_discovery_client_impl.cc",
"//chrome/browser/local_discovery/service_discovery_client_impl.h",
"//chrome/browser/local_discovery/service_discovery_client.cc",
"//chrome/browser/local_discovery/service_discovery_client.h",
"//chrome/browser/local_discovery/service_discovery_client_mdns.cc",
"//chrome/browser/local_discovery/service_discovery_client_mdns.h",
"//chrome/browser/local_discovery/service_discovery_shared_client.cc",
"//chrome/browser/local_discovery/service_discovery_shared_client.h",
]
configs += [
@@ -657,7 +761,7 @@ static_library("libcef_static") {
"//components/content_settings/core/common",
"//components/crx_file",
"//components/data_use_measurement/core",
"//components/google/core/browser",
"//components/google/core/common",
"//components/keyed_service/content:content",
"//components/keyed_service/core:core",
"//components/navigation_interception",
@@ -671,8 +775,8 @@ static_library("libcef_static") {
"//components/printing/renderer",
"//components/proxy_config",
"//components/safe_browsing/db:test_database_manager",
"//components/services/pdf_compositor/public/cpp:factory",
"//components/services/pdf_compositor/public/interfaces",
"//components/services/pdf_compositor/public/cpp",
"//components/services/pdf_compositor/public/mojom",
"//components/tracing",
"//components/update_client",
"//components/url_formatter",
@@ -763,7 +867,7 @@ static_library("libcef_static") {
deps += [
"//chrome/install_static:secondary_module",
"//chrome_elf",
"//chrome/chrome_elf",
]
if (is_component_build) {
@@ -825,7 +929,6 @@ static_library("libcef_static") {
"libcef/browser/native/menu_runner_mac.mm",
"libcef/browser/osr/browser_platform_delegate_osr_mac.h",
"libcef/browser/osr/browser_platform_delegate_osr_mac.mm",
"libcef/browser/osr/render_widget_host_view_osr_mac.mm",
"libcef/common/util_mac.h",
"libcef/common/util_mac.mm",
]
@@ -855,6 +958,12 @@ static_library("libcef_static") {
deps += [ "//tools/v8_context_snapshot" ]
}
if (toolkit_views) {
deps += [
"//ui/views",
]
}
if (use_aura) {
sources += [
"libcef/browser/native/window_delegate_view.cc",
@@ -930,8 +1039,6 @@ static_library("libcef_static") {
if (is_linux && !use_x11) {
sources += [
"//ui/aura/test/mus/window_tree_client_test_api.h",
"//ui/aura/test/mus/window_tree_client_test_api.cc",
"//ui/aura/test/ui_controls_factory_ozone.cc",
"//ui/events/test/events_test_utils.cc"
]
@@ -947,7 +1054,6 @@ static_library("libcef_static") {
if (toolkit_views) {
deps += [
"//ui/views",
"//ui/views/controls/webview",
]
}
@@ -1077,32 +1183,14 @@ source_set("cef_content_browser_overlay_manifest") {
deps = [
"//base",
"//components/services/heap_profiling/public/mojom",
"//extensions/buildflags",
"//extensions/common:mojo",
"//extensions/common:mojom",
"//extensions/common/api:mojom",
"//services/service_manager/public/cpp",
"//third_party/blink/public/common",
]
}
source_set("cef_content_gpu_overlay_manifest") {
sources = [
"libcef/common/service_manifests/cef_content_gpu_overlay_manifest.cc",
"libcef/common/service_manifests/cef_content_gpu_overlay_manifest.h",
]
configs += [
"libcef/features:config"
]
deps = [
"//base",
"//components/services/heap_profiling/public/mojom",
"//services/service_manager/public/cpp",
]
}
source_set("cef_content_renderer_overlay_manifest") {
sources = [
"libcef/common/service_manifests/cef_content_renderer_overlay_manifest.cc",
@@ -1115,86 +1203,18 @@ source_set("cef_content_renderer_overlay_manifest") {
deps = [
"//base",
"//components/services/heap_profiling/public/mojom",
"//components/subresource_filter/content/mojom",
"//extensions/buildflags",
"//extensions/common:mojo",
"//extensions/common:mojom",
"//services/service_manager/public/cpp",
"//third_party/blink/public/common",
]
if (is_mac) {
deps += [ "//components/spellcheck/common:interfaces" ]
}
}
source_set("cef_content_utility_overlay_manifest") {
sources = [
"libcef/common/service_manifests/cef_content_utility_overlay_manifest.cc",
"libcef/common/service_manifests/cef_content_utility_overlay_manifest.h",
]
configs += [
"libcef/features:config"
]
deps = [
"//base",
"//components/services/heap_profiling/public/mojom",
"//services/service_manager/public/cpp",
]
}
source_set("cef_packaged_service_manifests") {
sources = [
"libcef/common/service_manifests/cef_packaged_service_manifests.cc",
"libcef/common/service_manifests/cef_packaged_service_manifests.h",
]
configs += [
"libcef/features:config"
]
deps = [
"//base",
"//chrome/common:mojo_bindings",
"//chrome/services/printing/public/cpp:manifest",
"//components/services/pdf_compositor/public/cpp:manifest",
"//components/spellcheck/common:interfaces",
"//components/startup_metric_utils/common:interfaces",
"//extensions/buildflags",
"//printing/buildflags",
"//services/proxy_resolver/public/cpp:manifest",
"//services/service_manager/public/cpp",
]
}
source_set("cef_renderer_manifest") {
sources = [
"libcef/common/service_manifests/cef_renderer_manifest.cc",
"libcef/common/service_manifests/cef_renderer_manifest.h",
]
configs += [
"libcef/features:config"
]
deps = [
"//base",
"//chrome/common:mojo_bindings",
"//components/spellcheck/common:interfaces",
"//services/service_manager/public/cpp",
]
}
source_set("cef_service_manifests") {
public_deps = [
":cef_content_browser_overlay_manifest",
":cef_content_gpu_overlay_manifest",
":cef_content_renderer_overlay_manifest",
":cef_content_utility_overlay_manifest",
":cef_packaged_service_manifests",
":cef_renderer_manifest",
]
}
@@ -1351,6 +1371,7 @@ repack("pak") {
sources = [
"$root_gen_dir/chrome/browser_resources.pak",
"$root_gen_dir/chrome/net_internals_resources.pak",
"$root_gen_dir/chrome/print_preview_resources.pak",
"$root_gen_dir/chrome/common_resources.pak",
"$root_gen_dir/components/components_resources.pak",
"$root_gen_dir/cef/cef_resources.pak",
@@ -1366,6 +1387,7 @@ repack("pak") {
public_deps = [
"//chrome/browser:resources",
"//chrome/browser/resources:net_internals_resources",
"//chrome/browser/resources:print_preview_resources",
"//chrome/common:resources",
"//components/resources:components_resources",
":cef_resources",
@@ -1440,8 +1462,9 @@ make_pack_header("strings") {
"$root_gen_dir/chrome/grit/locale_settings.h",
"$root_gen_dir/chrome/grit/platform_locale_settings.h",
"$root_gen_dir/components/strings/grit/components_strings.h",
"$root_gen_dir/content/app/strings/grit/content_strings.h",
"$root_gen_dir/extensions/strings/grit/extensions_strings.h",
"$root_gen_dir/services/strings/grit/services_strings.h",
"$root_gen_dir/third_party/blink/public/strings/grit/blink_strings.h",
"$root_gen_dir/ui/strings/grit/ui_strings.h",
]
}
@@ -1698,32 +1721,60 @@ if (is_mac) {
]
}
mac_app_bundle("${app_name}_helper_app") {
testonly = app_testonly
output_name = app_helper_name
template("cef_helper_app") {
mac_app_bundle(target_name) {
assert(defined(invoker.helper_sources))
assert(defined(invoker.helper_name_suffix))
assert(defined(invoker.helper_bundle_id_suffix))
sources = invoker.helper_sources
testonly = app_testonly
output_name = app_helper_name + invoker.helper_name_suffix
deps = [
":cef_make_headers",
":cef_sandbox",
":libcef_dll_wrapper",
]
if (defined(invoker.helper_deps)) {
deps += invoker.helper_deps
sources = invoker.helper_sources
extra_substitutions = [
"BUNDLE_ID_SUFFIX=${invoker.helper_bundle_id_suffix}",
]
deps = [
":cef_make_headers",
":cef_sandbox",
":libcef_dll_wrapper",
]
if (defined(invoker.helper_deps)) {
deps += invoker.helper_deps
}
ldflags = [
# The helper is in $app_name.app/Contents/Frameworks/$app_name Helper.app/Contents/MacOS/
# so set rpath up to the base.
"-rpath",
"@executable_path/../../../../../..",
]
info_plist_target = ":${app_name}_helper_plist"
if (defined(invoker.helper_defines)) {
defines = invoker.helper_defines
}
}
}
ldflags = [
# The helper is in $app_name.app/Contents/Frameworks/$app_name Helper.app/Contents/MacOS/
# so set rpath up to the base.
"-rpath",
"@executable_path/../../../../../..",
]
foreach(helper_params, content_mac_helpers) {
_helper_target = helper_params[0]
_helper_bundle_id = helper_params[1]
_helper_suffix = helper_params[2]
cef_helper_app("${app_name}_helper_app_${_helper_target}") {
helper_sources = invoker.helper_sources
if (defined(invoker.helper_deps)) {
helper_deps = invoker.helper_deps
}
if (defined(invoker.helper_defines)) {
helper_defines = invoker.helper_defines
}
info_plist_target = ":${app_name}_helper_plist"
if (defined(invoker.helper_defines)) {
defines = invoker.helper_defines
helper_name_suffix = _helper_suffix
helper_bundle_id_suffix = _helper_bundle_id
}
}
@@ -1731,14 +1782,19 @@ if (is_mac) {
testonly = app_testonly
sources = [
"$root_out_dir/$cef_framework_name.framework",
"$root_out_dir/$app_helper_name.app",
]
public_deps = [
":cef_framework",
":${app_name}_helper_app",
]
foreach(helper_params, content_mac_helpers) {
sources += [
"$root_out_dir/${app_helper_name}${helper_params[2]}.app",
]
public_deps += [ ":${app_name}_helper_app_${helper_params[0]}" ]
}
outputs = [
"{{bundle_contents_dir}}/Frameworks/{{source_file_part}}",
]
@@ -1891,7 +1947,6 @@ if (is_mac) {
sources = [
"tests/cefsimple/mac/English.lproj/MainMenu.xib",
]
output_path = "{{bundle_resources_dir}}/English.lproj"
}
@@ -1918,6 +1973,9 @@ if (is_mac) {
":cefsimple_resources_bundle_data_english",
":cefsimple_xibs",
]
libs = [
"AppKit.framework",
]
defines = [
"CEF_USE_SANDBOX",
]
@@ -1952,7 +2010,6 @@ if (is_mac) {
sources = [
"tests/ceftests/resources/mac/English.lproj/MainMenu.xib",
]
output_path = "{{bundle_resources_dir}}/English.lproj"
}
@@ -2007,7 +2064,9 @@ if (is_mac) {
"glib-2.0",
]
}
}
if (is_linux && cef_use_gtk) {
pkg_config("gtk") {
packages = [
"gmodule-2.0",
@@ -2044,12 +2103,9 @@ if (is_mac) {
gypi_paths2.shared_sources_browser +
gypi_paths2.shared_sources_common +
gypi_paths2.shared_sources_renderer +
gypi_paths2.shared_sources_resources +
gypi_paths2.cefclient_sources_browser +
gypi_paths2.cefclient_sources_common +
gypi_paths2.cefclient_sources_renderer +
gypi_paths2.cefclient_sources_resources +
gypi_paths2.cefclient_sources_resources_extensions_set_page_color
gypi_paths2.cefclient_sources_renderer
deps = [
":libcef",
@@ -2104,7 +2160,7 @@ if (is_mac) {
"X11",
]
if (!use_sysroot) {
if (cef_use_gtk) {
configs += [
":gtk",
":gtkglext",
@@ -2200,7 +2256,6 @@ if (is_mac) {
gypi_paths2.shared_sources_browser +
gypi_paths2.shared_sources_common +
gypi_paths2.shared_sources_renderer +
gypi_paths2.shared_sources_resources +
gypi_paths2.ceftests_sources_common +
gypi_paths2.ceftests_sources_views

View File

@@ -7,5 +7,5 @@
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{
'chromium_checkout': 'refs/tags/75.0.3770.0'
'chromium_checkout': 'refs/tags/79.0.3945.130'
}

View File

@@ -58,6 +58,7 @@
'content/shell/utility/shell_*',
'extensions/shell/*',
'net/cookies/cookie_store.h',
'ui/base/ui_base_features.cc',
],
# Patterns that should not be found in the chromium/src directory after
# applying patch files.

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2008-2014 Marshall A. Greenblatt. Portions Copyright (c)
// Copyright (c) 2008-2020 Marshall A. Greenblatt. Portions Copyright (c)
// 2006-2009 Google Inc. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2019 The Chromium Embedded Framework Authors. All rights
# Copyright (c) 2020 The Chromium Embedded Framework Authors. All rights
# reserved. Use of this source code is governed by a BSD-style license that
# can be found in the LICENSE file.
#
@@ -8,7 +8,7 @@
# by hand. See the translator.README.txt file in the tools directory for
# more information.
#
# $hash=a8e80ae73a0d30776c2e6aaceaf9dbd4031f6c74$
# $hash=98198bc4243deb46c848735f0d5499aa4891e535$
#
{
@@ -16,7 +16,6 @@
'autogen_cpp_includes': [
'include/cef_accessibility_handler.h',
'include/cef_app.h',
'include/cef_audio_handler.h',
'include/cef_auth_callback.h',
'include/cef_browser.h',
'include/cef_browser_process_handler.h',
@@ -110,7 +109,6 @@
'autogen_capi_includes': [
'include/capi/cef_accessibility_handler_capi.h',
'include/capi/cef_app_capi.h',
'include/capi/cef_audio_handler_capi.h',
'include/capi/cef_auth_callback_capi.h',
'include/capi/cef_browser_capi.h',
'include/capi/cef_browser_process_handler_capi.h',
@@ -206,8 +204,6 @@
'libcef_dll/ctocpp/accessibility_handler_ctocpp.h',
'libcef_dll/ctocpp/app_ctocpp.cc',
'libcef_dll/ctocpp/app_ctocpp.h',
'libcef_dll/ctocpp/audio_handler_ctocpp.cc',
'libcef_dll/ctocpp/audio_handler_ctocpp.h',
'libcef_dll/cpptoc/auth_callback_cpptoc.cc',
'libcef_dll/cpptoc/auth_callback_cpptoc.h',
'libcef_dll/cpptoc/before_download_callback_cpptoc.cc',
@@ -498,8 +494,6 @@
'libcef_dll/cpptoc/accessibility_handler_cpptoc.h',
'libcef_dll/cpptoc/app_cpptoc.cc',
'libcef_dll/cpptoc/app_cpptoc.h',
'libcef_dll/cpptoc/audio_handler_cpptoc.cc',
'libcef_dll/cpptoc/audio_handler_cpptoc.h',
'libcef_dll/ctocpp/auth_callback_ctocpp.cc',
'libcef_dll/ctocpp/auth_callback_ctocpp.h',
'libcef_dll/ctocpp/before_download_callback_ctocpp.cc',

View File

@@ -71,6 +71,7 @@
'include/wrapper/cef_library_loader.h',
],
'includes_win': [
'include/base/internal/cef_atomicops_arm64_msvc.h',
'include/base/internal/cef_atomicops_x86_msvc.h',
'include/base/internal/cef_bind_internal_win.h',
'include/cef_sandbox_win.h',
@@ -88,6 +89,7 @@
'includes_linux': [
'include/base/internal/cef_atomicops_atomicword_compat.h',
'include/base/internal/cef_atomicops_arm_gcc.h',
'include/base/internal/cef_atomicops_arm64_gcc.h',
'include/base/internal/cef_atomicops_x86_gcc.h',
'include/internal/cef_linux.h',
'include/internal/cef_types_linux.h',
@@ -351,9 +353,11 @@
'tests/cefclient/browser/window_test_runner_win.cc',
'tests/cefclient/browser/window_test_runner_win.h',
'tests/cefclient/cefclient_win.cc',
'tests/cefclient/resources/win/cefclient.rc',
],
'cefclient_sources_resources_win': [
'tests/cefclient/resources/win/cefclient.exe.manifest',
'tests/cefclient/resources/win/cefclient.ico',
'tests/cefclient/resources/win/cefclient.rc',
'tests/cefclient/resources/win/small.ico',
],
'cefclient_sources_mac': [
@@ -423,11 +427,13 @@
'tests/cefsimple/simple_handler.h',
],
'cefsimple_sources_win': [
'tests/cefsimple/cefsimple.exe.manifest',
'tests/cefsimple/cefsimple.rc',
'tests/cefsimple/cefsimple_win.cc',
'tests/cefsimple/simple_handler_win.cc',
'tests/cefsimple/resource.h',
],
'cefsimple_sources_resources_win': [
'tests/cefsimple/cefsimple.exe.manifest',
'tests/cefsimple/res/cefsimple.ico',
'tests/cefsimple/res/small.ico',
],
@@ -449,7 +455,6 @@
'tests/cefsimple/simple_handler_linux.cc',
],
'ceftests_sources_common': [
'tests/ceftests/audio_output_unittest.cc',
'tests/ceftests/browser_info_map_unittest.cc',
'tests/ceftests/command_line_unittest.cc',
'tests/ceftests/cookie_unittest.cc',
@@ -485,6 +490,7 @@
'tests/ceftests/request_context_unittest.cc',
'tests/ceftests/request_handler_unittest.cc',
'tests/ceftests/request_unittest.cc',
'tests/ceftests/response_unittest.cc',
'tests/ceftests/resource.h',
'tests/ceftests/resource_manager_unittest.cc',
'tests/ceftests/resource_request_handler_unittest.cc',
@@ -530,9 +536,11 @@
],
'ceftests_sources_win': [
'tests/ceftests/resource_util_win_idmap.cc',
'tests/ceftests/resources/win/ceftests.rc',
],
'ceftests_sources_resources_win': [
'tests/ceftests/resources/win/ceftests.exe.manifest',
'tests/ceftests/resources/win/ceftests.ico',
'tests/ceftests/resources/win/ceftests.rc',
'tests/ceftests/resources/win/small.ico',
],
'ceftests_sources_mac': [
@@ -557,6 +565,7 @@
'tests/ceftests/process_message_unittest.cc',
'tests/ceftests/request_handler_unittest.cc',
'tests/ceftests/request_unittest.cc',
'tests/ceftests/response_unittest.cc',
'tests/ceftests/resource_request_handler_unittest.cc',
'tests/ceftests/routing_test_handler.cc',
'tests/ceftests/routing_test_handler.h',

View File

@@ -36,8 +36,9 @@ template("_repack_one_locale") {
"${root_gen_dir}/chrome/platform_locale_settings_${locale}.pak",
"${root_gen_dir}/components/strings/components_locale_settings_${locale}.pak",
"${root_gen_dir}/components/strings/components_strings_${locale}.pak",
"${root_gen_dir}/content/app/strings/content_strings_${locale}.pak",
"${root_gen_dir}/extensions/strings/extensions_strings_${locale}.pak",
"${root_gen_dir}/services/strings/services_strings_${locale}.pak",
"${root_gen_dir}/third_party/blink/public/strings/blink_strings_${locale}.pak",
"${root_gen_dir}/ui/strings/app_locale_settings_${locale}.pak",
"${root_gen_dir}/ui/strings/ui_strings_${locale}.pak",
]
@@ -53,8 +54,9 @@ template("_repack_one_locale") {
"//chrome/app/resources:platform_locale_settings",
"//components/strings:components_locale_settings",
"//components/strings:components_strings",
"//content/app/strings",
"//extensions/strings",
"//services/strings",
"//third_party/blink/public/strings",
"//ui/strings:app_locale_settings",
"//ui/strings:ui_strings",
]

View File

@@ -332,6 +332,9 @@ if(OS_MACOSX)
set(CMAKE_OSX_ARCHITECTURES "i386")
endif()
# Prevent Xcode 11 from doing automatic codesigning.
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
# CEF directory paths.
set(CEF_BINARY_DIR "${_CEF_ROOT}/$<CONFIGURATION>")
set(CEF_BINARY_DIR_DEBUG "${_CEF_ROOT}/Debug")
@@ -346,6 +349,15 @@ if(OS_MACOSX)
set(CEF_SANDBOX_LIB_DEBUG "${CEF_BINARY_DIR_DEBUG}/cef_sandbox.a")
set(CEF_SANDBOX_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/cef_sandbox.a")
endif()
# CEF Helper app suffixes.
# Format is "<name suffix>:<target suffix>:<plist suffix>".
set(CEF_HELPER_APP_SUFFIXES
"::"
" (GPU):_gpu:.gpu"
" (Plugin):_plugin:.plugin"
" (Renderer):_renderer:.renderer"
)
endif()
@@ -374,6 +386,12 @@ if(OS_WINDOWS)
1913 # VS2017 version 15.6
1914 # VS2017 version 15.7
1915 # VS2017 version 15.8
1916 # VS2017 version 15.9
1920 # VS2019 version 16.0
1921 # VS2019 version 16.1
1922 # VS2019 version 16.2
1923 # VS2019 version 16.3
1924 # VS2019 version 16.4
)
list(FIND supported_msvc_versions ${MSVC_VERSION} _index)
if (${_index} EQUAL -1)
@@ -489,7 +507,11 @@ if(OS_WINDOWS)
# Libraries required by cef_sandbox.lib.
set(CEF_SANDBOX_STANDARD_LIBS
dbghelp.lib
Delayimp.lib
PowrProf.lib
Propsys.lib
psapi.lib
SetupAPI.lib
version.lib
wbemuuid.lib
winmm.lib

View File

@@ -178,10 +178,14 @@ Atomic64 Release_Load(volatile const Atomic64* ptr);
// Include our platform specific implementation.
#if defined(OS_WIN) && defined(COMPILER_MSVC) && defined(ARCH_CPU_X86_FAMILY)
#include "include/base/internal/cef_atomicops_x86_msvc.h"
#elif defined(OS_WIN) && defined(__ARM_ARCH_ISA_A64)
#include "include/base/internal/cef_atomicops_arm64_msvc.h"
#elif defined(OS_MACOSX)
#include "include/base/internal/cef_atomicops_mac.h"
#elif defined(COMPILER_GCC) && defined(ARCH_CPU_X86_FAMILY)
#include "include/base/internal/cef_atomicops_x86_gcc.h"
#elif defined(COMPILER_GCC) && defined(__ARM_ARCH_ISA_A64)
#include "include/base/internal/cef_atomicops_arm64_gcc.h"
#elif defined(COMPILER_GCC) && defined(__ARM_ARCH)
#include "include/base/internal/cef_atomicops_arm_gcc.h"
#else

View File

@@ -0,0 +1,335 @@
// Copyright (c) 2012 Google Inc. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the name Chromium Embedded
// Framework nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Do not include this header file directly. Use base/cef_atomicops.h
// instead.
#ifndef CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_GCC_H_
#define CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_GCC_H_
namespace base {
namespace subtle {
inline void MemoryBarrier() {
__asm__ __volatile__ ("dmb ish" ::: "memory"); // NOLINT
}
// NoBarrier versions of the operation include "memory" in the clobber list.
// This is not required for direct usage of the NoBarrier versions of the
// operations. However this is required for correctness when they are used as
// part of the Acquire or Release versions, to ensure that nothing from outside
// the call is reordered between the operation and the memory barrier. This does
// not change the code generated, so has no or minimal impact on the
// NoBarrier operations.
inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
Atomic32 prev;
int32_t temp;
__asm__ __volatile__ ( // NOLINT
"0: \n\t"
"ldxr %w[prev], %[ptr] \n\t" // Load the previous value.
"cmp %w[prev], %w[old_value] \n\t"
"bne 1f \n\t"
"stxr %w[temp], %w[new_value], %[ptr] \n\t" // Try to store the new value.
"cbnz %w[temp], 0b \n\t" // Retry if it did not work.
"1: \n\t"
: [prev]"=&r" (prev),
[temp]"=&r" (temp),
[ptr]"+Q" (*ptr)
: [old_value]"IJr" (old_value),
[new_value]"r" (new_value)
: "cc", "memory"
); // NOLINT
return prev;
}
inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
Atomic32 new_value) {
Atomic32 result;
int32_t temp;
__asm__ __volatile__ ( // NOLINT
"0: \n\t"
"ldxr %w[result], %[ptr] \n\t" // Load the previous value.
"stxr %w[temp], %w[new_value], %[ptr] \n\t" // Try to store the new value.
"cbnz %w[temp], 0b \n\t" // Retry if it did not work.
: [result]"=&r" (result),
[temp]"=&r" (temp),
[ptr]"+Q" (*ptr)
: [new_value]"r" (new_value)
: "memory"
); // NOLINT
return result;
}
inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
Atomic32 increment) {
Atomic32 result;
int32_t temp;
__asm__ __volatile__ ( // NOLINT
"0: \n\t"
"ldxr %w[result], %[ptr] \n\t" // Load the previous value.
"add %w[result], %w[result], %w[increment]\n\t"
"stxr %w[temp], %w[result], %[ptr] \n\t" // Try to store the result.
"cbnz %w[temp], 0b \n\t" // Retry on failure.
: [result]"=&r" (result),
[temp]"=&r" (temp),
[ptr]"+Q" (*ptr)
: [increment]"IJr" (increment)
: "memory"
); // NOLINT
return result;
}
inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
Atomic32 increment) {
Atomic32 result;
MemoryBarrier();
result = NoBarrier_AtomicIncrement(ptr, increment);
MemoryBarrier();
return result;
}
inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
Atomic32 prev;
prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
MemoryBarrier();
return prev;
}
inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
Atomic32 prev;
MemoryBarrier();
prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
return prev;
}
inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
*ptr = value;
}
inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
*ptr = value;
MemoryBarrier();
}
inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) {
__asm__ __volatile__ ( // NOLINT
"stlr %w[value], %[ptr] \n\t"
: [ptr]"=Q" (*ptr)
: [value]"r" (value)
: "memory"
); // NOLINT
}
inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
return *ptr;
}
inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
Atomic32 value;
__asm__ __volatile__ ( // NOLINT
"ldar %w[value], %[ptr] \n\t"
: [value]"=r" (value)
: [ptr]"Q" (*ptr)
: "memory"
); // NOLINT
return value;
}
inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
MemoryBarrier();
return *ptr;
}
// 64-bit versions of the operations.
// See the 32-bit versions for comments.
inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
Atomic64 old_value,
Atomic64 new_value) {
Atomic64 prev;
int32_t temp;
__asm__ __volatile__ ( // NOLINT
"0: \n\t"
"ldxr %[prev], %[ptr] \n\t"
"cmp %[prev], %[old_value] \n\t"
"bne 1f \n\t"
"stxr %w[temp], %[new_value], %[ptr] \n\t"
"cbnz %w[temp], 0b \n\t"
"1: \n\t"
: [prev]"=&r" (prev),
[temp]"=&r" (temp),
[ptr]"+Q" (*ptr)
: [old_value]"IJr" (old_value),
[new_value]"r" (new_value)
: "cc", "memory"
); // NOLINT
return prev;
}
inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr,
Atomic64 new_value) {
Atomic64 result;
int32_t temp;
__asm__ __volatile__ ( // NOLINT
"0: \n\t"
"ldxr %[result], %[ptr] \n\t"
"stxr %w[temp], %[new_value], %[ptr] \n\t"
"cbnz %w[temp], 0b \n\t"
: [result]"=&r" (result),
[temp]"=&r" (temp),
[ptr]"+Q" (*ptr)
: [new_value]"r" (new_value)
: "memory"
); // NOLINT
return result;
}
inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr,
Atomic64 increment) {
Atomic64 result;
int32_t temp;
__asm__ __volatile__ ( // NOLINT
"0: \n\t"
"ldxr %[result], %[ptr] \n\t"
"add %[result], %[result], %[increment] \n\t"
"stxr %w[temp], %[result], %[ptr] \n\t"
"cbnz %w[temp], 0b \n\t"
: [result]"=&r" (result),
[temp]"=&r" (temp),
[ptr]"+Q" (*ptr)
: [increment]"IJr" (increment)
: "memory"
); // NOLINT
return result;
}
inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr,
Atomic64 increment) {
Atomic64 result;
MemoryBarrier();
result = NoBarrier_AtomicIncrement(ptr, increment);
MemoryBarrier();
return result;
}
inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr,
Atomic64 old_value,
Atomic64 new_value) {
Atomic64 prev;
prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
MemoryBarrier();
return prev;
}
inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr,
Atomic64 old_value,
Atomic64 new_value) {
Atomic64 prev;
MemoryBarrier();
prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value);
return prev;
}
inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) {
*ptr = value;
}
inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) {
*ptr = value;
MemoryBarrier();
}
inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) {
__asm__ __volatile__ ( // NOLINT
"stlr %x[value], %[ptr] \n\t"
: [ptr]"=Q" (*ptr)
: [value]"r" (value)
: "memory"
); // NOLINT
}
inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) {
return *ptr;
}
inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) {
Atomic64 value;
__asm__ __volatile__ ( // NOLINT
"ldar %x[value], %[ptr] \n\t"
: [value]"=r" (value)
: [ptr]"Q" (*ptr)
: "memory"
); // NOLINT
return value;
}
inline Atomic64 Release_Load(volatile const Atomic64* ptr) {
MemoryBarrier();
return *ptr;
}
} } // namespace base::subtle
#endif // CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_GCC_H_

View File

@@ -0,0 +1,197 @@
// Copyright (c) 2008 Google Inc. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the name Chromium Embedded
// Framework nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Do not include this header file directly. Use base/cef_atomicops.h
// instead.
#ifndef CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_MSVC_H_
#define CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_MSVC_H_
#include <windows.h>
#include <intrin.h>
#include "include/base/cef_macros.h"
namespace base {
namespace subtle {
inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
LONG result = _InterlockedCompareExchange(
reinterpret_cast<volatile LONG*>(ptr), static_cast<LONG>(new_value),
static_cast<LONG>(old_value));
return static_cast<Atomic32>(result);
}
inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
Atomic32 new_value) {
LONG result = _InterlockedExchange(reinterpret_cast<volatile LONG*>(ptr),
static_cast<LONG>(new_value));
return static_cast<Atomic32>(result);
}
inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
Atomic32 increment) {
return _InterlockedExchangeAdd(reinterpret_cast<volatile LONG*>(ptr),
static_cast<LONG>(increment)) +
increment;
}
inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
Atomic32 increment) {
return Barrier_AtomicIncrement(ptr, increment);
}
#if !(defined(_MSC_VER) && _MSC_VER >= 1400)
#error "We require at least vs2005 for MemoryBarrier"
#endif
inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
}
inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
}
inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
*ptr = value;
}
inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
NoBarrier_AtomicExchange(ptr, value);
// acts as a barrier in this implementation
}
inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) {
*ptr = value;
// See comments in Atomic64 version of Release_Store() below.
}
inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
return *ptr;
}
inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
Atomic32 value = *ptr;
return value;
}
inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
MemoryBarrier();
return *ptr;
}
#if defined(_WIN64)
// 64-bit low-level operations on 64-bit platform.
COMPILE_ASSERT(sizeof(Atomic64) == sizeof(PVOID), atomic_word_is_atomic);
inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
Atomic64 old_value,
Atomic64 new_value) {
PVOID result = InterlockedCompareExchangePointer(
reinterpret_cast<volatile PVOID*>(ptr),
reinterpret_cast<PVOID>(new_value), reinterpret_cast<PVOID>(old_value));
return reinterpret_cast<Atomic64>(result);
}
inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr,
Atomic64 new_value) {
PVOID result =
InterlockedExchangePointer(reinterpret_cast<volatile PVOID*>(ptr),
reinterpret_cast<PVOID>(new_value));
return reinterpret_cast<Atomic64>(result);
}
inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr,
Atomic64 increment) {
return InterlockedExchangeAdd64(reinterpret_cast<volatile LONGLONG*>(ptr),
static_cast<LONGLONG>(increment)) +
increment;
}
inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr,
Atomic64 increment) {
return Barrier_AtomicIncrement(ptr, increment);
}
inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) {
*ptr = value;
}
inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) {
NoBarrier_AtomicExchange(ptr, value);
// acts as a barrier in this implementation
}
inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) {
*ptr = value;
}
inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) {
return *ptr;
}
inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) {
Atomic64 value = *ptr;
return value;
}
inline Atomic64 Release_Load(volatile const Atomic64* ptr) {
MemoryBarrier();
return *ptr;
}
inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr,
Atomic64 old_value,
Atomic64 new_value) {
return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
}
inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr,
Atomic64 old_value,
Atomic64 new_value) {
return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
}
#endif // defined(_WIN64)
} // namespace base::subtle
} // namespace base
#endif // CEF_INCLUDE_BASE_INTERNAL_CEF_ATOMICOPS_ARM64_MSVC_H_

View File

@@ -38,7 +38,8 @@
// In the x64 architecture in Windows, __fastcall, __stdcall, etc, are all
// the same as __cdecl which would turn the following specializations into
// multiple definitions.
#if !defined(ARCH_CPU_X86_64)
#if defined(ARCH_CPU_X86_FAMILY)
#if defined(ARCH_CPU_32_BITS)
namespace base {
namespace cef_internal {
@@ -391,6 +392,7 @@ class RunnableAdapter<R(__fastcall*)(A1, A2, A3, A4, A5, A6, A7)> {
} // namespace cef_internal
} // namespace base
#endif // !defined(ARCH_CPU_X86_64)
#endif // defined(ARCH_CPU_32_BITS)
#endif // defined(ARCH_CPU_X86_FAMILY)
#endif // CEF_INCLUDE_BASE_INTERNAL_CEF_BIND_INTERNAL_WIN_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=05029efef860f52da671d55b0afa3df43e016045$
// $hash=00d5124d346e3f3cc3f53d67bcb766d1d798bf12$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a386eaf81574ae85a4f522afd4287742f778e78d$
// $hash=04cfae434fe901644c1c78f1c30c0921518cc666$
//
#ifndef CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_

View File

@@ -1,110 +0,0 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the name Chromium Embedded
// Framework nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool and should not edited
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0385a38b6761c5dec07bb89a95a007ad3c11bea6$
//
#ifndef CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_
#pragma once
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#ifdef __cplusplus
extern "C" {
#endif
///
// Implement this structure to handle audio events All functions will be called
// on the UI thread
///
typedef struct _cef_audio_handler_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Called when the stream identified by |audio_stream_id| has started.
// |audio_stream_id| will uniquely identify the stream across all future
// cef_audio_handler_t callbacks. OnAudioSteamStopped will always be called
// after OnAudioStreamStarted; both functions may be called multiple times for
// the same stream. |channels| is the number of channels, |channel_layout| is
// the layout of the channels and |sample_rate| is the stream sample rate.
// |frames_per_buffer| is the maximum number of frames that will occur in the
// PCM packet passed to OnAudioStreamPacket.
///
void(CEF_CALLBACK* on_audio_stream_started)(
struct _cef_audio_handler_t* self,
struct _cef_browser_t* browser,
int audio_stream_id,
int channels,
cef_channel_layout_t channel_layout,
int sample_rate,
int frames_per_buffer);
///
// Called when a PCM packet is received for the stream identified by
// |audio_stream_id|. |data| is an array representing the raw PCM data as a
// floating point type, i.e. 4-byte value(s). |frames| is the number of frames
// in the PCM packet. |pts| is the presentation timestamp (in milliseconds
// since the Unix Epoch) and represents the time at which the decompressed
// packet should be presented to the user. Based on |frames| and the
// |channel_layout| value passed to OnAudioStreamStarted you can calculate the
// size of the |data| array in bytes.
///
void(CEF_CALLBACK* on_audio_stream_packet)(struct _cef_audio_handler_t* self,
struct _cef_browser_t* browser,
int audio_stream_id,
const float** data,
int frames,
int64 pts);
///
// Called when the stream identified by |audio_stream_id| has stopped.
// OnAudioSteamStopped will always be called after OnAudioStreamStarted; both
// functions may be called multiple times for the same stream.
///
void(CEF_CALLBACK* on_audio_stream_stopped)(struct _cef_audio_handler_t* self,
struct _cef_browser_t* browser,
int audio_stream_id);
} cef_audio_handler_t;
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=9f05ee0596b82355ba8c07dcd8244a761b95df58$
// $hash=58be0e24b46373bbdad28031891396ea246f446c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=623d324a1ef5637353ae74761fdc04eac4d99716$
// $hash=ba4033eaf40a8ee24408b89b78496bf1381e7e6b$
//
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_
@@ -829,7 +829,7 @@ typedef struct _cef_browser_host_t {
///
// Returns the extension hosted in this browser or NULL if no extension is
// hosted. See cef_request_tContext::LoadExtension for details.
// hosted. See cef_request_context_t::LoadExtension for details.
///
struct _cef_extension_t*(CEF_CALLBACK* get_extension)(
struct _cef_browser_host_t* self);
@@ -837,7 +837,7 @@ typedef struct _cef_browser_host_t {
///
// Returns true (1) if this browser is hosting an extension background script.
// Background hosts do not have a window and are not displayable. See
// cef_request_tContext::LoadExtension for details.
// cef_request_context_t::LoadExtension for details.
///
int(CEF_CALLBACK* is_background_host)(struct _cef_browser_host_t* self);

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=372bc8b015110d2849eb1d8c16b616871e2d9320$
// $hash=b15ba2c750f5227b6b40fea59965817ba4431ee0$
//
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=7419140aa82db2a86a5eca062193ac8bde9f5d40$
// $hash=5c540e617cf2782876defad365e85cd43932ffce$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,14 +33,13 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c8b6ce6786bb8369c3d9bb9e932a115fb379b145$
// $hash=6a0312765614a697d56e87c8503afba8404bb08b$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_
#pragma once
#include "include/capi/cef_audio_handler_capi.h"
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_context_menu_handler_capi.h"
#include "include/capi/cef_dialog_handler_capi.h"
@@ -70,12 +69,6 @@ typedef struct _cef_client_t {
///
cef_base_ref_counted_t base;
///
// Return the handler for audio rendering events.
///
struct _cef_audio_handler_t*(CEF_CALLBACK* get_audio_handler)(
struct _cef_client_t* self);
///
// Return the handler for context menus. If no handler is provided the default
// implementation will be used.

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=540c73b297f3b0843058881c5a9a7433dc346fd2$
// $hash=72ba5fe0cc6fe8081ec7b2b556e9022d1c6e8c61$
//
#ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=75b5bd826645fabb12c16c938b2fc30ec1642b1c$
// $hash=fcb0328c54e5f629c24bfd232d75c31c372ab6ac$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ef1fc4ab41a3fc6046a8754ce1a64bc2732332e6$
// $hash=2f5721138da26a9d7cce300a635b58dae9f51a4a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_
@@ -141,8 +141,8 @@ typedef struct _cef_cookie_manager_t {
// CefSettings.cache_path if specified or in memory otherwise. If |callback| is
// non-NULL it will be executed asnychronously on the UI thread after the
// manager's storage has been initialized. Using this function is equivalent to
// calling cef_request_tContext::cef_request_context_get_global_context()->GetDe
// faultCookieManager().
// calling cef_request_context_t::cef_request_context_get_global_context()->GetD
// efaultCookieManager().
///
CEF_EXPORT cef_cookie_manager_t* cef_cookie_manager_get_global_manager(
struct _cef_completion_callback_t* callback);

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d8c4816346fdf48b987c88a94c51c9d67624abe0$
// $hash=2b24c7d99c59c669719b822f5ea19763d140b001$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=23627ca4a51e3256889c05360f3fe143172f4ad6$
// $hash=3253c217564ae9a85a1e971298c32a35e4cad136$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f6998cb056849c4d73f47142988bd4900784e0c6$
// $hash=951c936c8070dbf9bd246cc766b81cdfe06a3d81$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b8d77a12530d3da606587bf97eacf9169cae0710$
// $hash=055c506e7950abba3ec1c12adbbb1a9989cf5ac5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=52e904750160e4056c422794565956ae8161b50d$
// $hash=3399f17cc69d8fbd5c09f63f81680aa1f68454f0$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2893ea0d3375b93d2b28ac6fdcd6cdae75df544e$
// $hash=d6366977af5e2a3a71b4f57042208ff7ed524c6c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c083246c8f51462b31039ce5e7031ca6c13ea071$
// $hash=6c8c654be3e69d872b3cfa6bdfb1adf615bff3ac$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=5c7eb1cee72dcb8b7657007b3f9db64680ea8c4d$
// $hash=78022908355fbf836799545e67ce2e4663b85fdf$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=09d865515163b7b61509e7a5fd849a446ea2ac9d$
// $hash=b50087959cb679e4132f0fccfd23f01f76079018$
//
#ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_
@@ -72,7 +72,7 @@ typedef struct _cef_extension_t {
///
// Returns the absolute path to the extension directory on disk. This value
// will be prefixed with PK_DIR_RESOURCES if a relative path was passed to
// cef_request_tContext::LoadExtension.
// cef_request_context_t::LoadExtension.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_path)(struct _cef_extension_t* self);
@@ -95,7 +95,7 @@ typedef struct _cef_extension_t {
///
// Returns the handler for this extension. Will return NULL for internal
// extensions or if no handler was passed to
// cef_request_tContext::LoadExtension.
// cef_request_context_t::LoadExtension.
///
struct _cef_extension_handler_t*(CEF_CALLBACK* get_handler)(
struct _cef_extension_t* self);
@@ -103,7 +103,7 @@ typedef struct _cef_extension_t {
///
// Returns the request context that loaded this extension. Will return NULL
// for internal extensions or if the extension has been unloaded. See the
// cef_request_tContext::LoadExtension documentation for more information
// cef_request_context_t::LoadExtension documentation for more information
// about loader contexts. Must be called on the browser process UI thread.
///
struct _cef_request_context_t*(CEF_CALLBACK* get_loader_context)(
@@ -118,7 +118,7 @@ typedef struct _cef_extension_t {
///
// Unload this extension if it is not an internal extension and is currently
// loaded. Will result in a call to
// cef_extension_tHandler::OnExtensionUnloaded on success.
// cef_extension_handler_t::OnExtensionUnloaded on success.
///
void(CEF_CALLBACK* unload)(struct _cef_extension_t* self);
} cef_extension_t;

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=490353d0ad05316191a2eae5ec19f1cde468f2d2$
// $hash=a13b5b607d5a2108fac5fe75f5ebd2ede7eaef6a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_
@@ -53,7 +53,7 @@ struct _cef_client_t;
///
// Callback structure used for asynchronous continuation of
// cef_extension_tHandler::GetExtensionResource.
// cef_extension_handler_t::GetExtensionResource.
///
typedef struct _cef_get_extension_resource_callback_t {
///
@@ -77,7 +77,7 @@ typedef struct _cef_get_extension_resource_callback_t {
///
// Implement this structure to handle events related to browser extensions. The
// functions of this structure will be called on the UI thread. See
// cef_request_tContext::LoadExtension for information about extension loading.
// cef_request_context_t::LoadExtension for information about extension loading.
///
typedef struct _cef_extension_handler_t {
///
@@ -86,7 +86,7 @@ typedef struct _cef_extension_handler_t {
cef_base_ref_counted_t base;
///
// Called if the cef_request_tContext::LoadExtension request fails. |result|
// Called if the cef_request_context_t::LoadExtension request fails. |result|
// will be the error code.
///
void(CEF_CALLBACK* on_extension_load_failed)(
@@ -94,7 +94,7 @@ typedef struct _cef_extension_handler_t {
cef_errorcode_t result);
///
// Called if the cef_request_tContext::LoadExtension request succeeds.
// Called if the cef_request_context_t::LoadExtension request succeeds.
// |extension| is the loaded extension.
///
void(CEF_CALLBACK* on_extension_loaded)(struct _cef_extension_handler_t* self,
@@ -161,7 +161,7 @@ typedef struct _cef_extension_handler_t {
// tabId parameter (e.g. chrome.tabs.*). |extension| and |browser| are the
// source of the API call. Return the browser that will be acted on by the API
// call or return NULL to act on |browser|. The returned browser must share
// the same cef_request_tContext as |browser|. Incognito browsers should not
// the same cef_request_context_t as |browser|. Incognito browsers should not
// be considered unless the source extension has incognito access enabled, in
// which case |include_incognito| will be true (1).
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=251816adec28cbfbda5c8a5b1f4fbf363e41ba77$
// $hash=c930140791b9e7d4238110e24fe17b9566a34ec9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=96984f8a723fb277d084540d12fae2946c217c8a$
// $hash=2aa57426a91e10985a5e92830bc3bcd9287708d4$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=5c01736fece19b53de45098e409cb8c65e5caf6e$
// $hash=091dd994f37070e9d7c27d0e2f7411ea9cf068f5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6bef924a259845dbf03e9cf5084ff7feb2771034$
// $hash=d8f114b44d02d96b5da0ec399c99091b9ceb6871$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_
@@ -131,6 +131,10 @@ typedef struct _cef_frame_t {
///
// Load the request represented by the |request| object.
//
// WARNING: This function will fail with "bad IPC message" reason
// INVALID_INITIATOR_ORIGIN (213) unless you first navigate to the request
// origin using some other mechanism (LoadURL, link click, etc).
///
void(CEF_CALLBACK* load_request)(struct _cef_frame_t* self,
struct _cef_request_t* request);
@@ -141,15 +145,6 @@ typedef struct _cef_frame_t {
void(CEF_CALLBACK* load_url)(struct _cef_frame_t* self,
const cef_string_t* url);
///
// Load the contents of |string_val| with the specified dummy |url|. |url|
// should have a standard scheme (for example, http scheme) or behaviors like
// link clicks and web security restrictions may not behave as expected.
///
void(CEF_CALLBACK* load_string)(struct _cef_frame_t* self,
const cef_string_t* string_val,
const cef_string_t* url);
///
// Execute a string of JavaScript code in this frame. The |script_url|
// parameter is the URL where the script in question can be found, if any. The

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2dce975084deacbed701faebcb978ab5bb21e98c$
// $hash=5afa8e95e6e7bddbd3c442e99b4c2843efb18c49$
//
#ifndef CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_
@@ -53,7 +53,7 @@ extern "C" {
// (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels
// then the image at scale factor 2.0 should be 200x200 pixels -- both images
// will display with a DIP size of 100x100 units. The functions of this
// structure must be called on the browser process UI thread.
// structure can be called on any browser process thread.
///
typedef struct _cef_image_t {
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=285ab7e25111cb0d69b3291720ee84ecaf7d48f4$
// $hash=e68da1a5db612699b7b727edea2bb629f5d67103$
//
#ifndef CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f27c19f216ad8296bdcb2c64b613a7814790189a$
// $hash=70108de432674485dee079e541e0dacd6a437961$
//
#ifndef CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=85d9f30e93e1c3759213074cc5876f848cf4b012$
// $hash=d6e91d55d41f729dca94ba5766f57849f29d0796$
//
#ifndef CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2699b967d059195fcbd82ce55f9dec896637bd77$
// $hash=fa3cb1461b9d363c6c7d961f9e291c2fe736170e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=fd64c7e3f77df321539f89469c4c8e33947a2c55$
// $hash=cce24dba079162b10f359769eea176c4009b5ce5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2b154560c6a617cd562f47899e062e82e308c364$
// $hash=071ec8a0e17d3b33acbf36c7ccc26d0995657cf3$
//
#ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=253f506585bbf7babd2f3f90ce8af44c89aa2b6f$
// $hash=c6252024911652a4881d753aeeeb2615e6be3904$
//
#ifndef CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a9a43f89dba782108ec1f79b69a41ef59570e983$
// $hash=8a26e2f8273298dcf44d6fbf32fd565f6aaa912c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=39203e63ce8dfe82a7b0ebac53ec55d9ccf6c1a8$
// $hash=3bc4225f43428d8a3a24dcac1830dafac18b0caf$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c57e44085a88acfdd107e40a76c88aaf92e64b4a$
// $hash=1b218a91d7f3ba0e68f0c3be21a0df91e515d28a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2b89bd952c0d591fb0361fabf9ff3aedb7fe3fbf$
// $hash=b8d7be1399d3426a3f872b12bc1438e041a16308$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e4acb9c80e79f3e0784c1dc44f5ce885a8fb7fff$
// $hash=8f7d7993691e07f4a8a42d63522c751cfba3c168$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_
@@ -67,12 +67,6 @@ typedef struct _cef_print_settings_t {
///
int(CEF_CALLBACK* is_read_only)(struct _cef_print_settings_t* self);
///
// Returns a writable copy of this object.
///
struct _cef_print_settings_t*(CEF_CALLBACK* copy)(
struct _cef_print_settings_t* self);
///
// Set the page orientation.
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2681670cc875605b22cc618cbb1817e5a0778e93$
// $hash=79ec6d99ea47e1cf9b2cca0433704f205e14d3bd$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=bcae364ba4ab461e0d35e690e22484aa39fe9527$
// $hash=75b16fd9d592c1d22b94d740e1deb61efe3afb97$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0640490eead86e5631e8db67f3a0de8b43c10640$
// $hash=e642fc1fe3b97a90c0eae7f0fc0a5cfd385e3e17$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6c6efd722dda7480a5449ef31f1d6d9a16fd3465$
// $hash=3630a82a4ea731b43ed4ba468a57c5dfe15f8679$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2602018f3322a2d983a02421cf55e0dc0a1357e9$
// $hash=3efd81a4bfdfca579a77f14bd37b8192122ebda4$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CALLBACK_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=3a1ab8264989d7f68504dc60ad6dc52c31d323a4$
// $hash=b3725b8fa4118936caacda69504dc597f3620d82$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=59376c6298df4489ecc34f3509a8d0e77e9d97f7$
// $hash=2b01472d9b9a8cc9d1b2e669c91c2849bdb162e9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_
@@ -54,7 +54,7 @@ struct _cef_request_context_handler_t;
struct _cef_scheme_handler_factory_t;
///
// Callback structure for cef_request_tContext::ResolveHost.
// Callback structure for cef_request_context_t::ResolveHost.
///
typedef struct _cef_resolve_callback_t {
///
@@ -168,7 +168,7 @@ typedef struct _cef_request_context_t {
// Tells all renderer processes associated with this context to throw away
// their plugin list cache. If |reload_pages| is true (1) they will also
// reload all pages with plugins.
// cef_request_tContextHandler::OnBeforePluginLoad may be called to rebuild
// cef_request_context_handler_t::OnBeforePluginLoad may be called to rebuild
// the plugin list cache.
///
void(CEF_CALLBACK* purge_plugin_list_cache)(
@@ -228,7 +228,7 @@ typedef struct _cef_request_context_t {
///
// Clears all certificate exceptions that were added as part of handling
// cef_request_tHandler::on_certificate_error(). If you call this it is
// cef_request_handler_t::on_certificate_error(). If you call this it is
// recommended that you also call close_all_connections() or you risk not
// being prompted again for server certificates if you reconnect quickly. If
// |callback| is non-NULL it will be executed on the UI thread after
@@ -238,10 +238,19 @@ typedef struct _cef_request_context_t {
struct _cef_request_context_t* self,
struct _cef_completion_callback_t* callback);
///
// Clears all HTTP authentication credentials that were added as part of
// handling GetAuthCredentials. If |callback| is non-NULL it will be executed
// on the UI thread after completion.
///
void(CEF_CALLBACK* clear_http_auth_credentials)(
struct _cef_request_context_t* self,
struct _cef_completion_callback_t* callback);
///
// Clears all active and idle connections that Chromium currently has. This is
// only recommended if you have released all other CEF objects but don't yet
// want to call Cefshutdown(). If |callback| is non-NULL it will be executed
// want to call cef_shutdown(). If |callback| is non-NULL it will be executed
// on the UI thread after completion.
///
void(CEF_CALLBACK* close_all_connections)(
@@ -262,8 +271,8 @@ typedef struct _cef_request_context_t {
// If extension resources will be read from disk using the default load
// implementation then |root_directory| should be the absolute path to the
// extension resources directory and |manifest| should be NULL. If extension
// resources will be provided by the client (e.g. via cef_request_tHandler
// and/or cef_extension_tHandler) then |root_directory| should be a path
// resources will be provided by the client (e.g. via cef_request_handler_t
// and/or cef_extension_handler_t) then |root_directory| should be a path
// component unique to the extension (if not absolute this will be internally
// prefixed with the PK_DIR_RESOURCES path) and |manifest| should contain the
// contents that would otherwise be read from the "manifest.json" file on
@@ -272,17 +281,17 @@ typedef struct _cef_request_context_t {
// The loaded extension will be accessible in all contexts sharing the same
// storage (HasExtension returns true (1)). However, only the context on which
// this function was called is considered the loader (DidLoadExtension returns
// true (1)) and only the loader will receive cef_request_tContextHandler
// true (1)) and only the loader will receive cef_request_context_handler_t
// callbacks for the extension.
//
// cef_extension_tHandler::OnExtensionLoaded will be called on load success or
// cef_extension_tHandler::OnExtensionLoadFailed will be called on load
// cef_extension_handler_t::OnExtensionLoaded will be called on load success
// or cef_extension_handler_t::OnExtensionLoadFailed will be called on load
// failure.
//
// If the extension specifies a background script via the "background"
// manifest key then cef_extension_tHandler::OnBeforeBackgroundBrowser will be
// called to create the background browser. See that function for additional
// information about background scripts.
// manifest key then cef_extension_handler_t::OnBeforeBackgroundBrowser will
// be called to create the background browser. See that function for
// additional information about background scripts.
//
// For visible extension views the client application should evaluate the
// manifest to determine the correct extension URL to load and then pass that

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d3a339e3f85077d971e5814eb5a164a87c647810$
// $hash=e758d8c53334b91bce818cc6e9f84915778d7827$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_
@@ -87,7 +87,7 @@ typedef struct _cef_request_context_handler_t {
// |plugin_policy| to PLUGIN_POLICY_DISABLED may be cached when
// |top_origin_url| is NULL. To purge the plugin list cache and potentially
// trigger new calls to this function call
// cef_request_tContext::PurgePluginListCache.
// cef_request_context_t::PurgePluginListCache.
///
int(CEF_CALLBACK* on_before_plugin_load)(
struct _cef_request_context_handler_t* self,
@@ -113,7 +113,7 @@ typedef struct _cef_request_context_handler_t {
// handling return NULL. To specify a handler for the resource return a
// cef_resource_request_handler_t object. This function will not be called if
// the client associated with |browser| returns a non-NULL value from
// cef_request_tHandler::GetResourceRequestHandler for the same request
// cef_request_handler_t::GetResourceRequestHandler for the same request
// (identified by cef_request_t::GetIdentifier).
///
struct _cef_resource_request_handler_t*(

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=fce8beb9d3e8709a512077681455cb4ef92ef76d$
// $hash=a28219cc8c1cb53faacaf236374c3cf2c0c45bef$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_
@@ -138,8 +138,8 @@ typedef struct _cef_request_handler_t {
// be canceled. To allow the resource load to proceed with default handling
// return NULL. To specify a handler for the resource return a
// cef_resource_request_handler_t object. If this callback returns NULL the
// same function will be called on the associated cef_request_tContextHandler,
// if any.
// same function will be called on the associated
// cef_request_context_handler_t, if any.
///
struct _cef_resource_request_handler_t*(
CEF_CALLBACK* get_resource_request_handler)(
@@ -154,10 +154,11 @@ typedef struct _cef_request_handler_t {
///
// Called on the IO thread when the browser needs credentials from the user.
// |isProxy| indicates whether the host is a proxy server. |host| contains the
// hostname and |port| contains the port number. |realm| is the realm of the
// challenge and may be NULL. |scheme| is the authentication scheme used, such
// as "basic" or "digest", and will be NULL if the source of the request is an
// |origin_url| is the origin making this authentication request. |isProxy|
// indicates whether the host is a proxy server. |host| contains the hostname
// and |port| contains the port number. |realm| is the realm of the challenge
// and may be NULL. |scheme| is the authentication scheme used, such as
// "basic" or "digest", and will be NULL if the source of the request is an
// FTP server. Return true (1) to continue the request and call
// cef_auth_callback_t::cont() either in this function or at a later time when
// the authentication information is available. Return false (0) to cancel the
@@ -166,7 +167,7 @@ typedef struct _cef_request_handler_t {
int(CEF_CALLBACK* get_auth_credentials)(
struct _cef_request_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
const cef_string_t* origin_url,
int isProxy,
const cef_string_t* host,
int port,
@@ -179,8 +180,8 @@ typedef struct _cef_request_handler_t {
// size via the webkitStorageInfo.requestQuota function. |origin_url| is the
// origin of the page making the request. |new_size| is the requested quota
// size in bytes. Return true (1) to continue the request and call
// cef_request_tCallback::cont() either in this function or at a later time to
// grant or deny the request. Return false (0) to cancel the request
// cef_request_callback_t::cont() either in this function or at a later time
// to grant or deny the request. Return false (0) to cancel the request
// immediately.
///
int(CEF_CALLBACK* on_quota_request)(struct _cef_request_handler_t* self,
@@ -191,7 +192,7 @@ typedef struct _cef_request_handler_t {
///
// Called on the UI thread to handle requests for URLs with an invalid SSL
// certificate. Return true (1) and call cef_request_tCallback::cont() either
// certificate. Return true (1) and call cef_request_callback_t::cont() either
// in this function or at a later time to continue or cancel the request.
// Return false (0) to cancel the request immediately. If
// CefSettings.ignore_certificate_errors is set all invalid certificates will

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=48daeee5c2103ec69535dc0376255878c3d69e9b$
// $hash=b9577b495df3990284d4e4a3db2824196175dc91$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_
@@ -48,7 +48,7 @@ extern "C" {
///
// Structure used for retrieving resources from the resource bundle (*.pak)
// files loaded by CEF during startup or via the cef_resource_bundle_tHandler
// files loaded by CEF during startup or via the cef_resource_bundle_handler_t
// returned from cef_app_t::GetResourceBundleHandler. See CefSettings for
// additional options related to resource bundle loading. The functions of this
// structure may be called on any thread unless otherwise indicated.

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=fe5830fe27ce758f4d0a6b2e37f11f5e702aba41$
// $hash=fd90a707c59a8c04b1b1bfc6129a90e27934f501$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f94ec1ef3928002394720160d526ed157282cc7a$
// $hash=5241e3dd5d3fa0b17dd6d6ea2f30734a32150c88$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_
@@ -151,9 +151,9 @@ typedef struct _cef_resource_handler_t {
///
// Skip response data when requested by a Range header. Skip over and discard
// |bytes_to_skip| bytes of response data. If data is available immediately
// set |bytes_skipped| to the number of of bytes skipped and return true (1).
// To read the data at a later time set |bytes_skipped| to 0, return true (1)
// and execute |callback| when the data is available. To indicate failure set
// set |bytes_skipped| to the number of bytes skipped and return true (1). To
// read the data at a later time set |bytes_skipped| to 0, return true (1) and
// execute |callback| when the data is available. To indicate failure set
// |bytes_skipped| to < 0 (e.g. -2 for ERR_FAILED) and return false (0). This
// function will be called in sequence but not from a dedicated thread.
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=af8ddd4d2d19e5b64d0a40778cb3c62fd5f1d8c9$
// $hash=afc96f188710bd336d09ce479a650aaa3a55357a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_REQUEST_HANDLER_CAPI_H_
@@ -48,7 +48,6 @@
#include "include/capi/cef_resource_handler_capi.h"
#include "include/capi/cef_response_capi.h"
#include "include/capi/cef_response_filter_capi.h"
#include "include/internal/cef_types_wrappers.h"
#ifdef __cplusplus
extern "C" {
@@ -88,7 +87,7 @@ typedef struct _cef_resource_request_handler_t {
// or change the resource load optionally modify |request|. Modification of
// the request URL will be treated as a redirect. Return RV_CONTINUE to
// continue the request immediately. Return RV_CONTINUE_ASYNC and call
// cef_request_tCallback:: cont() at a later time to continue or cancel the
// cef_request_callback_t:: cont() at a later time to continue or cancel the
// request asynchronously. Return RV_CANCEL to cancel the request immediately.
//
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=cc5ec5ca76adb568adb08c3b58fb3289a94b2ecd$
// $hash=2bccae35945ecea55c4c79bba840b44a691f1aa3$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_CAPI_H_
@@ -126,8 +126,19 @@ typedef struct _cef_response_t {
// Get the value for the specified response header field.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_header)(struct _cef_response_t* self,
const cef_string_t* name);
cef_string_userfree_t(CEF_CALLBACK* get_header_by_name)(
struct _cef_response_t* self,
const cef_string_t* name);
///
// Set the header |name| to |value|. If |overwrite| is true (1) any existing
// values will be replaced with the new value. If |overwrite| is false (0) any
// existing values will not be overwritten.
///
void(CEF_CALLBACK* set_header_by_name)(struct _cef_response_t* self,
const cef_string_t* name,
const cef_string_t* value,
int overwrite);
///
// Get all response header fields.

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=1df02e283ece4871afe6de29c398a389dca76ef1$
// $hash=5b2602702a13a71ac012808eecb09bb8b9494551$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_FILTER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=bf5c2a51aa80e831382bfe08e8dd5ec6331f0fdc$
// $hash=d93b4ad0b71ffe0a05326b39c3ed0bdb26a73fac$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_
@@ -115,9 +115,9 @@ typedef struct _cef_scheme_handler_factory_t {
// function may be called multiple times to change or remove the factory that
// matches the specified |scheme_name| and optional |domain_name|. Returns false
// (0) if an error occurs. This function may be called on any thread in the
// browser process. Using this function is equivalent to calling cef_request_tCo
// ntext::cef_request_context_get_global_context()->register_scheme_handler_fact
// ory().
// browser process. Using this function is equivalent to calling cef_request_con
// text_t::cef_request_context_get_global_context()->register_scheme_handler_fac
// tory().
///
CEF_EXPORT int cef_register_scheme_handler_factory(
const cef_string_t* scheme_name,
@@ -128,8 +128,8 @@ CEF_EXPORT int cef_register_scheme_handler_factory(
// Clear all scheme handler factories registered with the global request
// context. Returns false (0) on error. This function may be called on any
// thread in the browser process. Using this function is equivalent to calling c
// ef_request_tContext::cef_request_context_get_global_context()->clear_scheme_h
// andler_factories().
// ef_request_context_t::cef_request_context_get_global_context()->clear_scheme_
// handler_factories().
///
CEF_EXPORT int cef_clear_scheme_handler_factories();

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=44d7621507ab855307ae6ce7319cc2e4ff576bb5$
// $hash=ffd489adc301ed88e1f30f8f38cec1730411a4b5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=9c9e2d87b54564137f970081f25d09157c5903d2$
// $hash=badaadcff4641fea876fb626b8ffe5a6f34a376c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SSL_INFO_CAPI_H_
@@ -71,16 +71,10 @@ typedef struct _cef_sslinfo_t {
} cef_sslinfo_t;
///
// Returns true (1) if the certificate status has any error, major or minor.
// Returns true (1) if the certificate status represents an error.
///
CEF_EXPORT int cef_is_cert_status_error(cef_cert_status_t status);
///
// Returns true (1) if the certificate status represents only minor errors (e.g.
// failure to verify certificate revocation).
///
CEF_EXPORT int cef_is_cert_status_minor_error(cef_cert_status_t status);
#ifdef __cplusplus
}
#endif

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=7a0704801e06ead071214fd71374ea1735d25620$
// $hash=3755121a7b89de52a67885ac1c6d12de23f4b657$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d86a0071df587cc4fb291133e8b8c4df325d9455$
// $hash=bd5bbcdc385f83512bf64304e180f1a05b765c16$
//
#ifndef CEF_INCLUDE_CAPI_CEF_STREAM_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=555bbaa1c85c0dc4d3e2e8fe4865fd5731731c66$
// $hash=bba3a9719860f9a81c63cbb052a4c501416b2ada$
//
#ifndef CEF_INCLUDE_CAPI_CEF_STRING_VISITOR_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=6ff55aa6d2a955b54068ad1893c49f0b9100ac69$
// $hash=025daa5db3bf16029953da7703e3e5968bd97fe2$
//
#ifndef CEF_INCLUDE_CAPI_CEF_TASK_CAPI_H_
@@ -132,19 +132,19 @@ CEF_EXPORT cef_task_runner_t* cef_task_runner_get_for_thread(
///
// Returns true (1) if called on the specified thread. Equivalent to using
// cef_task_tRunner::GetForThread(threadId)->belongs_to_current_thread().
// cef_task_runner_t::GetForThread(threadId)->belongs_to_current_thread().
///
CEF_EXPORT int cef_currently_on(cef_thread_id_t threadId);
///
// Post a task for execution on the specified thread. Equivalent to using
// cef_task_tRunner::GetForThread(threadId)->PostTask(task).
// cef_task_runner_t::GetForThread(threadId)->PostTask(task).
///
CEF_EXPORT int cef_post_task(cef_thread_id_t threadId, cef_task_t* task);
///
// Post a task for delayed execution on the specified thread. Equivalent to
// using cef_task_tRunner::GetForThread(threadId)->PostDelayedTask(task,
// using cef_task_runner_t::GetForThread(threadId)->PostDelayedTask(task,
// delay_ms).
///
CEF_EXPORT int cef_post_delayed_task(cef_thread_id_t threadId,

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e1160bd7ab8ad37245aea183b8c0cd989dd32385$
// $hash=370cdeaa3252a9ed0e1a627d858dcab23af24ee1$
//
#ifndef CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_
@@ -49,7 +49,7 @@ extern "C" {
///
// A simple thread abstraction that establishes a message loop on a new thread.
// The consumer uses cef_task_tRunner to execute code on the thread's message
// The consumer uses cef_task_runner_t to execute code on the thread's message
// loop. The thread is terminated when the cef_thread_t object is destroyed or
// stop() is called. All pending tasks queued on the thread's message loop will
// run to completion before the thread is terminated. cef_thread_create() can be
@@ -65,7 +65,7 @@ typedef struct _cef_thread_t {
cef_base_ref_counted_t base;
///
// Returns the cef_task_tRunner that will execute code on this thread's
// Returns the cef_task_runner_t that will execute code on this thread's
// message loop. This function is safe to call from any thread.
///
struct _cef_task_runner_t*(CEF_CALLBACK* get_task_runner)(

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=8657a52064f1a797858cd46e6588c8ae01eb7778$
// $hash=b1b96b7cb636afbd201b88bc1544afc58099c0b6$
//
#ifndef CEF_INCLUDE_CAPI_CEF_TRACE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=3d31b2d1bad50deeb68a5e6318344024c2f3f5be$
// $hash=63d875f5a922dd2c2e1efaaf0ddaa20475f79ef8$
//
#ifndef CEF_INCLUDE_CAPI_CEF_URLREQUEST_CAPI_H_
@@ -193,9 +193,11 @@ typedef struct _cef_urlrequest_client_t {
// |isProxy| indicates whether the host is a proxy server. |host| contains the
// hostname and |port| contains the port number. Return true (1) to continue
// the request and call cef_auth_callback_t::cont() when the authentication
// information is available. Return false (0) to cancel the request. This
// function will only be called for requests initiated from the browser
// process.
// information is available. If the request has an associated browser/frame
// then returning false (0) will result in a call to GetAuthCredentials on the
// cef_request_handler_t associated with that browser, if any. Otherwise,
// returning false (0) will cancel the request immediately. This function will
// only be called for requests initiated from the browser process.
///
int(CEF_CALLBACK* get_auth_credentials)(
struct _cef_urlrequest_client_t* self,

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ba359f7c3faeafa668121552940293317f51da20$
// $hash=3bb8f9801a153172981120926c7a5629e08d7131$
//
#ifndef CEF_INCLUDE_CAPI_CEF_V8_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=cc8995c8ae5c1336941b95770f8a07dc273fb2f1$
// $hash=22f935968cd7f2549def42f5d84694311bde125e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_VALUES_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0b6c2af0341961398b8cc1b67143ff5632a8a719$
// $hash=aedfa5758cbf37dff244c065d55d273231470877$
//
#ifndef CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=1b004b5701d21996ea83edc81523f5cf9b0c46dc$
// $hash=f1b2b6203d45fdf76d72ea1e79fcef0bb2a26138$
//
#ifndef CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=836a001b9a1c8282387d5fd2e34170bcb3743e1b$
// $hash=2d04c2cc1791b90ddb9333fe830ad07042e9df2d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_X509_CERTIFICATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=984dbef3999ba44fc3c963053cba9e3fb2ff1625$
// $hash=64f6b6477ec81b1d64517cf0af2e3b2121ff39bd$
//
#ifndef CEF_INCLUDE_CAPI_CEF_XML_READER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=af5f798c94fdf2c307f32b05cfc271de4393bacb$
// $hash=f8b7ec1654c7d62153e2670b52ed18eb4c9c58d5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ZIP_READER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d61ec60c05868c98d2823f6fcc6cf9a5153eb01d$
// $hash=44811580a3bddb5efed7d697ef8fa0b7e0925ef2$
//
#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TEST_HELPERS_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ae3b4b169b668985a8f641af215b7db7c26f964b$
// $hash=a5d8033127cf2d21f1cb0c87f76d2d59ec3eace0$
//
#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=fff80271c2a16d7857c8928b6495cba30d6f1afb$
// $hash=ddf96505520b7f8df0662d9f66221917a665b029$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BOX_LAYOUT_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=400746f8fac7fa3dba7ee889c10ae6ca22b93fe1$
// $hash=3ac114f5bd9aa0e6d62e7540e9205adce485a09d$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=4b44091d8bcdbf6899d812f1fee7db04c8cc3df0$
// $hash=f850005cb52b08b69b803fc020c77fc7f623839c$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_DELEGATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b7c0ee873547fdeb6d403693b3e87ec16646757d$
// $hash=066842f6905c8eed7de1fc8cf831e06801029b97$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BUTTON_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f63985088a498b2b0a7568adfc960eba1794a6c9$
// $hash=71def746b63431f9aa779bbb67e85bc2e0176615$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BUTTON_DELEGATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=320aba1a1c7775a60858e8304ee25a8a5ef16ff9$
// $hash=422243fda6e1404222aca7bdd4e7b84b961a9626$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_DISPLAY_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=eddaab99fd0b1eedbc43417515e2e9cd2b3724e6$
// $hash=14016ebf5d63f625436aebd14396e403b673703f$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_FILL_LAYOUT_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=81babf6211a1e99886028bfc4fb9107ef7517c1f$
// $hash=d947a566036f44439f352aea45098dfb46043b9a$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_LABEL_BUTTON_CAPI_H_
@@ -148,16 +148,11 @@ typedef struct _cef_label_button_t {
///
// Create a new LabelButton. A |delegate| must be provided to handle the button
// click. |text| will be shown on the LabelButton and used as the default
// accessible name. If |with_frame| is true (1) the button will have a visible
// frame at all times, center alignment, additional padding and a default
// minimum size of 70x33 DIP. If |with_frame| is false (0) the button will only
// have a visible frame on hover/press, left alignment, less padding and no
// default minimum size.
// accessible name.
///
CEF_EXPORT cef_label_button_t* cef_label_button_create(
struct _cef_button_delegate_t* delegate,
const cef_string_t* text,
int with_frame);
const cef_string_t* text);
#ifdef __cplusplus
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=9217854fae0d6439ce459bdb28c9df5d1f3974b9$
// $hash=7db4a977d7fbbff0783d0334e53fa47f00fc9fac$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_LAYOUT_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f375009823015557083997f5a1c2033739de9c22$
// $hash=8e1972f8c40d4c7a708f32016dbfeb5bf2a2ff0b$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_MENU_BUTTON_CAPI_H_
@@ -89,8 +89,7 @@ typedef struct _cef_menu_button_t {
///
CEF_EXPORT cef_menu_button_t* cef_menu_button_create(
struct _cef_menu_button_delegate_t* delegate,
const cef_string_t* text,
int with_frame);
const cef_string_t* text);
#ifdef __cplusplus
}

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c3ea0c1048f2a86ba918eeeb5f009d623aaadf8e$
// $hash=6668ddfd94bb501f0cb35b2c23043333c1cafe63$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_MENU_BUTTON_DELEGATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e1acb7dc75a856e69aab551a491d1688726d72d9$
// $hash=28db02fcdd51238b61d74195dae36fe23e0717da$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_PANEL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e733c5aedfc8a69c5f36baa0f8aaf8236926bedd$
// $hash=8a0ded4e62ff61b04fc1694228905daa995197b4$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_PANEL_DELEGATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e212c3a9f519aac065270c4a2da707482b70b152$
// $hash=3b9789f2149c3e6d6a2e671e5427c19654442ede$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_SCROLL_VIEW_CAPI_H_
@@ -59,7 +59,7 @@ typedef struct _cef_scroll_view_t {
///
// Set the content View. The content View must have a specified size (e.g. via
// cef_view_t::SetBounds or cef_view_tDelegate::GetPreferredSize).
// cef_view_t::SetBounds or cef_view_delegate_t::GetPreferredSize).
///
void(CEF_CALLBACK* set_content_view)(struct _cef_scroll_view_t* self,
struct _cef_view_t* view);

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2019 Marshall A. Greenblatt. All rights reserved.
// Copyright (c) 2020 Marshall A. Greenblatt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=8517e5b4eeffb254f92069a78da2187811af4da0$
// $hash=71ba0e5714400e2bea3ca564cab4527d95e4b52c$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_TEXTFIELD_CAPI_H_

Some files were not shown because too many files have changed in this diff Show More