Compare commits

..

271 Commits
3071 ... 3578

Author SHA1 Message Date
Marshall Greenblatt
c974488bae Fix CVE-2019-5786: Use-after-free in FileReader (see https://crbug.com/936448) 2019-03-07 17:25:12 -05:00
Marshall Greenblatt
cc1dc0f59d Suppress ERROR messages with log-severity=disable (issue #2581)
Also expose FATAL severity level.
2019-01-29 14:58:31 -05:00
Arnaud Renevier
3d3f3c663e Fix uninitialized member CefNavigateParams::load_flags (issue #2580) 2019-01-29 14:56:57 -05:00
Marshall Greenblatt
0f6d65a690 Fix incorrect OSR IME suggestion background color (issue #2562) 2019-01-28 12:14:09 -05:00
Marshall Greenblatt
812136638e Fix CefResourceHandler leak in DownloadTest.Pending* 2019-01-23 14:57:08 +01:00
Chris Dziemborowicz
d150d19197 macOS: Create a CFRunLoop for video-capture and audio services (issue #2573) 2019-01-23 14:57:00 +01:00
Marshall Greenblatt
fa073f3d64 Fix Check failed: frame->IsMain() when loading Worker scripts (issue #2561) 2019-01-17 16:54:37 +01:00
Marshall Greenblatt
bf8cff263c Update to Chromium version 71.0.3578.98 2019-01-11 16:51:40 +01:00
Marshall Greenblatt
15f32b5d91 macOS: Export only CEF symbols from cef_sandbox.a (issue #2459) 2019-01-11 15:58:24 +01:00
Marshall Greenblatt
1992780b51 Update copyright year on generated files 2019-01-10 15:33:22 +01:00
Marshall Greenblatt
36610bd435 Update to Chromium version 71.0.3578.80 2018-12-11 15:03:50 -05:00
Marshall Greenblatt
3563564400 Windows: cefclient: Create a new D3D11 device for each browser (issue #2538)
This fixes a texture resizing issue when creating multiple windows with OSR
and shared textures enabled.
2018-11-15 15:45:18 -05:00
Marshall Greenblatt
8a72378a7c Windows: Add MS BuildTools support to msvs_env.bat (issue #2545) 2018-11-15 15:45:12 -05:00
Marshall Greenblatt
f54d47a71e Windows: Fix sandbox link error with binary distribution (issue #2546) 2018-11-13 13:45:57 -05:00
Marshall Greenblatt
cfd9e1e56e cefclient: Fix new window always on top (issue #1468) 2018-11-05 13:46:15 -05:00
Marshall Greenblatt
8f96ed2162 Fix incorrect quota size (issue #2452) 2018-10-26 15:46:49 -04:00
Marshall Greenblatt
063fc4f6cd Update to Chromium version 71.0.3578.20 2018-10-25 15:40:21 -04:00
Marshall Greenblatt
315b57e9f7 Update to Chromium version 71.0.3578.0 (#599034) 2018-10-25 12:57:05 -04:00
Marshall Greenblatt
f9ebe693e4 Fix substitution of localized strings for directory listings (issue #2412) 2018-10-19 14:39:54 -04:00
Marshall Greenblatt
15fad89839 Fix ArrayBuffer crashes and add performance test (issue #2521) 2018-10-10 16:12:22 +03:00
Marshall Greenblatt
e4ae534754 Windows: Fix crashes when dragging an image with OSR enabled (issue #2525) 2018-10-10 14:44:23 +03:00
Marshall Greenblatt
49c149c20b Linux: cefclient: Fix crash when creating popup window (issue #1006) 2018-10-10 13:41:34 +03:00
Isaac Devine
c64898f9fc Windows: Fix hidden dropdowns when the window is topmost (issue #1468)
Also add a --always-on-top flag to cefclient to allow easier testing of this
behavior on Windows and Linux.
2018-10-09 12:28:13 +03:00
Marshall Greenblatt
1928572b52 Fix crash using CefCookieManager::SetStoragePath (issue #2522) 2018-10-08 18:57:14 +03:00
Marshall Greenblatt
da53451f97 Update to Chromium version 71.0.3567.0 (#595360)
- Configuration of OSR VSync interval is currently missing (issue #2517)
- Rename VERSION to VERSION.in to fix libc++ compile error (issue #2518)
2018-10-04 12:17:26 +03:00
Marshall Greenblatt
a2bf177a32 macOS: Fix crash when showing a select popup with CefDoMessageLoopWork (issue #2495) 2018-09-28 16:27:32 +02:00
Marshall Greenblatt
dead08bf52 Add missing include for DISALLOW_COPY_AND_ASSIGN 2018-09-28 15:44:47 +02:00
Marshall Greenblatt
8a055593d6 Fix redraw of OSR PDF viewer (issue #2507) 2018-09-27 16:00:45 +02:00
Marshall Greenblatt
48dabc9143 Fix DCHECK when mouse wheel deltas are 0 (issue #2515) 2018-09-27 14:19:54 +02:00
Marshall Greenblatt
e6a3a5b72d Fix crash due to CefRenderHandler::GetViewRect returning 0 size for popup windows (issue #1910) 2018-09-27 10:32:14 +02:00
Marshall Greenblatt
1e6b870af0 cefclient: Add support for shared texture and external BeginFrame in OSR mode (issue #1006) 2018-09-27 10:32:05 +02:00
Greg Wessels
713eebcafc Add support for shared texture and external BeginFrame in OSR mode (issue #1006)
- Add CefWindowInfo::shared_texture_enabled and
  CefRenderHandler::OnAcceleratedPaint for shared texture support. Currently
  only supported on Windows (D3D11).
- Add CefWindowInfo::external_begin_frame_enabled and
  CefBrowserHost::SendExternalBeginFrame for external begin frame support.
2018-09-26 13:10:49 +02:00
Marshall Greenblatt
09afa3a843 Clarify expectations for CefRenderHandler::GetViewRect (issue #1910) 2018-09-25 16:56:44 +02:00
Marshall Greenblatt
64cd460c73 Add disable-javascript command-line flag to match documentation (issue #1848) 2018-09-25 14:01:59 +02:00
Marshall Greenblatt
b9c10cb46e Linux: Add missing return statement (issue #2014) 2018-09-25 13:23:40 +02:00
Marshall Greenblatt
c7d2891058 Fix potential iterator validity issue in RootWindowManager::CloseAllWindows (issue #2514) 2018-09-24 17:14:04 +02:00
Marshall Greenblatt
275af5e972 Linux: Add missing use_gtk check (issue #2014) 2018-09-24 15:45:39 +02:00
Marshall Greenblatt
3a91ccd940 Add TS_PROCESS_OOM termination status (issue #2510) 2018-09-24 10:50:01 +02:00
Marshall Greenblatt
bb61775b61 Fix crash when high contrast themes are enabled (issue #2508) 2018-09-21 16:34:02 +02:00
Marshall Greenblatt
3cdc29aa53 Windows: cmake: Add VS2017 15.8 build support 2018-09-21 11:11:33 +02:00
Marshall Greenblatt
8aa4b7aaae Linux: Add multi-threaded message loop support (issue #2512) 2018-09-20 15:17:35 +02:00
Marshall Greenblatt
c7d187a512 Fix crash when hovering buttons in OSR PDF viewer (issue #2488) 2018-09-14 11:18:10 +02:00
Marshall Greenblatt
f97a241126 Remove Singleton patches which are no longer required (issue #2362) 2018-09-06 21:45:49 +02:00
Marshall Greenblatt
0401e6b912 Windows: Fix DCHECKs during shutdown with multi-threaded message loop mode (issue #2362) 2018-09-06 17:32:01 +02:00
Marshall Greenblatt
869efa155f Fix external message pump (issue #2493) 2018-09-06 14:40:36 +02:00
Marshall Greenblatt
116859456e Linux: Zero initialize MwmHints (issue #2492) 2018-09-06 13:47:57 +02:00
Marshall Greenblatt
0abd08b6cc macOS: Fix crash when closing full-screen window (issue #2491) 2018-09-06 13:46:32 +02:00
Marshall Greenblatt
e8e0f1f6c6 Linux: Remove GTK build dependency (issue #2014) 2018-09-06 02:29:45 -07:00
Marshall Greenblatt
a64237bcb0 Update to Chromium version 70.0.3538.0 (#587811)
Known issues:
- The CefLoadCRLSetsFile function needs to be re-implemented (see issue #2497).
- Linux: GTK2 support has been removed. The cefclient sample needs to be updated
  to use GTK3 (see issue #2014).
2018-09-05 15:42:42 +02:00
Marshall Greenblatt
ea0e213bef Update to Chromium version 70.0.3516.0 (#581409) 2018-08-10 11:31:08 -04:00
Marshall Greenblatt
a659b48fd1 Update to Chromium version 70.0.3507.0 (#578961) 2018-08-02 15:15:23 -04:00
Marshall Greenblatt
4cc3a221c3 macOS: Update README.txt for distribution content changes 2018-07-30 16:15:19 -04:00
Marshall Greenblatt
dec98a5534 macOS: Add support for and enable the V2 sandbox (issue #2459)
The CEF_USE_SANDBOX define is now used on all platforms.
2018-07-27 22:33:31 -04:00
Marshall Greenblatt
fcad76b405 macOS: Load the CEF framework using dlopen instead of direct linking (issue #2459)
This is a prerequisite for using the Chromium V2 sandbox.
2018-07-27 17:36:49 -04:00
Marshall Greenblatt
0fb03e7aa1 macOS: Fix OSR configuration of device scale factor 2018-07-25 16:55:11 -04:00
Marshall Greenblatt
7f3c21b64a macOS: Add angle and swiftshader libraries to the app bundle (issue #2446)" 2018-07-25 15:18:24 -04:00
Marshall Greenblatt
339ce47575 macOS: Add the LSEnvironment variable MallocNanoZone=0 (see https://crbug.com/861939) 2018-07-25 14:23:54 -04:00
Marshall Greenblatt
7d09642925 Update to Chromium version 69.0.3497.0 (#576753) 2018-07-24 12:15:30 -04:00
Alexander Guettler
fad6aec5d0 Add MouseWheelPhaseHandler for OSR (issue #2214) 2018-07-13 15:50:16 -04:00
Marshall Greenblatt
96bd993d99 Update to Chromium version 69.0.3489.0 (#574445) 2018-07-13 15:29:39 -04:00
Marshall Greenblatt
8e9d736cda Windows: Fix failure in tools/clang/scripts/update.py with custom VS toolchain (issue #2474) 2018-07-12 14:53:36 -04:00
Marshall Greenblatt
6a76bdb040 Revert "Disable cfi-icall which is not supported by the CEF bindings layer (issue #2472)"
This reverts commit 66b5dc3d55.
2018-07-12 10:58:49 -07:00
Marshall Greenblatt
cf5b322efc Linux: Fix cfi-icall failure in atk_util_auralinux_gtk2.cc (issue #2472) 2018-07-12 10:58:29 -07:00
Marshall Greenblatt
7139f01103 Fix cfi-cast failure in CefBrowserMessageLoop::current (issue #2472) 2018-07-12 10:58:29 -07:00
Marshall Greenblatt
0d12959a50 Disable cfi-icall checks for CEF bindings (issue #2472) 2018-07-12 10:58:29 -07:00
Marshall Greenblatt
10c01ff43e Remove include/base/cef_thread_collision_warner.h which is unused and causes linker errors with CFI builds (issue #2472) 2018-07-12 10:58:29 -07:00
Marshall Greenblatt
66b5dc3d55 Disable cfi-icall which is not supported by the CEF bindings layer (issue #2472) 2018-07-11 12:32:48 -04:00
Marshall Greenblatt
f12ad6b634 Add missing include 2018-07-09 16:12:39 -04:00
Marshall Greenblatt
5bf4d4febd Fix passing of lang command-line flag to the renderer (issue #2468) 2018-07-09 16:10:03 -04:00
Marshall Greenblatt
448a112352 CefFrame::GetURL in the renderer process should return the provisional URL for popups during loading (issue #2448) 2018-07-09 14:36:37 -04:00
Marshall Greenblatt
9229cdd0eb Remove CefSettings.single_process. This mode is not supported and CefSettings makes it too easy to enable. The command-line flag still exists. 2018-07-09 13:31:32 -04:00
Alexander Guettler
9e22c975fa Windows: Remove /llvmlibthin from link command (issue #2470) 2018-07-09 11:37:13 -04:00
Marshall Greenblatt
6301e06c8a Update to Chromium version 69.0.3483.0 (#572879) 2018-07-09 11:23:23 -04:00
Kudo Chien
123324f5f9 Fix PDF print and save buttons (issue #2463). 2018-07-05 18:32:01 +00:00
Marshall Greenblatt
eb3325a9ae Fix application of DEPS.patch for 3029 branch 2018-07-05 14:24:49 -04:00
Marshall Greenblatt
2d48a07bec Update to Chromium version 69.0.3476.0 (#571360) 2018-07-03 13:48:07 -04:00
Marshall Greenblatt
669e8673ce Linux: cmake: Don't warn about code in comments (issue #2346) 2018-06-27 12:47:39 -04:00
Marshall Greenblatt
b03c54bfbe Linux: Use poll instead of select to fix crash during startup (issue #2466) 2018-06-27 12:40:59 -04:00
Marshall Greenblatt
35830c88e5 Update to Chromium version 69.0.3464.0 (#567918) 2018-06-19 15:49:32 -04:00
Cristian Amarie
3c3045a5cb Add http:// prefix to browser creation URLs if necessary (issue #2427) 2018-06-15 20:14:47 +00:00
Marshall Greenblatt
b25374c8e7 Pass BrowserProcessSubThread to ContentMainDelegate::RunProcess (issue #2456) 2018-06-15 15:55:54 -04:00
Marshall Greenblatt
4f28c5ffff Windows: cmake: Add VS2017 15.6 & 15.7 build support 2018-06-12 14:40:30 -04:00
Marshall Greenblatt
12043b16e7 Update to Chromium version 69.0.3453.0 (#565531) 2018-06-12 14:16:03 -04:00
Marshall Greenblatt
d9ebd4c50f Switch DevTools to the default view that doesn't show screencast 2018-06-07 12:57:46 -04:00
Marshall Greenblatt
f6f2c9a0ca Update to Chromium version 68.0.3440.0 (#561733) 2018-06-04 12:43:08 -04:00
Marshall Greenblatt
21310e4374 macOS: Fix rendering with surface synchronization (issue #2447) 2018-05-31 16:34:44 -04:00
Marshall Greenblatt
08ff72fa20 Update to Chromium version 68.0.3433.0 (#559327)
Known issues:
- Windows now requires VS 2017 15.7.1 with 10.0.17134.0 SDK.
2018-05-22 17:03:01 +03:00
Marshall Greenblatt
12cc069b69 Improve reliability of automate-git.py --fast-update, add --resave (issue #2435) 2018-05-21 14:06:35 +03:00
Marshall Greenblatt
cd27cbc802 Update to Chromium version 68.0.3425.0 (#557062)
Known issues:
- Surface synchronization is now enabled for OSR, see issue #2447.
- Jumbo build is broken, fixed in https://crrev.com/868717ce.
2018-05-21 13:54:23 +03:00
Marshall Greenblatt
a9f0fa9dfe Update to Chromium version 68.0.3416.0 (#554961) 2018-05-19 12:35:20 +03:00
Marshall Greenblatt
240ba800ed Update to Chromium version 68.0.3409.0 (#553714)
Known issues:
- Download fails with empty cache path due to https://crrev.com/950748a25f.
  Fixed in https://crrev.com/087ef223ac.
2018-05-18 13:07:14 +03:00
Marshall Greenblatt
84e2286995 Update to Chromium version 68.0.3403.0 (#552595) 2018-05-16 21:03:56 +02:00
Marshall Greenblatt
58413e16b1 Fix usage of automate-git.py --fast-update with new checkouts (issue #2435) 2018-05-16 20:27:39 +02:00
Marshall Greenblatt
58e2e4b23d Support less error-prone update of just CEF changes with automate-git.py --force-cef-update (issue #2435) 2018-05-16 18:37:37 +02:00
Marshall Greenblatt
77dc8157d0 Use absolute path to avoid execution failure with automate-git.py --test-prefix=xvfb-run (issue #2435). 2018-05-16 11:27:33 +03:00
Marshall Greenblatt
8426da0de6 Update to Chromium version 68.0.3399.0 (#551554) 2018-05-16 11:23:34 +03:00
Marshall Greenblatt
66484d799e Support analysis of Chromium update status with automate-git.py --log-chromium-changes (issue #2435) 2018-05-15 17:06:49 +03:00
Marshall Greenblatt
dcf533cc3c Fix patching of files with Windows line endings on Posix systems 2018-05-15 03:42:16 -07:00
Marshall Greenblatt
67708d07f2 Support running tests with automate-git.py --run-tests (issue #2435) 2018-05-14 13:43:36 +03:00
Marshall Greenblatt
d1d4f7a3ef Improve handling of patches during Chromium update (issue #2435) 2018-05-11 14:09:26 +03:00
Marshall Greenblatt
46e8152b6d Support automatic Chromium updates with automate-git.py --chromium-channel=canary (issue #2433) 2018-05-08 16:33:59 +02:00
Marshall Greenblatt
1f4f8f4af7 Support faster incremental Chromium/CEF updates with automate-git.py --fast-update (issue #2435). 2018-05-08 10:29:07 +02:00
Marshall Greenblatt
f24f885eeb Fix DCHECK due to unreliable is_main_frame state on XHR requests (issue #2433) 2018-05-04 16:42:02 +02:00
Marshall Greenblatt
a3c55f1d26 Update to Chromium revision 9ef2aa86 (#550428) 2018-05-04 10:50:26 +02:00
Cristian Amarie
f6c9a96a12 Add missing space at the end of verbose build command (issue #2431). 2018-05-01 15:55:47 +00:00
Felix Bruns
4b33c17533 Add user_gesture parameter to OnBeforeBrowse (issue #1526) 2018-04-27 15:11:53 +00:00
Marshall Greenblatt
0677d0d9de Linux: Fix startup hang on Ubuntu 16.04.4 (issue #2424) 2018-04-13 21:21:17 -04:00
Marshall Greenblatt
64d86a7397 Linux: Fix ASAN link error: odr-violation: global 'typeinfo name for std::exception' (see https://crbug.com/832808) 2018-04-13 17:30:17 -04:00
Marshall Greenblatt
87e33b1692 Linux: Fix crash when closing popup after printing (issue #2422) 2018-04-12 14:35:57 -04:00
Christopher Cifra
4315f3b724 Add support for V8 ArrayBuffers (issue #244) 2018-04-10 16:05:19 -04:00
Mike Wiedenbauer
bb28b85bdd Add CefDisplayHandler::OnLoadingProgressChange callback (issue #2382) 2018-04-10 13:52:31 -04:00
Mike Wiedenbauer
90863b8c5d Add ability to stop CefURLRequest on redirect (issue #1329) 2018-04-10 13:05:18 -04:00
Mike Wiedenbauer
c3f5e6463c Add OSR text selection changed handler and remove hard-coded test bounds (issue #2383) 2018-04-09 13:50:19 -04:00
Marshall Greenblatt
b220672c42 Fix compile error due to commit acb0922 (issue #2415) 2018-04-02 17:17:40 -04:00
Marshall Greenblatt
acb0922500 Fix crashes loading chrome://system with extensions disabled (issue #2415) 2018-03-29 13:58:52 -04:00
Marshall Greenblatt
b44919e3c5 Allow empty username parameter to CefAuthCallback::Continue (issue #2275) 2018-03-28 19:29:28 -04:00
Marshall Greenblatt
a1f47abaf6 Don't include locales/*.info files in distribution (issue #2375) 2018-03-28 18:20:10 -04:00
Marshall Greenblatt
ff8aa46e5e Support override of crash_reporter.cfg settings with environment variables (issue #2413) 2018-03-28 17:15:05 -04:00
Marshall Greenblatt
d4ec164297 Windows: Fix crash report upload failure on Windows 7 (see https://crbug.com/826564). 2018-03-28 16:02:11 -04:00
John Mayhew
e312a35ef3 Change CefFrame::GetName() to return assigned name if it is non-empty before returning unique name (issue #2403) 2018-03-28 17:30:15 +00:00
Marshall Greenblatt
3018e1866b Linux: Update to Debian sid sysroot (issue #2409) 2018-03-28 12:42:55 -04:00
Marshall Greenblatt
7a59914f97 Update to Chromium revision 66afc5e5 (#540276) 2018-03-22 16:56:23 -04:00
Marshall Greenblatt
4fb6e1ba29 macOS: Fix undesirable switch to discrete GPU during startup (issue #2398) 2018-03-16 14:04:16 -04:00
Marshall Greenblatt
e030236c36 Add CefCookieManager::GetBlockingManager (issue #2374) 2018-03-14 21:40:37 -04:00
Marshall Greenblatt
a98c6b1f52 Linux: Fix creation of client distribution 2018-03-08 10:55:05 -05:00
Marshall Greenblatt
5b136976e9 Revert "Linux: Add missing build dependency"
This commit causes the following build error when use_sysroot=true:

../../third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc:17:10: fatal error: 'curl/curl.h' file not found
         ^~~~~~~~~~~~~
1 error generated.

This reverts commit cd6ff760dd.
2018-03-08 10:54:57 -05:00
Marshall Greenblatt
56bbee8efb cmake: Linux: Add missing binaries (issue #2394) 2018-02-27 15:37:19 -05:00
Marshall Greenblatt
cd6ff760dd Linux: Add missing build dependency 2018-02-27 12:31:13 -05:00
Alfred Reynolds
5caccda56c Fix crash due to by delayed execution of JS functions on destroyed windows (issue #2038) 2018-02-22 15:38:12 -05:00
Dmitry Azaraev
3b499d3d11 Add unit test for crash due to by delayed execution of JS functions on destroyed windows (issue #2038) 2018-02-22 15:37:55 -05:00
Tobias Taschner
cca0bcc8e0 Windows: cmake: Add CEF_RUNTIME_LIBRARY_FLAG for overriding VS runtime type. 2018-02-22 20:00:09 +00:00
Mike Wiedenbauer
39ccd85d77 Fixes encoding issues when using a custom resource handler (issue #1906). 2018-02-22 19:05:54 +00:00
Marshall Greenblatt
0ac37cefa1 Fix OSR transparency problems (issue #2212, issue #2345) 2018-02-22 13:05:53 -05:00
Alexander Guettler
36668efc2f Fix input range handle does not follow mouse cursor with OSR (issue #2189) 2018-02-22 17:09:28 +00:00
Marshall Greenblatt
a5a5e7ff08 Windows: Fix per-monitor DPI scaling of top-level browser windows and placement of context menus (issue #2313) 2018-02-21 16:58:54 -05:00
Marshall Greenblatt
57b9cf9ddd Windows: Add per-monitor DPI support (issue #2313) 2018-02-20 17:33:25 -05:00
Marshall Greenblatt
57fb011377 Fix test flakyness in renderer process OnLoadingStateChange history state 2018-02-20 13:51:59 -05:00
Marshall Greenblatt
9e644b7538 Update to Chromium revision bc084a8b (#530369) 2018-02-19 17:38:04 -05:00
Marshall Greenblatt
ac86b61139 Remove geolocation API support (issue #2380) 2018-02-12 18:51:11 -05:00
Marshall Greenblatt
c3f2c2e91c Fix style issues from commit de1bd28 2018-02-12 18:13:51 -05:00
Marshall Greenblatt
de1bd286f8 Enable browser-side navigation by default and remove CefRenderHandler::OnBeforeNavigation (issue #2290) 2018-02-12 18:01:43 -05:00
Marshall Greenblatt
98de8e79db Fix crash when plugin is not found (issue #2379) 2018-02-12 16:24:02 -05:00
Marshall Greenblatt
d34d3d1b3b Add callbacks for network request access to cookies (issue #2374) 2018-02-06 16:06:44 -05:00
Marshall Greenblatt
d7e1312e9d Fix crashes when loading Flash plugins with extensions disabled (issue #2359) 2018-02-02 19:02:07 -05:00
Marshall Greenblatt
a2f430c6f3 Initialize required KeyedServiceFactories when extensions are disabled (issue #2359) 2018-02-02 17:44:08 -05:00
Marshall Greenblatt
128fbfb2d6 Fix crash when clicking PDF link (issue #2371) 2018-02-02 16:28:03 -05:00
Marshall Greenblatt
6006f77bd9 msvs_env.bat: Fix VS2017 path discovery and avoid CWD change (issue #2350, issue #2351) 2018-01-05 13:30:05 -05:00
Marshall Greenblatt
232f6bc427 Return Chrome 'Browser' value for DevTools remote debugging (issue #2300) 2018-01-04 18:52:30 -05:00
Marshall Greenblatt
50ca6928c3 Add CefURLRequest::ResponseWasCached method (issue #2283) 2018-01-03 16:14:29 -05:00
Marshall Greenblatt
1c7391b70a Update generated file copyright year 2018-01-03 15:46:26 -05:00
Marshall Greenblatt
0cd8169125 macOS: cmake: Don't create target name with spaces (issue #2342) 2018-01-03 15:03:15 -05:00
Dan Kegel
6e457d6bb1 - Linux: Disable gcc warning about code in comments (issue #2346).
- macOS: Fix clang warning about display_unittest.cc missing a newline (issue #2347).
2018-01-03 13:53:38 -05:00
Marshall Greenblatt
8b4b6ac2ed Linux: Fix crash when canceling the print dialog (issue #2341) 2018-01-02 13:51:02 -08:00
Dan Kegel
3750c59aaa Linux: Switch to Debian Stretch sysroot (issue #2343) 2018-01-02 14:32:32 -05:00
Marshall Greenblatt
7b3d7b8575 Return correct 'Browser' value for DevTools remote debugging (issue #2300) 2017-12-27 17:35:15 -05:00
Marshall Greenblatt
e5d0cfe639 Fix proxy service initialization (issue #2066) 2017-12-27 16:38:34 -05:00
Marshall Greenblatt
f02e7b54b3 cmake: Fix detection of tests folder 2017-12-27 15:50:38 -05:00
Marshall Greenblatt
accf1f1613 Windows: cmake: Add VS2017 15.5 build support 2017-12-27 15:50:21 -05:00
Marshall Greenblatt
a724e90d52 Windows: Fix 64-bit build warning C4267 (issue #2335) 2017-12-27 15:49:52 -05:00
Marshall Greenblatt
4ddff77339 Merge webkit_set target into //WebKit/source/controller to fix deps race (issue #2339) 2017-12-27 13:20:12 -05:00
Marshall Greenblatt
54a015f785 Fix crash when ALT+Clicking invalid protocol link (issue #2306) 2017-12-22 16:05:32 -05:00
Marshall Greenblatt
f052e282dd Fix crash when using CefJSDialogHandler with the default dialog implementation (issue #2329) 2017-12-21 16:47:20 -05:00
Marshall Greenblatt
2fe9f7bd31 Windows: Fix x64 compile error (issue #2332) 2017-12-21 15:43:29 -05:00
Marshall Greenblatt
cafa5954dc Fix crash when creating JS popup with no URL (issue #2330) 2017-12-21 14:57:42 -05:00
Marshall Greenblatt
d8bc3d8372 Fix assertion when calling SendProcessMessage from non-UI thread (issue #2325) 2017-12-19 15:14:00 -05:00
SergeyAvd
4c5ccce85f Fix typos in the comments that generate the documentation 2017-12-18 18:46:41 -05:00
Mario Pistrich
552a3bf353 Add log level to CefDisplayHandler::OnConsoleMessage (issue #2234) 2017-12-18 18:36:56 -05:00
Marshall Greenblatt
c04652d193 Windows: Fix ui/base/ui_features.h file not found component build error 2017-12-18 18:32:53 -05:00
Andrei Kurushin
56557833d9 Windows: Fix non x2 HiDPI OSR paint crop (issue #2299) 2017-12-18 19:37:36 +00:00
Marshall Greenblatt
6a9a51222e Fix README typo 2017-12-18 14:18:03 -05:00
Marshall Greenblatt
14c030174e Linux: Add missing swiftshader binaries to distribution (issue #2321) 2017-12-18 11:07:45 -08:00
Marshall Greenblatt
8d51acb9be Update to Chromium revision 5fdc0fab (#520840)
- Windows now builds with clang by default.
2017-12-14 15:31:07 -05:00
Marshall Greenblatt
d5e141648b Fix OSR accessibility tests (issue #2312) 2017-12-12 15:57:46 -05:00
Tammo Hinrichs
4c795f5188 OSR: Fix GPU->CPU readback performance issues (issue #2046) 2017-12-05 13:05:12 -05:00
Marshall Greenblatt
7fe13d87c6 Fix accessibility information (issue #2312) 2017-12-04 14:20:06 -05:00
Marshall Greenblatt
7dcabf547b macOS: Fix build of widevinecdmadapter.plugin (issue #2314) 2017-12-04 12:41:57 -05:00
Marshall Greenblatt
69178d519e Fix bugs and test failures with browser-side navigation (issue #2290) 2017-11-30 18:20:24 -05:00
Per Lundberg
493bec52c9 README.md: Update CefSharp link 2017-11-30 15:37:05 -05:00
amaitland
b14167ad04 cmake: Don't require test projects with minimal distribution (issue #2169) 2017-11-30 15:36:58 -05:00
Tamas Lustyik
85d041c0e2 Making it possible to bridge C++ wrapper classes to C (issue #2311). 2017-11-28 15:57:10 +00:00
Tamas Lustyik
be2160e6c3 macOS: Added guard to previously overlooked C++ include (issue #2297) 2017-11-28 15:52:00 +00:00
Marshall Greenblatt
232a68480e cmake: Add v8_context_snapshot.bin binary file 2017-11-27 12:18:05 -05:00
Marshall Greenblatt
facee1f750 - Add cache awareness to CefURLRequest (issue #2283)
- Properly set referer values on server requests (issue #2278)
2017-11-17 17:14:05 -05:00
Marshall Greenblatt
7e783d6a37 Linux: Fix missing ui::Service symbols (issue #2294) 2017-11-16 12:23:51 -05:00
Marshall Greenblatt
059ed41926 Linux: Don't generate Chromium installer packages (issue #2301) 2017-11-15 19:28:16 -05:00
Marshall Greenblatt
7840b4f406 Enable Brotli encoding (issue #2303) 2017-11-15 17:21:34 -05:00
Lk Xf
4a6e9b636e Allow inclusion of cef_application_mac.h from pure C/ObjC (issue #2297) 2017-11-15 19:55:16 +00:00
Marshall Greenblatt
89a1f2b372 Add CefServer API for handling HTTP/WebSocket requests (issue #2278) 2017-11-15 12:00:36 -05:00
Marshall Greenblatt
bfdc2655ad Windows: Add VS2017.4 build support 2017-11-01 16:27:40 -04:00
Marshall Greenblatt
51136f6541 cmake: Fix accidental version dependency break (issue #2293) 2017-11-01 16:27:34 -04:00
Marshall Greenblatt
9f7bdcf7d5 Don't create 'GPUCache' and 'databases' directories when cache-path is unspecified (issue #2289) 2017-10-30 16:52:39 -04:00
Marshall Greenblatt
486e69e23b Windows: Add missing swiftshader binaries to distribution (issue #2291) 2017-10-30 14:49:25 -04:00
Marshall Greenblatt
c506c8c5c0 Windows: Don't recommend is_win_fastlink=true with VS2017 (issue #1691) 2017-10-27 19:02:59 -04:00
Marshall Greenblatt
4787b45db2 Resolve request mapping issues with swapped out frames and browser-side navigation (issue #2290) 2017-10-26 15:58:57 -04:00
Marshall Greenblatt
2733a561e4 Disable browser-side navigation by default (issue #2290) 2017-10-26 15:58:49 -04:00
Marshall Greenblatt
9334a09176 Set the correct response status on internal redirects 2017-10-26 15:58:43 -04:00
Marshall Greenblatt
8b4980b4ca Update to Chromium revision adb61db1 (#508578) 2017-10-26 15:58:05 -04:00
Marshall Greenblatt
c80264ab11 Add "win-rt-app" command-line flag to disable MITIGATION_STRICT_HANDLE_CHECKS
and avoid sandboxed renderer process crash in WinRT apps (issue #2274)
2017-09-29 11:17:36 +02:00
Marshall Greenblatt
607a1d9f49 Add chrome.tabs.create API support (issue #1947) 2017-09-28 15:41:10 +02:00
Marshall Greenblatt
3006329678 Simplify PrefService initialization (issue #1947) 2017-09-25 15:12:12 +02:00
Marshall Greenblatt
f372e90025 Linux: Fix client termination (issue #2268) 2017-09-21 07:05:36 -07:00
Marshall Greenblatt
6bcbefa5fc Fix task runner checking 2017-09-21 14:23:02 +02:00
Marshall Greenblatt
b0edce9c9d Windows: Add missing pe_image.lib to cef_sandbox.lib (issue #2266) 2017-09-20 11:34:30 +02:00
Kaustubh Vats
c95b92f1e8 macOS: Fix horizontal scrolling with trackpad (issue #2261) 2017-09-13 16:47:43 +00:00
Marshall Greenblatt
c1269e105d automate-git.py: Fix application of DEPS.patch 2017-09-12 15:57:56 -04:00
Marshall Greenblatt
3f48f8ec54 Linux: Fix 32-bit build fails with ld.gold: internal error in get_section_contents, at icf.cc:467 (issue #2256) 2017-09-12 13:22:39 -04:00
Ryan Shetley
d8a602ed2f Add support for Chrome Storage Extension API (issue #1947)
- Supports chrome.storage.local and chrome.storage.sync
- chrome.storage.sync behaves identically to chrome.storage.local
2017-09-11 18:42:30 +00:00
Marshall Greenblatt
a028976ac4 Update to Chromium revision fa6a5d87 (#499098) 2017-09-07 17:29:47 -04:00
Marshall Greenblatt
22d2fc50d1 Add QUIC protocol configuration support (issue #2184) 2017-09-05 14:21:56 -04:00
Marshall Greenblatt
05cddc2490 Windows: Fix crash during window creation (see https://crbug.com/761389) 2017-09-05 11:41:34 -04:00
Marshall Greenblatt
ed5208366c Windows: Wait for WM_NCDESTROY before calling OnBeforeClose (issue #2248) 2017-08-31 18:10:51 -04:00
Ryan Shetley
dddfce456c Add support for Chrome Alarms Extension API (issue #1947) 2017-08-30 11:46:21 +00:00
Marshall Greenblatt
64e6971099 views: Linux: Support CefWindowDelegate::CanResize restriction 2017-08-25 18:42:10 -04:00
Marshall Greenblatt
7f6c18af09 Fix shutdown assertion in SchemaRegistryServiceFactory after loading chrome://system 2017-08-25 18:42:10 -04:00
Marshall Greenblatt
9cff99dc4e Add support for loading extensions (issue #1947)
- Add CefRequestContext::LoadExtension, CefExtension, CefExtensionHandler and
  related methods/interfaces.
- Add chrome://extensions-support that lists supported Chrome APIs.
- Add CefBrowserHost::SetAutoResizeEnabled and CefDisplayHandler::OnAutoResize
  to support browser resize based on preferred web contents size.
- views: Add support for custom CefMenuButton popups.
- cefclient: Run with `--load-extension=set_page_color` command-line flag for
  an extension loading example. Add `--use-views` on Windows and Linux for an
  even better example.
2017-08-25 18:40:32 -04:00
Sergey Linev
5b12134a45 Linux: Fix error: suggest explicit braces to avoid ambiguous ‘else’ [-Werror=dangling-else] with gcc 7.1 2017-08-11 16:56:52 +00:00
Marshall Greenblatt
76eb49196e Fix crash loading chrome://net-internals 2017-08-10 16:58:05 -04:00
Marshall Greenblatt
b153ba46db Fix Widevine DRM loading 2017-08-09 14:56:17 -04:00
Marshall Greenblatt
7b94ec0c8b views: Fix LabelButton size calculation 2017-08-08 19:44:52 -04:00
Marshall Greenblatt
f229796a39 Update to Chromium revision ff259bab (#488528) 2017-07-28 18:30:34 -04:00
Marshall Greenblatt
6da2bbf229 Windows: Fix dialog loading for component build (issue #1617) 2017-07-24 12:14:27 -04:00
Marshall Greenblatt
85c945bc00 Add missing deps for component build (issue #1617) 2017-07-19 12:41:18 -04:00
Marshall Greenblatt
0c24e90b44 Fix errors on gclient sync of older release branches (issue #2211) 2017-07-18 17:07:23 -04:00
Marshall Greenblatt
1aea3a06a5 Linux/Mac: Fix handling of command-line arguments (issue #2208) 2017-07-18 13:57:04 -07:00
Marshall Greenblatt
796c7b6c59 Windows: Build cef_sandbox.lib with different GN args for official binary distributions (issue #2220) 2017-07-18 15:52:18 -04:00
Marshall Greenblatt
700123d3eb Add support for loading certificate revocation lists (issue #2213) 2017-07-11 15:44:35 -04:00
Marshall Greenblatt
b216f427f6 Add component build support (issue #1617) 2017-07-06 18:22:13 -04:00
Marshall Greenblatt
c080187908 Fix incorrect OSR browser display during navigation (issue #2209) 2017-07-05 15:18:52 -04:00
Marshall Greenblatt
75acd20e9a Fix OSR PDF mouse events after keyboard input (issue #2078) 2017-06-30 16:30:30 -04:00
Marshall Greenblatt
8e69e3dcea Windows/macOS: Fix incorrect clear of buffer during software rendering (issue #2197) 2017-06-23 18:37:49 -04:00
Marshall Greenblatt
cb0dfccddc Fix OSR PDF mouse wheel scrolling (issue #2078) 2017-06-23 15:28:56 -04:00
Marshall Greenblatt
2773518869 Windows: cefclient: Fix ATL-related build errors (issue #2200) 2017-06-19 15:00:18 +03:00
Marshall Greenblatt
70a01250e1 Linux: Don't pass NULL CefBrowser to PrintHandler::GetPdfPaperSize (issue #2199) 2017-06-17 12:49:41 +03:00
Marshall Greenblatt
dce5d5c28f Linux: Pass CefBrowser to CefPrintHandler callbacks (issue #2196) 2017-06-15 08:58:54 -07:00
Marshall Greenblatt
5918d426b3 Fix gtest path (issue #2188) 2017-06-13 17:09:59 +03:00
Marshall Greenblatt
943ffb217b macOS: Fix error: unknown type name 'size_t' 2017-06-05 15:38:49 +03:00
Marshall Greenblatt
09f021be88 Linux: Update to debian jessie sysroots 2017-06-05 15:38:42 +03:00
Marshall Greenblatt
5c79944b31 Update to Chromium revision d483fb77 (#474934)
- CefLifeSpanHandler::OnBeforePopup is now called on the UI thread.
- Remove CefBrowserSettings.javascript_open_windows which is no
  longer supported.
2017-06-02 05:55:23 -07:00
Marshall Greenblatt
12150b43d2 Apply yapf formatting to all Python files (issue #2171) 2017-05-28 15:04:18 +02:00
Marshall Greenblatt
59606b88d2 Update tooling to use yapf for Python file formatting (issue #2171) 2017-05-28 15:03:42 +02:00
Marshall Greenblatt
d4f06e3806 Move matching h file to top of header list (issue #2171) 2017-05-19 11:11:18 +02:00
Marshall Greenblatt
f6eb19f8d6 Fix discovery of the .clang-format file (issue #2171) 2017-05-19 11:00:44 +02:00
Marshall Greenblatt
24e20aec0f Fix duplicate definition of MSVC_PUSH_DISABLE_WARNING (issue #2171) 2017-05-18 12:30:06 +02:00
Marshall Greenblatt
31d9407ee2 Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00
Marshall Greenblatt
a566549e04 Update tooling to use clang-format (issue #2171) 2017-05-18 12:30:04 +02:00
Nishant Kaushik
816f700d3e Implement accessibility enhancements (issue #1217)
- Add new CefBrowserHost::SetAccessibilityState method for toggling
  accessibility state when readers are detected by the client.
- Add new CefAccessibilityHandler interface for the delivery of
  accessibility notifications to windowless (OSR) clients.
- Fix delivery of CefFocusHandler callbacks to windowless clients.
- cefclient: Add example windowless accessibility implementation on Windows and macOS.
- cefclient: Automatically detect screen readers on Windows and macOS.
2017-05-12 18:28:25 +00:00
Marshall Greenblatt
64fcfa6068 Linux: cefclient: Add OSR drag&drop implementation (issue #2008) 2017-05-11 12:06:32 -07:00
Marshall Greenblatt
67e23b472a Expose drag image via CefDragData (issue #1715) 2017-05-11 14:22:21 -04:00
Marshall Greenblatt
eaa0942690 Make CMake target settings private (issue #2007) 2017-05-11 13:43:38 -04:00
Marshall Greenblatt
49d1fe3b30 CMake configuration improvements (issue #2120)
- Windows: Fix excessive Ninja build warnings.
- Windows: Fix ATL detection for different VC toolchain paths.
- Windows: Fix Ninja Debug build when official build sandbox is enabled.
- Update build tool version recommendations.
2017-05-11 13:19:35 -04:00
Marshall Greenblatt
eea39b8413 Windows: Fix wrong calling convention with gcc compiler (issue 1209) 2017-05-10 16:26:11 -04:00
Marshall Greenblatt
b28a6145a1 Make the CefAuthCallback::Continue password parameter optional (issue #1928) 2017-05-10 12:16:53 -04:00
Marshall Greenblatt
7a02419cac Fix crash when parent is destroyed during popup creation (issue #2041) 2017-05-09 18:54:34 -04:00
Marshall Greenblatt
1347fec298 Remove unused function (issue #1853) 2017-05-09 17:14:02 -04:00
Marshall Greenblatt
51e8c53f30 Remove CefForceShutdown and make failure to call CefShutdown a DCHECK instead (issue #1932) 2017-05-09 15:52:52 -04:00
Marshall Greenblatt
77097ffab7 Remove the CefSettings.context_safety_implementation option (issue #1853).
The default hash implementation will now always be used.
2017-05-09 15:29:27 -04:00
Andrew Warnick
96f9108343 Fix crash when a resource is cancelled due to browser closing (issue #2165) 2017-05-09 15:30:48 +00:00
Marshall Greenblatt
e5ad5a8fcd Fix DCHECK during Find (issue #2050) 2017-05-05 15:34:20 -04:00
Marshall Greenblatt
86c329e790 Linux: Fix DCHECK during GPU feature info detection. 2017-05-04 16:58:47 -07:00
Marshall Greenblatt
3f970689a0 Popups must share the parent context to avoid crashes on parent browser destruction (issue #2162) 2017-05-04 18:17:24 -04:00
Marshall Greenblatt
5a5b538af7 macOS: Fix incorrect creation of NSAutoreleasePool (issue #2160) 2017-04-28 17:49:23 -04:00
Marshall Greenblatt
6d97cfb761 cefclient: macOS: Fix Xcode 5 compile error (issue #2116) 2017-04-28 17:19:29 -04:00
Marshall Greenblatt
b85e69a94c Add support for WebRTC screen sharing (issue #1065) 2017-04-28 16:39:37 -04:00
Marshall Greenblatt
03e25c778a Exit early when patches fail to apply (issue #2012) 2017-04-27 15:20:50 -04:00
Marshall Greenblatt
6a603af993 Fix IndexedDB quota (issue #2070) 2017-04-27 14:59:31 -04:00
Marshall Greenblatt
4fe6ac0d4b Use git apply for applying patch files (issue #1825) 2017-04-27 13:53:32 -04:00
Marshall Greenblatt
a2b8c250a8 Windows: Revert early chrome_elf crashpad initialization (issue #2122) 2017-04-27 13:20:33 -04:00
Marshall Greenblatt
0a2b82757a cefclient: macOS: Fix crash during shutdown from full-screen (issue #2158) 2017-04-26 15:17:49 -04:00
Marshall Greenblatt
f440f850ef cefclient: macOS: Fix CefBrowser leak during OSR shutdown (issue #2151) 2017-04-26 15:05:12 -04:00
Marshall Greenblatt
f2b988a0ce Windows: Fix crash on touch press text selection (issue #2149) 2017-04-26 12:49:30 -04:00
Marshall Greenblatt
10fccbd6cf Windows: Fix VS2008 compile error (issue #2155) 2017-04-26 12:15:59 -04:00
1331 changed files with 50319 additions and 19575 deletions

503
BUILD.gn

File diff suppressed because it is too large Load Diff

View File

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

73
CHROMIUM_UPDATE.txt Normal file
View File

@@ -0,0 +1,73 @@
# The Chromium Embedded Framework (CEF) project is built on top of the Chromium
# project source tree. When updating Chromium to a new version certain files and
# patterns should be observed for changes. If changes are detected then the CEF
# source code or patch files will likely need to be updated.
#
# Add `--log-chromium-changes` to the automate-git.py command-line to output
# the following files in the <download-dir>:
#
# * chromium_update_changes.diff
# Files in the chromium/src directory that have changed. See the 'files'
# section below.
#
# * chromium_update_patterns.txt
# Files in the chromium/src directory that contain invalid/unexpected
# patterns. See the 'patterns' section below. Failure of this step is
# considered a fatal error during update.
#
# * chromium_update_patches.txt
# Output from attempting to update existing Chromium patch files using the
# patch_updater.py tool. Failure of this step is considered a fatal error
# during update.
#
# For complete update instructions see:
# https://bitbucket.org/chromiumembedded/cef/wiki/ChromiumUpdate.md
{
# Files in the chromium/src directory that should be evaluated for changes.
# Similar changes may need to be applied to the CEF source code.
'files': [
'chrome/browser/browser_process.h',
'chrome/browser/extensions/api/tabs/tabs_api.*',
'chrome/browser/extensions/chrome_component_extension_resource_manager.*',
'chrome/browser/extensions/chrome_extension_web_contents_observer.*',
'chrome/browser/extensions/component_loader.*',
'chrome/browser/extensions/extension_service.*',
'chrome/browser/printing/print_view_manager*',
'chrome/browser/printing/printing_message_filter*',
'chrome/browser/profiles/profile.h',
'chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.*',
'chrome/common/extensions/api/*_features.json',
'chrome/renderer/chrome_content_renderer_client.*',
'chrome/renderer/extensions/chrome_extensions_renderer_client.*',
'content/browser/renderer_host/render_widget_host_view_base.*',
'content/public/browser/content_browser_client.*',
'content/public/browser/render_widget_host_view.h',
'content/public/browser/storage_partition.h',
'content/public/browser/web_contents_delegate.h',
'content/public/common/content_features.cc',
'content/shell/BUILD.gn',
'content/shell/app/*',
'content/shell/browser/shell_*',
'content/shell/browser/renderer_host/shell_*',
'content/shell/common/shell_*',
'content/shell/gpu/shell_*',
'content/shell/renderer/shell_*',
'content/shell/utility/shell_*',
'extensions/shell/*',
'net/cookies/cookie_store.h',
],
# Patterns that should not be found in the chromium/src directory after
# applying patch files.
'patterns': [
{
# New instances of this static_cast are added to the Chromium sources with
# some regularity. If unfixed they will result in runtime crashes.
'pattern': 'static_cast<StoragePartitionImpl\*>(',
'exclude_matches': '^(.+?)test(.+?):',
'message': 'New instances in non-test files should be converted to ' +\
'call StoragePartition methods.' +\
'\nSee storage_partition_1973.patch.',
},
],
}

View File

@@ -199,10 +199,12 @@ add_subdirectory(${CEF_LIBCEF_DLL_WRAPPER_PATH} libcef_dll_wrapper)
# Include application targets.
# Comes from the <target>/CMakeLists.txt file in the current directory.
# TODO: Change these lines to match your project target when you copy this file.
add_subdirectory(tests/cefclient)
add_subdirectory(tests/cefsimple)
add_subdirectory(tests/gtest)
add_subdirectory(tests/ceftests)
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tests")
add_subdirectory(tests/cefclient)
add_subdirectory(tests/cefsimple)
add_subdirectory(tests/gtest)
add_subdirectory(tests/ceftests)
endif()
# Display configuration settings.
PRINT_CEF_CONFIG()

View File

@@ -42,7 +42,7 @@ The CEF project is an extension of the Chromium project. CEF maintains developme
The base CEF framework includes support for the C and C++ programming languages. Thanks to the hard work of external maintainers CEF can integrate with a number of other programming languages and frameworks. These external projects are not maintained by CEF so please contact the respective project maintainer if you have any questions or issues.
* .Net - https://github.com/chillitom/CefSharp
* .Net (CEF3) - https://github.com/cefsharp/CefSharp
* .Net (CEF1) - https://bitbucket.org/fddima/cefglue
* .Net/Mono (CEF3) - https://bitbucket.org/xilium/xilium.cefglue
* .Net (CEF3) - https://bitbucket.org/chromiumfx/chromiumfx
@@ -82,4 +82,4 @@ If you would like to contribute source code changes to CEF please follow the bel
* Be submitted against the current [CEF master branch](https://bitbucket.org/chromiumembedded/cef/src/?at=master) unless explicitly fixing a bug in a CEF release branch.
* Follow the style of existing CEF source files. In general CEF uses the [Chromium coding style](http://www.chromium.org/developers/coding-style).
* Include new or modified unit tests as appropriate to the functionality.
* Not include unnecessary or unrelated changes.
* Not include unnecessary or unrelated changes.

View File

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2017 The Chromium Embedded Framework Authors. All rights
# Copyright (c) 2019 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=9b613878ab9c9f72136f890b1df4a145d6341790$
# $hash=ebb10ec8232ea37044d01a4522248b5055f5c1fc$
#
{
@@ -32,12 +32,12 @@
'include/cef_download_item.h',
'include/cef_drag_data.h',
'include/cef_drag_handler.h',
'include/cef_extension.h',
'include/cef_extension_handler.h',
'include/cef_file_util.h',
'include/cef_find_handler.h',
'include/cef_focus_handler.h',
'include/cef_frame.h',
'include/cef_geolocation.h',
'include/cef_geolocation_handler.h',
'include/cef_image.h',
'include/cef_jsdialog_handler.h',
'include/cef_keyboard_handler.h',
@@ -65,6 +65,7 @@
'include/cef_response.h',
'include/cef_response_filter.h',
'include/cef_scheme.h',
'include/cef_server.h',
'include/cef_ssl_info.h',
'include/cef_ssl_status.h',
'include/cef_stream.h',
@@ -80,6 +81,7 @@
'include/cef_x509_certificate.h',
'include/cef_xml_reader.h',
'include/cef_zip_reader.h',
'include/test/cef_test_helpers.h',
'include/test/cef_translator_test.h',
'include/views/cef_box_layout.h',
'include/views/cef_browser_view.h',
@@ -121,12 +123,12 @@
'include/capi/cef_download_item_capi.h',
'include/capi/cef_drag_data_capi.h',
'include/capi/cef_drag_handler_capi.h',
'include/capi/cef_extension_capi.h',
'include/capi/cef_extension_handler_capi.h',
'include/capi/cef_file_util_capi.h',
'include/capi/cef_find_handler_capi.h',
'include/capi/cef_focus_handler_capi.h',
'include/capi/cef_frame_capi.h',
'include/capi/cef_geolocation_capi.h',
'include/capi/cef_geolocation_handler_capi.h',
'include/capi/cef_image_capi.h',
'include/capi/cef_jsdialog_handler_capi.h',
'include/capi/cef_keyboard_handler_capi.h',
@@ -154,6 +156,7 @@
'include/capi/cef_response_capi.h',
'include/capi/cef_response_filter_capi.h',
'include/capi/cef_scheme_capi.h',
'include/capi/cef_server_capi.h',
'include/capi/cef_ssl_info_capi.h',
'include/capi/cef_ssl_status_capi.h',
'include/capi/cef_stream_capi.h',
@@ -169,6 +172,7 @@
'include/capi/cef_x509_certificate_capi.h',
'include/capi/cef_xml_reader_capi.h',
'include/capi/cef_zip_reader_capi.h',
'include/capi/test/cef_test_helpers_capi.h',
'include/capi/test/cef_translator_test_capi.h',
'include/capi/views/cef_box_layout_capi.h',
'include/capi/views/cef_browser_view_capi.h',
@@ -264,6 +268,10 @@
'libcef_dll/ctocpp/drag_handler_ctocpp.h',
'libcef_dll/ctocpp/end_tracing_callback_ctocpp.cc',
'libcef_dll/ctocpp/end_tracing_callback_ctocpp.h',
'libcef_dll/cpptoc/extension_cpptoc.cc',
'libcef_dll/cpptoc/extension_cpptoc.h',
'libcef_dll/ctocpp/extension_handler_ctocpp.cc',
'libcef_dll/ctocpp/extension_handler_ctocpp.h',
'libcef_dll/cpptoc/file_dialog_callback_cpptoc.cc',
'libcef_dll/cpptoc/file_dialog_callback_cpptoc.h',
'libcef_dll/cpptoc/views/fill_layout_cpptoc.cc',
@@ -274,12 +282,8 @@
'libcef_dll/ctocpp/focus_handler_ctocpp.h',
'libcef_dll/cpptoc/frame_cpptoc.cc',
'libcef_dll/cpptoc/frame_cpptoc.h',
'libcef_dll/cpptoc/geolocation_callback_cpptoc.cc',
'libcef_dll/cpptoc/geolocation_callback_cpptoc.h',
'libcef_dll/ctocpp/geolocation_handler_ctocpp.cc',
'libcef_dll/ctocpp/geolocation_handler_ctocpp.h',
'libcef_dll/ctocpp/get_geolocation_callback_ctocpp.cc',
'libcef_dll/ctocpp/get_geolocation_callback_ctocpp.h',
'libcef_dll/cpptoc/get_extension_resource_callback_cpptoc.cc',
'libcef_dll/cpptoc/get_extension_resource_callback_cpptoc.h',
'libcef_dll/cpptoc/image_cpptoc.cc',
'libcef_dll/cpptoc/image_cpptoc.h',
'libcef_dll/cpptoc/jsdialog_callback_cpptoc.cc',
@@ -302,6 +306,8 @@
'libcef_dll/cpptoc/views/menu_button_cpptoc.h',
'libcef_dll/ctocpp/views/menu_button_delegate_ctocpp.cc',
'libcef_dll/ctocpp/views/menu_button_delegate_ctocpp.h',
'libcef_dll/cpptoc/views/menu_button_pressed_lock_cpptoc.cc',
'libcef_dll/cpptoc/views/menu_button_pressed_lock_cpptoc.h',
'libcef_dll/cpptoc/menu_model_cpptoc.cc',
'libcef_dll/cpptoc/menu_model_cpptoc.h',
'libcef_dll/ctocpp/menu_model_delegate_ctocpp.cc',
@@ -376,6 +382,10 @@
'libcef_dll/cpptoc/views/scroll_view_cpptoc.h',
'libcef_dll/cpptoc/select_client_certificate_callback_cpptoc.cc',
'libcef_dll/cpptoc/select_client_certificate_callback_cpptoc.h',
'libcef_dll/cpptoc/server_cpptoc.cc',
'libcef_dll/cpptoc/server_cpptoc.h',
'libcef_dll/ctocpp/server_handler_ctocpp.cc',
'libcef_dll/ctocpp/server_handler_ctocpp.h',
'libcef_dll/ctocpp/set_cookie_callback_ctocpp.cc',
'libcef_dll/ctocpp/set_cookie_callback_ctocpp.h',
'libcef_dll/cpptoc/stream_reader_cpptoc.cc',
@@ -422,6 +432,8 @@
'libcef_dll/ctocpp/urlrequest_client_ctocpp.h',
'libcef_dll/ctocpp/v8accessor_ctocpp.cc',
'libcef_dll/ctocpp/v8accessor_ctocpp.h',
'libcef_dll/ctocpp/v8array_buffer_release_callback_ctocpp.cc',
'libcef_dll/ctocpp/v8array_buffer_release_callback_ctocpp.h',
'libcef_dll/cpptoc/v8context_cpptoc.cc',
'libcef_dll/cpptoc/v8context_cpptoc.h',
'libcef_dll/cpptoc/v8exception_cpptoc.cc',
@@ -538,6 +550,10 @@
'libcef_dll/cpptoc/drag_handler_cpptoc.h',
'libcef_dll/cpptoc/end_tracing_callback_cpptoc.cc',
'libcef_dll/cpptoc/end_tracing_callback_cpptoc.h',
'libcef_dll/ctocpp/extension_ctocpp.cc',
'libcef_dll/ctocpp/extension_ctocpp.h',
'libcef_dll/cpptoc/extension_handler_cpptoc.cc',
'libcef_dll/cpptoc/extension_handler_cpptoc.h',
'libcef_dll/ctocpp/file_dialog_callback_ctocpp.cc',
'libcef_dll/ctocpp/file_dialog_callback_ctocpp.h',
'libcef_dll/ctocpp/views/fill_layout_ctocpp.cc',
@@ -548,12 +564,8 @@
'libcef_dll/cpptoc/focus_handler_cpptoc.h',
'libcef_dll/ctocpp/frame_ctocpp.cc',
'libcef_dll/ctocpp/frame_ctocpp.h',
'libcef_dll/ctocpp/geolocation_callback_ctocpp.cc',
'libcef_dll/ctocpp/geolocation_callback_ctocpp.h',
'libcef_dll/cpptoc/geolocation_handler_cpptoc.cc',
'libcef_dll/cpptoc/geolocation_handler_cpptoc.h',
'libcef_dll/cpptoc/get_geolocation_callback_cpptoc.cc',
'libcef_dll/cpptoc/get_geolocation_callback_cpptoc.h',
'libcef_dll/ctocpp/get_extension_resource_callback_ctocpp.cc',
'libcef_dll/ctocpp/get_extension_resource_callback_ctocpp.h',
'libcef_dll/ctocpp/image_ctocpp.cc',
'libcef_dll/ctocpp/image_ctocpp.h',
'libcef_dll/ctocpp/jsdialog_callback_ctocpp.cc',
@@ -576,6 +588,8 @@
'libcef_dll/ctocpp/views/menu_button_ctocpp.h',
'libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.cc',
'libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.h',
'libcef_dll/ctocpp/views/menu_button_pressed_lock_ctocpp.cc',
'libcef_dll/ctocpp/views/menu_button_pressed_lock_ctocpp.h',
'libcef_dll/ctocpp/menu_model_ctocpp.cc',
'libcef_dll/ctocpp/menu_model_ctocpp.h',
'libcef_dll/cpptoc/menu_model_delegate_cpptoc.cc',
@@ -650,6 +664,10 @@
'libcef_dll/ctocpp/views/scroll_view_ctocpp.h',
'libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.cc',
'libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.h',
'libcef_dll/ctocpp/server_ctocpp.cc',
'libcef_dll/ctocpp/server_ctocpp.h',
'libcef_dll/cpptoc/server_handler_cpptoc.cc',
'libcef_dll/cpptoc/server_handler_cpptoc.h',
'libcef_dll/cpptoc/set_cookie_callback_cpptoc.cc',
'libcef_dll/cpptoc/set_cookie_callback_cpptoc.h',
'libcef_dll/ctocpp/stream_reader_ctocpp.cc',
@@ -696,6 +714,8 @@
'libcef_dll/cpptoc/urlrequest_client_cpptoc.h',
'libcef_dll/cpptoc/v8accessor_cpptoc.cc',
'libcef_dll/cpptoc/v8accessor_cpptoc.h',
'libcef_dll/cpptoc/v8array_buffer_release_callback_cpptoc.cc',
'libcef_dll/cpptoc/v8array_buffer_release_callback_cpptoc.h',
'libcef_dll/ctocpp/v8context_ctocpp.cc',
'libcef_dll/ctocpp/v8context_ctocpp.h',
'libcef_dll/ctocpp/v8exception_ctocpp.cc',

View File

@@ -26,7 +26,6 @@
'include/base/cef_string16.h',
'include/base/cef_template_util.h',
'include/base/cef_thread_checker.h',
'include/base/cef_thread_collision_warner.h',
'include/base/cef_trace_event.h',
'include/base/cef_tuple.h',
'include/base/cef_weak_ptr.h',
@@ -66,6 +65,9 @@
'include/wrapper/cef_xml_object.h',
'include/wrapper/cef_zip_archive.h',
],
'includes_wrapper_mac': [
'include/wrapper/cef_library_loader.h',
],
'includes_win': [
'include/base/internal/cef_atomicops_x86_msvc.h',
'include/base/internal/cef_bind_internal_win.h',
@@ -77,6 +79,7 @@
'include/base/internal/cef_atomicops_atomicword_compat.h',
'include/base/internal/cef_atomicops_mac.h',
'include/cef_application_mac.h',
'include/cef_sandbox_mac.h',
'include/internal/cef_mac.h',
'include/internal/cef_types_mac.h',
],
@@ -115,7 +118,6 @@
'libcef_dll/base/cef_ref_counted.cc',
'libcef_dll/base/cef_string16.cc',
'libcef_dll/base/cef_thread_checker_impl.cc',
'libcef_dll/base/cef_thread_collision_warner.cc',
'libcef_dll/base/cef_weak_ptr.cc',
],
'libcef_dll_wrapper_sources_common': [
@@ -143,9 +145,17 @@
'libcef_dll/wrapper/libcef_dll_wrapper.cc',
'libcef_dll/wrapper/libcef_dll_wrapper2.cc',
],
'libcef_dll_wrapper_sources_mac': [
'libcef_dll/wrapper/cef_library_loader_mac.mm',
'libcef_dll/wrapper/libcef_dll_dylib.cc',
],
'shared_sources_browser': [
'tests/shared/browser/client_app_browser.cc',
'tests/shared/browser/client_app_browser.h',
'tests/shared/browser/extension_util.cc',
'tests/shared/browser/extension_util.h',
'tests/shared/browser/file_util.cc',
'tests/shared/browser/file_util.h',
'tests/shared/browser/geometry_util.cc',
'tests/shared/browser/geometry_util.h',
'tests/shared/browser/main_message_loop.cc',
@@ -155,8 +165,6 @@
'tests/shared/browser/main_message_loop_std.cc',
'tests/shared/browser/main_message_loop_std.h',
'tests/shared/browser/resource_util.h',
'tests/shared/browser/resource_util.cc',
'tests/shared/browser/resource_util.h',
],
'shared_sources_common': [
'tests/shared/common/client_app.cc',
@@ -216,6 +224,8 @@
'tests/cefclient/browser/dialog_test.h',
'tests/cefclient/browser/drm_test.cc',
'tests/cefclient/browser/drm_test.h',
'tests/cefclient/browser/image_cache.cc',
'tests/cefclient/browser/image_cache.h',
'tests/cefclient/browser/main_context.cc',
'tests/cefclient/browser/main_context.h',
'tests/cefclient/browser/main_context_impl.cc',
@@ -223,6 +233,7 @@
'tests/cefclient/browser/osr_dragdrop_events.h',
'tests/cefclient/browser/osr_renderer.h',
'tests/cefclient/browser/osr_renderer.cc',
'tests/cefclient/browser/osr_renderer_settings.h',
'tests/cefclient/browser/preferences_test.cc',
'tests/cefclient/browser/preferences_test.h',
'tests/cefclient/browser/resource.h',
@@ -235,6 +246,8 @@
'tests/cefclient/browser/root_window_manager.h',
'tests/cefclient/browser/scheme_test.cc',
'tests/cefclient/browser/scheme_test.h',
'tests/cefclient/browser/server_test.cc',
'tests/cefclient/browser/server_test.h',
'tests/cefclient/browser/temp_window.h',
'tests/cefclient/browser/test_runner.cc',
'tests/cefclient/browser/test_runner.h',
@@ -273,11 +286,20 @@
'tests/cefclient/resources/performance2.html',
'tests/cefclient/resources/preferences.html',
'tests/cefclient/resources/response_filter.html',
'tests/cefclient/resources/server.html',
'tests/cefclient/resources/transparency.html',
'tests/cefclient/resources/urlrequest.html',
'tests/cefclient/resources/websocket.html',
'tests/cefclient/resources/window.html',
'tests/cefclient/resources/xmlhttprequest.html',
],
'cefclient_sources_resources_extensions_set_page_color': [
'tests/cefclient/resources/extensions/set_page_color/icon.png',
'tests/cefclient/resources/extensions/set_page_color/manifest.json',
'tests/cefclient/resources/extensions/set_page_color/popup.html',
'tests/cefclient/resources/extensions/set_page_color/popup.js',
'tests/cefclient/resources/extensions/set_page_color/README.md',
],
'cefclient_sources_win': [
'tests/cefclient/browser/browser_window_osr_win.cc',
'tests/cefclient/browser/browser_window_osr_win.h',
@@ -295,6 +317,14 @@
'tests/cefclient/browser/osr_dragdrop_win.h',
'tests/cefclient/browser/osr_ime_handler_win.cc',
'tests/cefclient/browser/osr_ime_handler_win.h',
'tests/cefclient/browser/osr_d3d11_win.cc',
'tests/cefclient/browser/osr_d3d11_win.h',
'tests/cefclient/browser/osr_render_handler_win.cc',
'tests/cefclient/browser/osr_render_handler_win.h',
'tests/cefclient/browser/osr_render_handler_win_d3d11.cc',
'tests/cefclient/browser/osr_render_handler_win_d3d11.h',
'tests/cefclient/browser/osr_render_handler_win_gl.cc',
'tests/cefclient/browser/osr_render_handler_win_gl.h',
'tests/cefclient/browser/osr_window_win.cc',
'tests/cefclient/browser/osr_window_win.h',
'tests/cefclient/browser/resource_util_win_idmap.cc',
@@ -355,6 +385,8 @@
'tests/cefclient/browser/dialog_handler_gtk.cc',
'tests/cefclient/browser/dialog_handler_gtk.h',
'tests/cefclient/browser/main_context_impl_posix.cc',
'tests/cefclient/browser/main_message_loop_multithreaded_gtk.cc',
'tests/cefclient/browser/main_message_loop_multithreaded_gtk.h',
'tests/cefclient/browser/print_handler_gtk.cc',
'tests/cefclient/browser/print_handler_gtk.h',
'tests/cefclient/browser/resource_util_linux.cc',
@@ -364,6 +396,8 @@
'tests/cefclient/browser/root_window_views.h',
'tests/cefclient/browser/temp_window_x11.cc',
'tests/cefclient/browser/temp_window_x11.h',
'tests/cefclient/browser/util_gtk.cc',
'tests/cefclient/browser/util_gtk.h',
'tests/cefclient/browser/views_menu_bar.cc',
'tests/cefclient/browser/views_menu_bar.h',
'tests/cefclient/browser/views_style.cc',
@@ -417,11 +451,15 @@
'tests/ceftests/dom_unittest.cc',
'tests/ceftests/download_unittest.cc',
'tests/ceftests/draggable_regions_unittest.cc',
'tests/ceftests/file_util.cc',
'tests/ceftests/file_util.h',
'tests/ceftests/extensions/background_unittest.cc',
'tests/ceftests/extensions/chrome_alarms_unittest.cc',
'tests/ceftests/extensions/chrome_storage_unittest.cc',
'tests/ceftests/extensions/chrome_tabs_unittest.cc',
'tests/ceftests/extensions/extension_test_handler.cc',
'tests/ceftests/extensions/extension_test_handler.h',
'tests/ceftests/extensions/view_unittest.cc',
'tests/ceftests/file_util_unittest.cc',
'tests/ceftests/frame_unittest.cc',
'tests/ceftests/geolocation_unittest.cc',
'tests/ceftests/image_unittest.cc',
'tests/ceftests/image_util.cc',
'tests/ceftests/image_util.h',
@@ -447,6 +485,7 @@
'tests/ceftests/run_all_unittests.cc',
'tests/ceftests/scheme_handler_unittest.cc',
'tests/ceftests/scoped_temp_dir_unittest.cc',
'tests/ceftests/server_unittest.cc',
'tests/ceftests/stream_unittest.cc',
'tests/ceftests/stream_resource_handler_unittest.cc',
'tests/ceftests/string_unittest.cc',
@@ -494,15 +533,14 @@
'tests/ceftests/run_all_unittests_mac.mm',
],
'ceftests_sources_mac_helper': [
'tests/shared/browser/resource_util.cc',
'tests/shared/browser/file_util.cc',
'tests/shared/browser/file_util.h',
'tests/shared/browser/resource_util.h',
'tests/shared/browser/resource_util_mac.mm',
'tests/shared/browser/resource_util_posix.cc',
'tests/ceftests/client_app_delegates.cc',
'tests/ceftests/cookie_unittest.cc',
'tests/ceftests/dom_unittest.cc',
'tests/ceftests/file_util.cc',
'tests/ceftests/file_util.h',
'tests/ceftests/frame_unittest.cc',
'tests/ceftests/message_router_unittest.cc',
'tests/ceftests/navigation_unittest.cc',

View File

@@ -31,10 +31,11 @@ macro(PRINT_CEF_CONFIG)
endif()
if(OS_WINDOWS)
message(STATUS "CEF Windows sandbox: ${USE_SANDBOX}")
message(STATUS "Visual Studio ATL support: ${USE_ATL}")
endif()
message(STATUS "CEF sandbox: ${USE_SANDBOX}")
set(_libraries ${CEF_STANDARD_LIBS})
if(OS_WINDOWS AND USE_SANDBOX)
list(APPEND _libraries ${CEF_SANDBOX_STANDARD_LIBS})
@@ -101,7 +102,19 @@ macro(COPY_FILES target file_list source_dir target_dir)
set(source_file ${source_dir}/${FILENAME})
get_filename_component(target_name ${FILENAME} NAME)
set(target_file ${target_dir}/${target_name})
if(IS_DIRECTORY ${source_file})
string(FIND ${source_file} "$<CONFIGURATION>" _pos)
if(NOT ${_pos} EQUAL -1)
# Must test with an actual configuration directory.
string(REPLACE "$<CONFIGURATION>" "Release" existing_source_file ${source_file})
if(NOT EXISTS ${existing_source_file})
string(REPLACE "$<CONFIGURATION>" "Debug" existing_source_file ${source_file})
endif()
else()
set(existing_source_file ${source_file})
endif()
if(IS_DIRECTORY ${existing_source_file})
add_custom_command(
TARGET ${target}
POST_BUILD
@@ -173,22 +186,6 @@ endif(OS_LINUX)
if(OS_MACOSX)
# Fix the framework rpath in the helper executable.
macro(FIX_MACOSX_HELPER_FRAMEWORK_RPATH target)
# The helper is in $app_name.app/Contents/Frameworks/$app_name Helper.app/Contents/MacOS/
# so set rpath up to Contents/ so that the loader can find Frameworks/.
set_target_properties(${target} PROPERTIES INSTALL_RPATH "@executable_path/../../../..")
set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
endmacro()
# Fix the framework rpath in the main executable.
macro(FIX_MACOSX_MAIN_FRAMEWORK_RPATH target)
# The main app is at $app_name.app/Contents/MacOS/$app_name
# so set rpath up to Contents/ so that the loader can find Frameworks/.
set_target_properties(${target} PROPERTIES INSTALL_RPATH "@executable_path/..")
set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
endmacro()
# Manually process and copy over resource files.
macro(COPY_MACOSX_RESOURCES resource_list prefix_list target source_dir app_path)
foreach(FILENAME ${resource_list})

View File

@@ -66,6 +66,10 @@ list(APPEND CEF_COMPILER_DEFINES
)
# Configure use of the sandbox.
option(USE_SANDBOX "Enable or disable use of the sandbox." ON)
#
# Linux configuration.
#
@@ -86,6 +90,8 @@ if(OS_LINUX)
-Werror # Treat warnings as errors
-Wno-missing-field-initializers # Don't warn about missing field initializers
-Wno-unused-parameter # Don't warn about unused parameters
-Wno-error=comment # Don't warn about code in comments
-Wno-comment # Don't warn about code in comments
)
list(APPEND CEF_C_COMPILER_FLAGS
-std=c99 # Use the C99 language standard
@@ -197,8 +203,12 @@ if(OS_LINUX)
set(CEF_BINARY_FILES
chrome-sandbox
libcef.so
libEGL.so
libGLESv2.so
natives_blob.bin
snapshot_blob.bin
v8_context_snapshot.bin
swiftshader
)
# List of CEF resource files.
@@ -211,6 +221,12 @@ if(OS_LINUX)
icudtl.dat
locales
)
if(USE_SANDBOX)
list(APPEND CEF_COMPILER_DEFINES
CEF_USE_SANDBOX # Used by apps to test if the sandbox is enabled
)
endif()
endif()
@@ -308,9 +324,15 @@ if(OS_MACOSX)
set(CEF_BINARY_DIR_DEBUG "${_CEF_ROOT}/Debug")
set(CEF_BINARY_DIR_RELEASE "${_CEF_ROOT}/Release")
# CEF library paths.
set(CEF_LIB_DEBUG "${CEF_BINARY_DIR_DEBUG}/Chromium Embedded Framework.framework/Chromium Embedded Framework")
set(CEF_LIB_RELEASE "${CEF_BINARY_DIR_RELEASE}/Chromium Embedded Framework.framework/Chromium Embedded Framework")
if(USE_SANDBOX)
list(APPEND CEF_COMPILER_DEFINES
CEF_USE_SANDBOX # Used by apps to test if the sandbox is enabled
)
# CEF sandbox library paths.
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()
endif()
@@ -327,18 +349,36 @@ if(OS_WINDOWS)
set(CMAKE_CXX_FLAGS_RELEASE "")
endif()
# Configure use of the sandbox.
option(USE_SANDBOX "Enable or disable use of the sandbox." ON)
if(USE_SANDBOX AND NOT MSVC_VERSION EQUAL 1900 AND NOT MSVC_VERSION EQUAL 1910)
# The cef_sandbox.lib static library is currently built with VS2015, which
# is compatible with VS2015 and VS2017. It will not link successfully with
# other VS versions.
set(USE_SANDBOX OFF)
if(USE_SANDBOX)
# Check if the current MSVC version is compatible with the cef_sandbox.lib
# static library. For a list of all version numbers see
# https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering
list(APPEND supported_msvc_versions
1900 # VS2015 and updates 1, 2, & 3
1910 # VS2017 version 15.1 & 15.2
1911 # VS2017 version 15.3 & 15.4
1912 # VS2017 version 15.5
1913 # VS2017 version 15.6
1914 # VS2017 version 15.7
1915 # VS2017 version 15.8
)
list(FIND supported_msvc_versions ${MSVC_VERSION} _index)
if (${_index} EQUAL -1)
message(WARNING "CEF sandbox is not compatible with the current MSVC version (${MSVC_VERSION})")
set(USE_SANDBOX OFF)
endif()
endif()
# Consumers who run into LNK4099 warnings can pass /Z7 instead (see issue #385).
set(CEF_DEBUG_INFO_FLAG "/Zi" CACHE STRING "Optional flag specifying specific /Z flag to use")
# Consumers using different runtime types may want to pass different flags
set(CEF_RUNTIME_LIBRARY_FLAG "/MT" CACHE STRING "Optional flag specifying which runtime to use")
if (CEF_RUNTIME_LIBRARY_FLAG)
list(APPEND CEF_COMPILER_FLAGS_DEBUG ${CEF_RUNTIME_LIBRARY_FLAG}d)
list(APPEND CEF_COMPILER_FLAGS_RELEASE ${CEF_RUNTIME_LIBRARY_FLAG})
endif()
# Platform-specific compiler/linker flags.
set(CEF_LIBTYPE STATIC)
list(APPEND CEF_COMPILER_FLAGS
@@ -358,12 +398,10 @@ if(OS_WINDOWS)
${CEF_DEBUG_INFO_FLAG}
)
list(APPEND CEF_COMPILER_FLAGS_DEBUG
/MTd # Multithreaded debug runtime
/RTC1 # Disable optimizations
/Od # Enable basic run-time checks
)
list(APPEND CEF_COMPILER_FLAGS_RELEASE
/MT # Multithreaded release runtime
/O2 # Optimize for maximum speed
/Ob2 # Inline any suitable function
/GF # Enable string pooling
@@ -415,6 +453,8 @@ if(OS_WINDOWS)
libGLESv2.dll
natives_blob.bin
snapshot_blob.bin
v8_context_snapshot.bin
swiftshader
)
# List of CEF resource files.
@@ -439,6 +479,7 @@ if(OS_WINDOWS)
dbghelp.lib
psapi.lib
version.lib
wbemuuid.lib
winmm.lib
)

View File

@@ -39,14 +39,49 @@
#define CEF_INCLUDE_BASE_CEF_ATOMIC_REF_COUNT_H_
#pragma once
#if defined(BASE_ATOMIC_REF_COUNT_H_)
// Do nothing if the Chromium header has already been included.
// This can happen in cases where Chromium code is used directly by the
// client application. When using Chromium code directly always include
// the Chromium header first to avoid type conflicts.
#elif defined(USING_CHROMIUM_INCLUDES)
#if defined(USING_CHROMIUM_INCLUDES)
// When building CEF include the Chromium header directly.
#include "base/atomic_ref_count.h"
// Used when declaring a base::AtomicRefCount value. This is an object type with
// Chromium headers.
#define ATOMIC_DECLARATION (0)
// Maintaining compatibility with AtompicRefCount* functions that were removed
// from Chromium in http://crrev.com/ee96d561.
namespace base {
// Increment a reference count by 1.
inline void AtomicRefCountInc(volatile AtomicRefCount* ptr) {
const_cast<AtomicRefCount*>(ptr)->Increment();
}
// Decrement a reference count by 1 and return whether the result is non-zero.
// Insert barriers to ensure that state written before the reference count
// became zero will be visible to a thread that has just made the count zero.
inline bool AtomicRefCountDec(volatile AtomicRefCount* ptr) {
return const_cast<AtomicRefCount*>(ptr)->Decrement();
}
// Return whether the reference count is one. If the reference count is used
// in the conventional way, a refrerence count of 1 implies that the current
// thread owns the reference and no other thread shares it. This call performs
// the test for a reference count of one, and performs the memory barrier
// needed for the owning thread to act on the object, knowing that it has
// exclusive access to the object.
inline bool AtomicRefCountIsOne(volatile AtomicRefCount* ptr) {
return const_cast<AtomicRefCount*>(ptr)->IsOne();
}
// Return whether the reference count is zero. With conventional object
// referencing counting, the object will be destroyed, so the reference count
// should never be zero. Hence this is generally used for a debug check.
inline bool AtomicRefCountIsZero(volatile AtomicRefCount* ptr) {
return const_cast<AtomicRefCount*>(ptr)->IsZero();
}
} // namespace base
#else // !USING_CHROMIUM_INCLUDES
// The following is substantially similar to the Chromium implementation.
// If the Chromium implementation diverges the below implementation should be
@@ -58,6 +93,10 @@
#define ANNOTATE_HAPPENS_BEFORE(obj) /* empty */
#define ANNOTATE_HAPPENS_AFTER(obj) /* empty */
// Used when declaring a base::AtomicRefCount value. This is an integer/ptr type
// with CEF headers.
#define ATOMIC_DECLARATION = 0
namespace base {
typedef subtle::Atomic32 AtomicRefCount;

View File

@@ -64,6 +64,16 @@ typedef int int32;
typedef unsigned int uint32;
#endif
#ifndef _INT16
#define _INT16
typedef short int16;
#endif
#ifndef _UINT16
#define _UINT16
typedef unsigned short uint16;
#endif
// UTF-16 character type.
// This should be kept synchronized with base/strings/string16.h
#ifndef char16

View File

@@ -162,6 +162,16 @@
#define ALLOW_UNUSED_LOCAL(x) false ? (void)x : (void)0
#endif
// Sanitizers annotations.
#if defined(__has_attribute)
#if __has_attribute(no_sanitize)
#define NO_SANITIZE(what) __attribute__((no_sanitize(what)))
#endif
#endif
#if !defined(NO_SANITIZE)
#define NO_SANITIZE(what)
#endif
#endif // !USING_CHROMIUM_INCLUDES
// Annotate a virtual method indicating it must be overriding a virtual method

View File

@@ -51,7 +51,7 @@
#include "include/base/cef_atomic_ref_count.h"
#include "include/base/cef_build.h"
#include "include/base/cef_logging.h"
#include "include/base/cef_thread_collision_warner.h"
#include "include/base/cef_macros.h"
namespace base {
@@ -60,6 +60,7 @@ namespace cef_subtle {
class RefCountedBase {
public:
bool HasOneRef() const { return ref_count_ == 1; }
bool HasAtLeastOneRef() const { return ref_count_ >= 1; }
protected:
RefCountedBase()
@@ -78,10 +79,6 @@ class RefCountedBase {
}
void AddRef() const {
// TODO(maruel): Add back once it doesn't assert 500 times/sec.
// Current thread books the critical section "AddRelease"
// without release it.
// DFAKE_SCOPED_LOCK_THREAD_LOCKED(add_release_);
#if DCHECK_IS_ON()
DCHECK(!in_dtor_);
#endif
@@ -90,10 +87,6 @@ class RefCountedBase {
// Returns true if the object should self-delete.
bool Release() const {
// TODO(maruel): Add back once it doesn't assert 500 times/sec.
// Current thread books the critical section "AddRelease"
// without release it.
// DFAKE_SCOPED_LOCK_THREAD_LOCKED(add_release_);
#if DCHECK_IS_ON()
DCHECK(!in_dtor_);
#endif
@@ -112,14 +105,13 @@ class RefCountedBase {
mutable bool in_dtor_;
#endif
DFAKE_MUTEX(add_release_);
DISALLOW_COPY_AND_ASSIGN(RefCountedBase);
};
class RefCountedThreadSafeBase {
public:
bool HasOneRef() const;
bool HasAtLeastOneRef() const;
protected:
RefCountedThreadSafeBase();

View File

@@ -86,6 +86,7 @@ typedef std::char_traits<wchar_t> string16_char_traits;
#include "include/base/cef_macros.h"
namespace cef {
namespace base {
typedef uint16_t char16;
@@ -156,7 +157,15 @@ struct string16_char_traits {
static int_type eof() { return static_cast<int_type>(EOF); }
};
typedef std::basic_string<char16, base::string16_char_traits> string16;
typedef std::basic_string<char16, string16_char_traits> string16;
} // namespace base
} // namespace cef
namespace base {
typedef cef::base::char16 char16;
typedef cef::base::string16 string16;
extern std::ostream& operator<<(std::ostream& out, const string16& str);
@@ -204,8 +213,8 @@ extern void PrintTo(const string16& str, std::ostream* out);
//
// TODO(mark): File this bug with Apple and update this note with a bug number.
extern template class std::basic_string<base::char16,
base::string16_char_traits>;
extern template class std::basic_string<cef::base::char16,
cef::base::string16_char_traits>;
#endif // WCHAR_T_IS_UTF32

View File

@@ -1,276 +0,0 @@
// Copyright (c) 2014 Marshall A. Greenblatt. Portions 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.
#ifndef CEF_INCLUDE_BASE_CEF_THREAD_COLLISION_WARNER_H_
#define CEF_INCLUDE_BASE_CEF_THREAD_COLLISION_WARNER_H_
#pragma once
#if defined(BASE_THREADING_THREAD_COLLISION_WARNER_H_)
// Do nothing if the Chromium header has already been included.
// This can happen in cases where Chromium code is used directly by the
// client application. When using Chromium code directly always include
// the Chromium header first to avoid type conflicts.
#elif defined(USING_CHROMIUM_INCLUDES)
// When building CEF include the Chromium header directly.
#include "base/threading/thread_collision_warner.h"
#else // !USING_CHROMIUM_INCLUDES
// The following is substantially similar to the Chromium implementation.
// If the Chromium implementation diverges the below implementation should be
// updated to match.
#include <memory>
#include "include/base/cef_atomicops.h"
#include "include/base/cef_basictypes.h"
#include "include/base/cef_build.h"
#include "include/base/cef_logging.h"
#include "include/base/cef_macros.h"
// A helper class alongside macros to be used to verify assumptions about thread
// safety of a class.
//
// Example: Queue implementation non thread-safe but still usable if clients
// are synchronized somehow.
//
// In this case the macro DFAKE_SCOPED_LOCK has to be
// used, it checks that if a thread is inside the push/pop then
// noone else is still inside the pop/push
//
// class NonThreadSafeQueue {
// public:
// ...
// void push(int) { DFAKE_SCOPED_LOCK(push_pop_); ... }
// int pop() { DFAKE_SCOPED_LOCK(push_pop_); ... }
// ...
// private:
// DFAKE_MUTEX(push_pop_);
// };
//
//
// Example: Queue implementation non thread-safe but still usable if clients
// are synchronized somehow, it calls a method to "protect" from
// a "protected" method
//
// In this case the macro DFAKE_SCOPED_RECURSIVE_LOCK
// has to be used, it checks that if a thread is inside the push/pop
// then noone else is still inside the pop/push
//
// class NonThreadSafeQueue {
// public:
// void push(int) {
// DFAKE_SCOPED_LOCK(push_pop_);
// ...
// }
// int pop() {
// DFAKE_SCOPED_RECURSIVE_LOCK(push_pop_);
// bar();
// ...
// }
// void bar() { DFAKE_SCOPED_RECURSIVE_LOCK(push_pop_); ... }
// ...
// private:
// DFAKE_MUTEX(push_pop_);
// };
//
//
// Example: Queue implementation not usable even if clients are synchronized,
// so only one thread in the class life cycle can use the two members
// push/pop.
//
// In this case the macro DFAKE_SCOPED_LOCK_THREAD_LOCKED pins the
// specified
// critical section the first time a thread enters push or pop, from
// that time on only that thread is allowed to execute push or pop.
//
// class NonThreadSafeQueue {
// public:
// ...
// void push(int) { DFAKE_SCOPED_LOCK_THREAD_LOCKED(push_pop_); ... }
// int pop() { DFAKE_SCOPED_LOCK_THREAD_LOCKED(push_pop_); ... }
// ...
// private:
// DFAKE_MUTEX(push_pop_);
// };
//
//
// Example: Class that has to be contructed/destroyed on same thread, it has
// a "shareable" method (with external synchronization) and a not
// shareable method (even with external synchronization).
//
// In this case 3 Critical sections have to be defined
//
// class ExoticClass {
// public:
// ExoticClass() { DFAKE_SCOPED_LOCK_THREAD_LOCKED(ctor_dtor_); ... }
// ~ExoticClass() { DFAKE_SCOPED_LOCK_THREAD_LOCKED(ctor_dtor_); ... }
//
// void Shareable() { DFAKE_SCOPED_LOCK(shareable_section_); ... }
// void NotShareable() { DFAKE_SCOPED_LOCK_THREAD_LOCKED(ctor_dtor_); ... }
// ...
// private:
// DFAKE_MUTEX(ctor_dtor_);
// DFAKE_MUTEX(shareable_section_);
// };
#if DCHECK_IS_ON()
// Defines a class member that acts like a mutex. It is used only as a
// verification tool.
#define DFAKE_MUTEX(obj) mutable base::ThreadCollisionWarner obj
// Asserts the call is never called simultaneously in two threads. Used at
// member function scope.
#define DFAKE_SCOPED_LOCK(obj) \
base::ThreadCollisionWarner::ScopedCheck s_check_##obj(&obj)
// Asserts the call is never called simultaneously in two threads. Used at
// member function scope. Same as DFAKE_SCOPED_LOCK but allows recursive locks.
#define DFAKE_SCOPED_RECURSIVE_LOCK(obj) \
base::ThreadCollisionWarner::ScopedRecursiveCheck sr_check_##obj(&obj)
// Asserts the code is always executed in the same thread.
#define DFAKE_SCOPED_LOCK_THREAD_LOCKED(obj) \
base::ThreadCollisionWarner::Check check_##obj(&obj)
#else
#define DFAKE_MUTEX(obj) typedef void InternalFakeMutexType##obj
#define DFAKE_SCOPED_LOCK(obj) ((void)0)
#define DFAKE_SCOPED_RECURSIVE_LOCK(obj) ((void)0)
#define DFAKE_SCOPED_LOCK_THREAD_LOCKED(obj) ((void)0)
#endif
namespace base {
// The class ThreadCollisionWarner uses an Asserter to notify the collision
// AsserterBase is the interfaces and DCheckAsserter is the default asserter
// used. During the unit tests is used another class that doesn't "DCHECK"
// in case of collision (check thread_collision_warner_unittests.cc)
struct AsserterBase {
virtual ~AsserterBase() {}
virtual void warn() = 0;
};
struct DCheckAsserter : public AsserterBase {
virtual ~DCheckAsserter() {}
virtual void warn() OVERRIDE;
};
class ThreadCollisionWarner {
public:
// The parameter asserter is there only for test purpose
explicit ThreadCollisionWarner(AsserterBase* asserter = new DCheckAsserter())
: valid_thread_id_(0), counter_(0), asserter_(asserter) {}
~ThreadCollisionWarner() { delete asserter_; }
// This class is meant to be used through the macro
// DFAKE_SCOPED_LOCK_THREAD_LOCKED
// it doesn't leave the critical section, as opposed to ScopedCheck,
// because the critical section being pinned is allowed to be used only
// from one thread
class Check {
public:
explicit Check(ThreadCollisionWarner* warner) : warner_(warner) {
warner_->EnterSelf();
}
~Check() {}
private:
ThreadCollisionWarner* warner_;
DISALLOW_COPY_AND_ASSIGN(Check);
};
// This class is meant to be used through the macro
// DFAKE_SCOPED_LOCK
class ScopedCheck {
public:
explicit ScopedCheck(ThreadCollisionWarner* warner) : warner_(warner) {
warner_->Enter();
}
~ScopedCheck() { warner_->Leave(); }
private:
ThreadCollisionWarner* warner_;
DISALLOW_COPY_AND_ASSIGN(ScopedCheck);
};
// This class is meant to be used through the macro
// DFAKE_SCOPED_RECURSIVE_LOCK
class ScopedRecursiveCheck {
public:
explicit ScopedRecursiveCheck(ThreadCollisionWarner* warner)
: warner_(warner) {
warner_->EnterSelf();
}
~ScopedRecursiveCheck() { warner_->Leave(); }
private:
ThreadCollisionWarner* warner_;
DISALLOW_COPY_AND_ASSIGN(ScopedRecursiveCheck);
};
private:
// This method stores the current thread identifier and does a DCHECK
// if a another thread has already done it, it is safe if same thread
// calls this multiple time (recursion allowed).
void EnterSelf();
// Same as EnterSelf but recursion is not allowed.
void Enter();
// Removes the thread_id stored in order to allow other threads to
// call EnterSelf or Enter.
void Leave();
// This stores the thread id that is inside the critical section, if the
// value is 0 then no thread is inside.
volatile subtle::Atomic32 valid_thread_id_;
// Counter to trace how many time a critical section was "pinned"
// (when allowed) in order to unpin it when counter_ reaches 0.
volatile subtle::Atomic32 counter_;
// Here only for class unit tests purpose, during the test I need to not
// DCHECK but notify the collision with something else.
AsserterBase* asserter_;
DISALLOW_COPY_AND_ASSIGN(ThreadCollisionWarner);
};
} // namespace base
#endif // !USING_CHROMIUM_INCLUDES
#endif // CEF_INCLUDE_BASE_CEF_THREAD_COLLISION_WARNER_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ade29136d75b33f63cf65db4b91de9cd66114562$
// $hash=05029efef860f52da671d55b0afa3df43e016045$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ACCESSIBILITY_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=52ce63b881a6e3d2d13a39b81ad2626f366fc130$
// $hash=a386eaf81574ae85a4f522afd4287742f778e78d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=639d58245ecd39624d39ee8b49e0e4e056d1c4ed$
// $hash=9f05ee0596b82355ba8c07dcd8244a761b95df58$
//
#ifndef CEF_INCLUDE_CAPI_CEF_AUTH_CALLBACK_CAPI_H_

View File

@@ -69,6 +69,11 @@ typedef struct _cef_base_ref_counted_t {
// Returns true (1) if the current reference count is 1.
///
int(CEF_CALLBACK* has_one_ref)(struct _cef_base_ref_counted_t* self);
///
// Returns true (1) if the current reference count is at least 1.
///
int(CEF_CALLBACK* has_at_least_one_ref)(struct _cef_base_ref_counted_t* self);
} cef_base_ref_counted_t;
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b6308ab5e97eb9f7af95f1f4c371fd6e7edbf852$
// $hash=faac9d17d7efae3a72c4cc44474071027596c843$
//
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_
@@ -115,7 +115,8 @@ typedef struct _cef_browser_t {
void(CEF_CALLBACK* stop_load)(struct _cef_browser_t* self);
///
// Returns the globally unique identifier for this browser.
// Returns the globally unique identifier for this browser. This value is also
// used as the tabId for extension APIs.
///
int(CEF_CALLBACK* get_identifier)(struct _cef_browser_t* self);
@@ -570,6 +571,13 @@ typedef struct _cef_browser_host_t {
void(CEF_CALLBACK* invalidate)(struct _cef_browser_host_t* self,
cef_paint_element_type_t type);
///
// Issue a BeginFrame request to Chromium. Only valid when
// cef_window_tInfo::external_begin_frame_enabled is set to true (1).
///
void(CEF_CALLBACK* send_external_begin_frame)(
struct _cef_browser_host_t* self);
///
// Send a key event to the browser.
///
@@ -812,6 +820,30 @@ typedef struct _cef_browser_host_t {
///
void(CEF_CALLBACK* set_accessibility_state)(struct _cef_browser_host_t* self,
cef_state_t accessibility_state);
///
// Enable notifications of auto resize via
// cef_display_handler_t::OnAutoResize. Notifications are disabled by default.
// |min_size| and |max_size| define the range of allowed sizes.
///
void(CEF_CALLBACK* set_auto_resize_enabled)(struct _cef_browser_host_t* self,
int enabled,
const cef_size_t* min_size,
const cef_size_t* max_size);
///
// Returns the extension hosted in this browser or NULL if no extension is
// hosted. See cef_request_tContext::LoadExtension for details.
///
struct _cef_extension_t*(CEF_CALLBACK* get_extension)(
struct _cef_browser_host_t* self);
///
// 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.
///
int(CEF_CALLBACK* is_background_host)(struct _cef_browser_host_t* self);
} cef_browser_host_t;
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0868c7d129e35c38b207b1066fd5eba0c1eef45c$
// $hash=372bc8b015110d2849eb1d8c16b616871e2d9320$
//
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=68de2255fd429696d62115786fc480f1d5f9882b$
// $hash=7419140aa82db2a86a5eca062193ac8bde9f5d40$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CALLBACK_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=7f554250e73537ece3f8f67310c23e718f91d41b$
// $hash=318ad8428256c2ef980f2f594ace2469001e59bd$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_
@@ -48,7 +48,6 @@
#include "include/capi/cef_drag_handler_capi.h"
#include "include/capi/cef_find_handler_capi.h"
#include "include/capi/cef_focus_handler_capi.h"
#include "include/capi/cef_geolocation_handler_capi.h"
#include "include/capi/cef_jsdialog_handler_capi.h"
#include "include/capi/cef_keyboard_handler_capi.h"
#include "include/capi/cef_life_span_handler_capi.h"
@@ -115,13 +114,6 @@ typedef struct _cef_client_t {
struct _cef_focus_handler_t*(CEF_CALLBACK* get_focus_handler)(
struct _cef_client_t* self);
///
// Return the handler for geolocation permissions requests. If no handler is
// provided geolocation access will be denied by default.
///
struct _cef_geolocation_handler_t*(CEF_CALLBACK* get_geolocation_handler)(
struct _cef_client_t* self);
///
// Return the handler for JavaScript dialogs. If no handler is provided the
// default implementation will be used.

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b917030321dc11ddfc8d8939239dda7952d2f955$
// $hash=540c73b297f3b0843058881c5a9a7433dc346fd2$
//
#ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2e295ba277083061103147a400bc30f78e6a94f5$
// $hash=75b5bd826645fabb12c16c938b2fc30ec1642b1c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c2bf8084385f3c795ae7494da6970a0a61b96ac6$
// $hash=8e5c27c998b6aabcaf43a4cc7f97064d49eaf8b9$
//
#ifndef CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_
@@ -159,6 +159,16 @@ typedef struct _cef_cookie_manager_t {
CEF_EXPORT cef_cookie_manager_t* cef_cookie_manager_get_global_manager(
struct _cef_completion_callback_t* callback);
///
// Returns a cookie manager that neither stores nor retrieves cookies. All usage
// of cookies will be blocked including cookies accessed via the network
// (request/response headers), via JavaScript (document.cookie), and via
// cef_cookie_manager_t functions. No cookies will be displayed in DevTools. If
// you wish to only block cookies sent via the network use the
// cef_request_tHandler CanGetCookies and CanSetCookie functions instead.
///
CEF_EXPORT cef_cookie_manager_t* cef_cookie_manager_get_blocking_manager();
///
// Creates a new cookie manager. If |path| is NULL data will be stored in memory
// only. Otherwise, data will be stored at the specified |path|. To persist

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=8b7354f5a1ad6b255d77e477c64374b927f4fe28$
// $hash=d8c4816346fdf48b987c88a94c51c9d67624abe0$
//
#ifndef CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_
@@ -129,14 +129,12 @@ extern "C" {
//
// CrashKeys section:
//
// Any number of crash keys can be specified for use by the application. Crash
// key values will be truncated based on the specified size (small = 63 bytes,
// medium = 252 bytes, large = 1008 bytes). The value of crash keys can be set
// from any thread or process using the CefSetCrashKeyValue function. These
// key/value pairs will be sent to the crash server along with the crash dump
// file. Medium and large values will be chunked for submission. For example, if
// your key is named "mykey" then the value will be broken into ordered chunks
// and submitted using keys named "mykey-1", "mykey-2", etc.
// A maximum of 26 crash keys of each size can be specified for use by the
// application. Crash key values will be truncated based on the specified size
// (small = 64 bytes, medium = 256 bytes, large = 1024 bytes). The value of
// crash keys can be set from any thread or process using the
// CefSetCrashKeyValue function. These key/value pairs will be sent to the crash
// server along with the crash dump file.
///
CEF_EXPORT int cef_crash_reporting_enabled();

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b8a44f4f624ba51107d06ff3d1a7934e83765786$
// $hash=23627ca4a51e3256889c05360f3fe143172f4ad6$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f0f3fd4cab00c0eb11956e674a111cb30d3af100$
// $hash=f6998cb056849c4d73f47142988bd4900784e0c6$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_
@@ -118,9 +118,29 @@ typedef struct _cef_display_handler_t {
///
int(CEF_CALLBACK* on_console_message)(struct _cef_display_handler_t* self,
struct _cef_browser_t* browser,
cef_log_severity_t level,
const cef_string_t* message,
const cef_string_t* source,
int line);
///
// Called when auto-resize is enabled via
// cef_browser_host_t::SetAutoResizeEnabled and the contents have auto-
// resized. |new_size| will be the desired size in view coordinates. Return
// true (1) if the resize was handled or false (0) for default handling.
///
int(CEF_CALLBACK* on_auto_resize)(struct _cef_display_handler_t* self,
struct _cef_browser_t* browser,
const cef_size_t* new_size);
///
// Called when the overall page loading progress has changed. |progress|
// ranges from 0.0 to 1.0.
///
void(CEF_CALLBACK* on_loading_progress_change)(
struct _cef_display_handler_t* self,
struct _cef_browser_t* browser,
double progress);
} cef_display_handler_t;
#ifdef __cplusplus

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=db82ff508cb1b4a03001b8b30bc5126186ee1bd2$
// $hash=b8d77a12530d3da606587bf97eacf9169cae0710$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=4475f7e48898bdef8051c849873fb2528320cd9c$
// $hash=52e904750160e4056c422794565956ae8161b50d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=cc669703d613f5a6a5bae95030835dc99f55a6fa$
// $hash=2893ea0d3375b93d2b28ac6fdcd6cdae75df544e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_ITEM_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a4b5264c1e685cad86203772631460684ee7820d$
// $hash=c083246c8f51462b31039ce5e7031ca6c13ea071$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c557dad9522f4bd4c6b3295d149c6b893fc18d52$
// $hash=22ebb1d811a4e0a834eb115859d797c72a5c4ca3$
//
#ifndef CEF_INCLUDE_CAPI_CEF_DRAG_HANDLER_CAPI_H_

View File

@@ -0,0 +1,130 @@
// 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=09d865515163b7b61509e7a5fd849a446ea2ac9d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_
#pragma once
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_values_capi.h"
#ifdef __cplusplus
extern "C" {
#endif
struct _cef_extension_handler_t;
struct _cef_request_context_t;
///
// Object representing an extension. Methods may be called on any thread unless
// otherwise indicated.
///
typedef struct _cef_extension_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Returns the unique extension identifier. This is calculated based on the
// extension public key, if available, or on the extension path. See
// https://developer.chrome.com/extensions/manifest/key for details.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_identifier)(
struct _cef_extension_t* self);
///
// 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.
///
// 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);
///
// Returns the extension manifest contents as a cef_dictionary_value_t object.
// See https://developer.chrome.com/extensions/manifest for details.
///
struct _cef_dictionary_value_t*(CEF_CALLBACK* get_manifest)(
struct _cef_extension_t* self);
///
// Returns true (1) if this object is the same extension as |that| object.
// Extensions are considered the same if identifier, path and loader context
// match.
///
int(CEF_CALLBACK* is_same)(struct _cef_extension_t* self,
struct _cef_extension_t* that);
///
// Returns the handler for this extension. Will return NULL for internal
// extensions or if no handler was passed to
// cef_request_tContext::LoadExtension.
///
struct _cef_extension_handler_t*(CEF_CALLBACK* get_handler)(
struct _cef_extension_t* self);
///
// 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
// about loader contexts. Must be called on the browser process UI thread.
///
struct _cef_request_context_t*(CEF_CALLBACK* get_loader_context)(
struct _cef_extension_t* self);
///
// Returns true (1) if this extension is currently loaded. Must be called on
// the browser process UI thread.
///
int(CEF_CALLBACK* is_loaded)(struct _cef_extension_t* self);
///
// 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.
///
void(CEF_CALLBACK* unload)(struct _cef_extension_t* self);
} cef_extension_t;
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_EXTENSION_CAPI_H_

View File

@@ -0,0 +1,210 @@
// 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=490353d0ad05316191a2eae5ec19f1cde468f2d2$
//
#ifndef CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_
#pragma once
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#include "include/capi/cef_extension_capi.h"
#include "include/capi/cef_stream_capi.h"
#ifdef __cplusplus
extern "C" {
#endif
struct _cef_client_t;
///
// Callback structure used for asynchronous continuation of
// cef_extension_tHandler::GetExtensionResource.
///
typedef struct _cef_get_extension_resource_callback_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Continue the request. Read the resource contents from |stream|.
///
void(CEF_CALLBACK* cont)(struct _cef_get_extension_resource_callback_t* self,
struct _cef_stream_reader_t* stream);
///
// Cancel the request.
///
void(CEF_CALLBACK* cancel)(
struct _cef_get_extension_resource_callback_t* self);
} 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.
///
typedef struct _cef_extension_handler_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Called if the cef_request_tContext::LoadExtension request fails. |result|
// will be the error code.
///
void(CEF_CALLBACK* on_extension_load_failed)(
struct _cef_extension_handler_t* self,
cef_errorcode_t result);
///
// Called if the cef_request_tContext::LoadExtension request succeeds.
// |extension| is the loaded extension.
///
void(CEF_CALLBACK* on_extension_loaded)(struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension);
///
// Called after the cef_extension_t::Unload request has completed.
///
void(CEF_CALLBACK* on_extension_unloaded)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension);
///
// Called when an extension needs a browser to host a background script
// specified via the "background" manifest key. The browser will have no
// visible window and cannot be displayed. |extension| is the extension that
// is loading the background script. |url| is an internally generated
// reference to an HTML page that will be used to load the background script
// via a <script> src attribute. To allow creation of the browser optionally
// modify |client| and |settings| and return false (0). To cancel creation of
// the browser (and consequently cancel load of the background script) return
// true (1). Successful creation will be indicated by a call to
// cef_life_span_handler_t::OnAfterCreated, and
// cef_browser_host_t::IsBackgroundHost will return true (1) for the resulting
// browser. See https://developer.chrome.com/extensions/event_pages for more
// information about extension background script usage.
///
int(CEF_CALLBACK* on_before_background_browser)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
const cef_string_t* url,
struct _cef_client_t** client,
struct _cef_browser_settings_t* settings);
///
// Called when an extension API (e.g. chrome.tabs.create) requests creation of
// a new browser. |extension| and |browser| are the source of the API call.
// |active_browser| may optionally be specified via the windowId property or
// returned via the get_active_browser() callback and provides the default
// |client| and |settings| values for the new browser. |index| is the position
// value optionally specified via the index property. |url| is the URL that
// will be loaded in the browser. |active| is true (1) if the new browser
// should be active when opened. To allow creation of the browser optionally
// modify |windowInfo|, |client| and |settings| and return false (0). To
// cancel creation of the browser return true (1). Successful creation will be
// indicated by a call to cef_life_span_handler_t::OnAfterCreated. Any
// modifications to |windowInfo| will be ignored if |active_browser| is
// wrapped in a cef_browser_view_t.
///
int(CEF_CALLBACK* on_before_browser)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
struct _cef_browser_t* browser,
struct _cef_browser_t* active_browser,
int index,
const cef_string_t* url,
int active,
struct _cef_window_info_t* windowInfo,
struct _cef_client_t** client,
struct _cef_browser_settings_t* settings);
///
// Called when no tabId is specified to an extension API call that accepts a
// 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
// be considered unless the source extension has incognito access enabled, in
// which case |include_incognito| will be true (1).
///
struct _cef_browser_t*(CEF_CALLBACK* get_active_browser)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
struct _cef_browser_t* browser,
int include_incognito);
///
// Called when the tabId associated with |target_browser| is specified to an
// extension API call that accepts a tabId parameter (e.g. chrome.tabs.*).
// |extension| and |browser| are the source of the API call. Return true (1)
// to allow access of false (0) to deny access. Access to incognito browsers
// should not be allowed unless the source extension has incognito access
// enabled, in which case |include_incognito| will be true (1).
///
int(CEF_CALLBACK* can_access_browser)(struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
struct _cef_browser_t* browser,
int include_incognito,
struct _cef_browser_t* target_browser);
///
// Called to retrieve an extension resource that would normally be loaded from
// disk (e.g. if a file parameter is specified to chrome.tabs.executeScript).
// |extension| and |browser| are the source of the resource request. |file| is
// the requested relative file path. To handle the resource request return
// true (1) and execute |callback| either synchronously or asynchronously. For
// the default behavior which reads the resource from the extension directory
// on disk return false (0). Localization substitutions will not be applied to
// resources handled via this function.
///
int(CEF_CALLBACK* get_extension_resource)(
struct _cef_extension_handler_t* self,
struct _cef_extension_t* extension,
struct _cef_browser_t* browser,
const cef_string_t* file,
struct _cef_get_extension_resource_callback_t* callback);
} cef_extension_handler_t;
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_EXTENSION_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=1c02b57893a3f78c436bc2ab66c63753edfb174a$
// $hash=251816adec28cbfbda5c8a5b1f4fbf363e41ba77$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=975114b079fa271fecbf31ef160974941faed8a4$
// $hash=96984f8a723fb277d084540d12fae2946c217c8a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=bed1f7b94e060b83e3f22eb84ce1274f2d10b3e6$
// $hash=5c01736fece19b53de45098e409cb8c65e5caf6e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FOCUS_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c1457ef21c14c40422b19b681121283eae3e9d70$
// $hash=d3fcf9a928adb588443a52d82a48c188a67d3231$
//
#ifndef CEF_INCLUDE_CAPI_CEF_FRAME_CAPI_H_

View File

@@ -1,106 +0,0 @@
// Copyright (c) 2017 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=ec60811fcefbe02348f14ecddbe5778ce836bf53$
//
#ifndef CEF_INCLUDE_CAPI_CEF_GEOLOCATION_HANDLER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_GEOLOCATION_HANDLER_CAPI_H_
#pragma once
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_browser_capi.h"
#ifdef __cplusplus
extern "C" {
#endif
///
// Callback structure used for asynchronous continuation of geolocation
// permission requests.
///
typedef struct _cef_geolocation_callback_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Call to allow or deny geolocation access.
///
void(CEF_CALLBACK* cont)(struct _cef_geolocation_callback_t* self, int allow);
} cef_geolocation_callback_t;
///
// Implement this structure to handle events related to geolocation permission
// requests. The functions of this structure will be called on the browser
// process UI thread.
///
typedef struct _cef_geolocation_handler_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Called when a page requests permission to access geolocation information.
// |requesting_url| is the URL requesting permission and |request_id| is the
// unique ID for the permission request. Return true (1) and call
// cef_geolocation_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.
///
int(CEF_CALLBACK* on_request_geolocation_permission)(
struct _cef_geolocation_handler_t* self,
struct _cef_browser_t* browser,
const cef_string_t* requesting_url,
int request_id,
struct _cef_geolocation_callback_t* callback);
///
// Called when a geolocation access request is canceled. |request_id| is the
// unique ID for the permission request.
///
void(CEF_CALLBACK* on_cancel_geolocation_permission)(
struct _cef_geolocation_handler_t* self,
struct _cef_browser_t* browser,
int request_id);
} cef_geolocation_handler_t;
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_GEOLOCATION_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=60f904f2f77ce6d89f9fceeeda0050273a3c9e6d$
// $hash=2dce975084deacbed701faebcb978ab5bb21e98c$
//
#ifndef CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=351cff5a52f29b54d1854d5dfbb1733c8a62797d$
// $hash=285ab7e25111cb0d69b3291720ee84ecaf7d48f4$
//
#ifndef CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=07c2a01bb9975fa52fdb287712f8f369557ba755$
// $hash=f27c19f216ad8296bdcb2c64b613a7814790189a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_KEYBOARD_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=7894d507f337ebe5f9296770e10773a4e6458f00$
// $hash=a1648c803a6d72e004e523cd4c02530702635d1e$
//
#ifndef CEF_INCLUDE_CAPI_CEF_LIFE_SPAN_HANDLER_CAPI_H_
@@ -61,7 +61,7 @@ typedef struct _cef_life_span_handler_t {
cef_base_ref_counted_t base;
///
// Called on the IO thread before a new popup browser is created. The
// Called on the UI thread before a new popup browser is created. The
// |browser| and |frame| values represent the source of the popup request. The
// |target_url| and |target_frame_name| values indicate where the popup
// browser should navigate and may be NULL if not specified with the request.

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d8fa87bb47ec889cab864fe96f94e07bf1deb0f6$
// $hash=2699b967d059195fcbd82ce55f9dec896637bd77$
//
#ifndef CEF_INCLUDE_CAPI_CEF_LOAD_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=295f7f55ebe6d548aba1476e67efb2c88ab10ca5$
// $hash=fd64c7e3f77df321539f89469c4c8e33947a2c55$
//
#ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=74f40f20f94ce3a6e7f3c879a3834a7108099ed4$
// $hash=2b154560c6a617cd562f47899e062e82e308c364$
//
#ifndef CEF_INCLUDE_CAPI_CEF_MENU_MODEL_DELEGATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a862d0004de2a1bdf4c214fe87278badd90562a7$
// $hash=253f506585bbf7babd2f3f90ce8af44c89aa2b6f$
//
#ifndef CEF_INCLUDE_CAPI_CEF_NAVIGATION_ENTRY_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2e5afff3277384ea9f3f74ef509c018f6d307dc4$
// $hash=a9a43f89dba782108ec1f79b69a41ef59570e983$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d2f01fbfc3ae72a86c03399606088054b3a9337f$
// $hash=39203e63ce8dfe82a7b0ebac53ec55d9ccf6c1a8$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=fbb817705137a12b4718950ff696396c30057007$
// $hash=c57e44085a88acfdd107e40a76c88aaf92e64b4a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PATH_UTIL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=897f5b1ec6ed7430fff156f47b4ce6371d5db6f2$
// $hash=2b89bd952c0d591fb0361fabf9ff3aedb7fe3fbf$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PRINT_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=5b26ebd2d8e1e65a25fa0c08317b8994887c0498$
// $hash=e4acb9c80e79f3e0784c1dc44f5ce885a8fb7fff$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c2ee22474637f9aed7673670fb10c960ae621535$
// $hash=2681670cc875605b22cc618cbb1817e5a0778e93$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=aad07da2d500b8d31e02a75331bdb68f16d4c662$
// $hash=bcae364ba4ab461e0d35e690e22484aa39fe9527$
//
#ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_UTIL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=5d20fc88dea8dad8691f05bfb7e8c1ce5cf2bbc1$
// $hash=cf5dc6f6d2c64d5dc706edd5adc5cf6c7c752750$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_
@@ -68,7 +68,8 @@ typedef struct _cef_render_handler_t {
///
// Called to retrieve the root window rectangle in screen coordinates. Return
// true (1) if the rectangle was provided.
// true (1) if the rectangle was provided. If this function returns false (0)
// the rectangle from GetViewRect will be used.
///
int(CEF_CALLBACK* get_root_screen_rect)(struct _cef_render_handler_t* self,
struct _cef_browser_t* browser,
@@ -76,11 +77,11 @@ typedef struct _cef_render_handler_t {
///
// Called to retrieve the view rectangle which is relative to screen
// coordinates. Return true (1) if the rectangle was provided.
// coordinates. This function must always provide a non-NULL rectangle.
///
int(CEF_CALLBACK* get_view_rect)(struct _cef_render_handler_t* self,
struct _cef_browser_t* browser,
cef_rect_t* rect);
void(CEF_CALLBACK* get_view_rect)(struct _cef_render_handler_t* self,
struct _cef_browser_t* browser,
cef_rect_t* rect);
///
// Called to retrieve the translation from view coordinates to actual screen
@@ -130,7 +131,8 @@ typedef struct _cef_render_handler_t {
// contains the pixel data for the whole image. |dirtyRects| contains the set
// of rectangles in pixel coordinates that need to be repainted. |buffer| will
// be |width|*|height|*4 bytes in size and represents a BGRA image with an
// upper-left origin.
// upper-left origin. This function is only called when
// cef_window_tInfo::shared_texture_enabled is set to false (0).
///
void(CEF_CALLBACK* on_paint)(struct _cef_render_handler_t* self,
struct _cef_browser_t* browser,
@@ -141,6 +143,22 @@ typedef struct _cef_render_handler_t {
int width,
int height);
///
// Called when an element has been rendered to the shared texture handle.
// |type| indicates whether the element is the view or the popup widget.
// |dirtyRects| contains the set of rectangles in pixel coordinates that need
// to be repainted. |shared_handle| is the handle for a D3D11 Texture2D that
// can be accessed via ID3D11Device using the OpenSharedResource function.
// This function is only called when cef_window_tInfo::shared_texture_enabled
// is set to true (1), and is currently only supported on Windows.
///
void(CEF_CALLBACK* on_accelerated_paint)(struct _cef_render_handler_t* self,
struct _cef_browser_t* browser,
cef_paint_element_type_t type,
size_t dirtyRectsCount,
cef_rect_t const* dirtyRects,
void* shared_handle);
///
// Called when the browser's cursor has changed. If |type| is CT_CUSTOM then
// |custom_cursor_info| will be populated with the custom cursor information.
@@ -202,6 +220,17 @@ typedef struct _cef_render_handler_t {
const cef_range_t* selected_range,
size_t character_boundsCount,
cef_rect_t const* character_bounds);
///
// Called when text selection has changed for the specified |browser|.
// |selected_text| is the currently selected text and |selected_range| is the
// character range.
///
void(CEF_CALLBACK* on_text_selection_changed)(
struct _cef_render_handler_t* self,
struct _cef_browser_t* browser,
const cef_string_t* selected_text,
const cef_range_t* selected_range);
} cef_render_handler_t;
#ifdef __cplusplus

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=04ddf8c8cc5e09610a6cd6dbee96194eb6567b41$
// $hash=63544b02e263d0aeb2f6553bf40c52bcf72d9f0b$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RENDER_PROCESS_HANDLER_CAPI_H_
@@ -102,19 +102,6 @@ typedef struct _cef_render_process_handler_t {
struct _cef_load_handler_t*(CEF_CALLBACK* get_load_handler)(
struct _cef_render_process_handler_t* self);
///
// Called before browser navigation. Return true (1) to cancel the navigation
// or false (0) to allow the navigation to proceed. The |request| object
// cannot be modified in this callback.
///
int(CEF_CALLBACK* on_before_navigation)(
struct _cef_render_process_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
struct _cef_request_t* request,
cef_navigation_type_t navigation_type,
int is_redirect);
///
// Called immediately after the V8 context for a frame has been created. To
// retrieve the JavaScript 'window' object use the

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=e4d28f171862beea61f00e46d7acb8ee4154b077$
// $hash=580e0e91bf4052f0e996dc42f63079ca1a6390cf$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_
@@ -158,7 +158,7 @@ typedef struct _cef_request_t {
void(CEF_CALLBACK* set_flags)(struct _cef_request_t* self, int flags);
///
// Set the URL to the first party for cookies used in combination with
// Get the URL to the first party for cookies used in combination with
// cef_urlrequest_t.
///
// The resulting string must be freed by calling cef_string_userfree_free().
@@ -166,7 +166,7 @@ typedef struct _cef_request_t {
struct _cef_request_t* self);
///
// Get the URL to the first party for cookies used in combination with
// Set the URL to the first party for cookies used in combination with
// cef_urlrequest_t.
///
void(CEF_CALLBACK* set_first_party_for_cookies)(struct _cef_request_t* self,

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=791231acc78a2b601257fb0b86d904eace796d63$
// $hash=cd2b70b906b9f07923d69d9ec0b32488125b0af3$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_
@@ -42,6 +42,8 @@
#include "include/capi/cef_callback_capi.h"
#include "include/capi/cef_cookie_capi.h"
#include "include/capi/cef_extension_capi.h"
#include "include/capi/cef_extension_handler_capi.h"
#include "include/capi/cef_request_context_handler_capi.h"
#include "include/capi/cef_values_capi.h"
@@ -61,9 +63,9 @@ typedef struct _cef_resolve_callback_t {
cef_base_ref_counted_t base;
///
// Called after the ResolveHost request has completed. |result| will be the
// result code. |resolved_ips| will be the list of resolved IP addresses or
// NULL if the resolution failed.
// Called on the UI thread after the ResolveHost request has completed.
// |result| will be the result code. |resolved_ips| will be the list of
// resolved IP addresses or NULL if the resolution failed.
///
void(CEF_CALLBACK* on_resolve_completed)(struct _cef_resolve_callback_t* self,
cef_errorcode_t result,
@@ -242,7 +244,7 @@ typedef struct _cef_request_context_t {
///
// 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 cef_shutdown(). If |callback| is non-NULL it will be executed
// want to call Cefshutdown(). If |callback| is non-NULL it will be executed
// on the UI thread after completion.
///
void(CEF_CALLBACK* close_all_connections)(
@@ -267,6 +269,95 @@ typedef struct _cef_request_context_t {
struct _cef_request_context_t* self,
const cef_string_t* origin,
cef_string_list_t resolved_ips);
///
// Load an extension.
//
// 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
// 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
// disk.
//
// 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
// callbacks for the extension.
//
// cef_extension_tHandler::OnExtensionLoaded will be called on load success or
// cef_extension_tHandler::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.
//
// For visible extension views the client application should evaluate the
// manifest to determine the correct extension URL to load and then pass that
// URL to the cef_browser_host_t::CreateBrowser* function after the extension
// has loaded. For example, the client can look for the "browser_action"
// manifest key as documented at
// https://developer.chrome.com/extensions/browserAction. Extension URLs take
// the form "chrome-extension://<extension_id>/<path>".
//
// Browsers that host extensions differ from normal browsers as follows:
// - Can access chrome.* JavaScript APIs if allowed by the manifest. Visit
// chrome://extensions-support for the list of extension APIs currently
// supported by CEF.
// - Main frame navigation to non-extension content is blocked.
// - Pinch-zooming is disabled.
// - CefBrowserHost::GetExtension returns the hosted extension.
// - CefBrowserHost::IsBackgroundHost returns true for background hosts.
//
// See https://developer.chrome.com/extensions for extension implementation
// and usage documentation.
///
void(CEF_CALLBACK* load_extension)(struct _cef_request_context_t* self,
const cef_string_t* root_directory,
struct _cef_dictionary_value_t* manifest,
struct _cef_extension_handler_t* handler);
///
// Returns true (1) if this context was used to load the extension identified
// by |extension_id|. Other contexts sharing the same storage will also have
// access to the extension (see HasExtension). This function must be called on
// the browser process UI thread.
///
int(CEF_CALLBACK* did_load_extension)(struct _cef_request_context_t* self,
const cef_string_t* extension_id);
///
// Returns true (1) if this context has access to the extension identified by
// |extension_id|. This may not be the context that was used to load the
// extension (see DidLoadExtension). This function must be called on the
// browser process UI thread.
///
int(CEF_CALLBACK* has_extension)(struct _cef_request_context_t* self,
const cef_string_t* extension_id);
///
// Retrieve the list of all extensions that this context has access to (see
// HasExtension). |extension_ids| will be populated with the list of extension
// ID values. Returns true (1) on success. This function must be called on the
// browser process UI thread.
///
int(CEF_CALLBACK* get_extensions)(struct _cef_request_context_t* self,
cef_string_list_t extension_ids);
///
// Returns the extension matching |extension_id| or NULL if no matching
// extension is accessible in this context (see HasExtension). This function
// must be called on the browser process UI thread.
///
struct _cef_extension_t*(CEF_CALLBACK* get_extension)(
struct _cef_request_context_t* self,
const cef_string_t* extension_id);
} cef_request_context_t;
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=9359e227c9d534c9c612d2ede790136461836501$
// $hash=03c829d89f0b5b7ab12634fa2f11c4903cd8edb2$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_
@@ -48,6 +48,8 @@
extern "C" {
#endif
struct _cef_request_context_t;
///
// Implement this structure to provide handler implementations. The handler
// instance will not be released until all objects related to the context have
@@ -59,6 +61,14 @@ typedef struct _cef_request_context_handler_t {
///
cef_base_ref_counted_t base;
///
// Called on the browser process UI thread immediately after the request
// context has been initialized.
///
void(CEF_CALLBACK* on_request_context_initialized)(
struct _cef_request_context_handler_t* self,
struct _cef_request_context_t* request_context);
///
// Called on the browser process IO thread to retrieve the cookie manager. If
// this function returns NULL the default cookie manager retrievable via

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=b6cbe39a8124a961036205864e7e6b2e1eb0bf6b$
// $hash=64631c0b1776a951da838f8b08a4c71ef33a15cc$
//
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_
@@ -112,12 +112,15 @@ typedef struct _cef_request_handler_t {
// If the navigation is allowed cef_load_handler_t::OnLoadStart and
// cef_load_handler_t::OnLoadEnd will be called. If the navigation is canceled
// cef_load_handler_t::OnLoadError will be called with an |errorCode| value of
// ERR_ABORTED.
// ERR_ABORTED. The |user_gesture| value will be true (1) if the browser
// navigated via explicit user gesture (e.g. clicking a link) or false (0) if
// it navigated automatically (e.g. via the DomContentLoaded event).
///
int(CEF_CALLBACK* on_before_browse)(struct _cef_request_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
struct _cef_request_t* request,
int user_gesture,
int is_redirect);
///
@@ -247,6 +250,29 @@ typedef struct _cef_request_handler_t {
const cef_string_t* scheme,
struct _cef_auth_callback_t* callback);
///
// Called on the IO thread before sending a network request with a "Cookie"
// request header. Return true (1) to allow cookies to be included in the
// network request or false (0) to block cookies. The |request| object should
// not be modified in this callback.
///
int(CEF_CALLBACK* can_get_cookies)(struct _cef_request_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
struct _cef_request_t* request);
///
// Called on the IO thread when receiving a network request with a "Set-
// Cookie" response header value represented by |cookie|. Return true (1) to
// allow the cookie to be stored or false (0) to block the cookie. The
// |request| object should not be modified in this callback.
///
int(CEF_CALLBACK* can_set_cookie)(struct _cef_request_handler_t* self,
struct _cef_browser_t* browser,
struct _cef_frame_t* frame,
struct _cef_request_t* request,
const struct _cef_cookie_t* cookie);
///
// Called on the IO thread when JavaScript requests a specific storage quota
// size via the webkitStorageInfo.requestQuota function. |origin_url| is the

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=82f2ce6f2ea3a8268ac69e33d304ace1a0e192b2$
// $hash=48daeee5c2103ec69535dc0376255878c3d69e9b$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=cd94d8670c26bf17082629e5297407a716f01503$
// $hash=fe5830fe27ce758f4d0a6b2e37f11f5e702aba41$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=cd9c4ed153ad4425ff43d640a81693e3c83817d2$
// $hash=2d14f5cfe748ef0f34aade25cfd1e299cb0ae793$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_HANDLER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=3f0ed89d2320677780c2fd526be7fe6312580cd8$
// $hash=0c99415ddb1bf7d10135545c7b0ccfb7eec2264d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_CAPI_H_
@@ -127,6 +127,18 @@ typedef struct _cef_response_t {
///
void(CEF_CALLBACK* set_header_map)(struct _cef_response_t* self,
cef_string_multimap_t headerMap);
///
// Get the resolved URL after redirects or changed as a result of HSTS.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_url)(struct _cef_response_t* self);
///
// Set the resolved URL after redirects or changed as a result of HSTS.
///
void(CEF_CALLBACK* set_url)(struct _cef_response_t* self,
const cef_string_t* url);
} cef_response_t;
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c7126418fc448f9f75e770fda8434613eed0930d$
// $hash=1df02e283ece4871afe6de29c398a389dca76ef1$
//
#ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_FILTER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a920e25c5ca348dcc45965d53389c16a8a29b0ed$
// $hash=f83c72ec43f10f19eba82d9d3c284cc436cdbd23$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_

View File

@@ -0,0 +1,327 @@
// 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=44d7621507ab855307ae6ce7319cc2e4ff576bb5$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_
#pragma once
#include "include/capi/cef_base_capi.h"
#include "include/capi/cef_callback_capi.h"
#include "include/capi/cef_request_capi.h"
#include "include/capi/cef_task_capi.h"
#ifdef __cplusplus
extern "C" {
#endif
struct _cef_server_handler_t;
///
// Structure representing a server that supports HTTP and WebSocket requests.
// Server capacity is limited and is intended to handle only a small number of
// simultaneous connections (e.g. for communicating between applications on
// localhost). The functions of this structure are safe to call from any thread
// in the brower process unless otherwise indicated.
///
typedef struct _cef_server_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Returns the task runner for the dedicated server thread.
///
struct _cef_task_runner_t*(CEF_CALLBACK* get_task_runner)(
struct _cef_server_t* self);
///
// Stop the server and shut down the dedicated server thread. See
// cef_server_handler_t::OnServerCreated documentation for a description of
// server lifespan.
///
void(CEF_CALLBACK* shutdown)(struct _cef_server_t* self);
///
// Returns true (1) if the server is currently running and accepting incoming
// connections. See cef_server_handler_t::OnServerCreated documentation for a
// description of server lifespan. This function must be called on the
// dedicated server thread.
///
int(CEF_CALLBACK* is_running)(struct _cef_server_t* self);
///
// Returns the server address including the port number.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_address)(struct _cef_server_t* self);
///
// Returns true (1) if the server currently has a connection. This function
// must be called on the dedicated server thread.
///
int(CEF_CALLBACK* has_connection)(struct _cef_server_t* self);
///
// Returns true (1) if |connection_id| represents a valid connection. This
// function must be called on the dedicated server thread.
///
int(CEF_CALLBACK* is_valid_connection)(struct _cef_server_t* self,
int connection_id);
///
// Send an HTTP 200 "OK" response to the connection identified by
// |connection_id|. |content_type| is the response content type (e.g.
// "text/html"), |data| is the response content, and |data_size| is the size
// of |data| in bytes. The contents of |data| will be copied. The connection
// will be closed automatically after the response is sent.
///
void(CEF_CALLBACK* send_http200response)(struct _cef_server_t* self,
int connection_id,
const cef_string_t* content_type,
const void* data,
size_t data_size);
///
// Send an HTTP 404 "Not Found" response to the connection identified by
// |connection_id|. The connection will be closed automatically after the
// response is sent.
///
void(CEF_CALLBACK* send_http404response)(struct _cef_server_t* self,
int connection_id);
///
// Send an HTTP 500 "Internal Server Error" response to the connection
// identified by |connection_id|. |error_message| is the associated error
// message. The connection will be closed automatically after the response is
// sent.
///
void(CEF_CALLBACK* send_http500response)(struct _cef_server_t* self,
int connection_id,
const cef_string_t* error_message);
///
// Send a custom HTTP response to the connection identified by
// |connection_id|. |response_code| is the HTTP response code sent in the
// status line (e.g. 200), |content_type| is the response content type sent as
// the "Content-Type" header (e.g. "text/html"), |content_length| is the
// expected content length, and |extra_headers| is the map of extra response
// headers. If |content_length| is >= 0 then the "Content-Length" header will
// be sent. If |content_length| is 0 then no content is expected and the
// connection will be closed automatically after the response is sent. If
// |content_length| is < 0 then no "Content-Length" header will be sent and
// the client will continue reading until the connection is closed. Use the
// SendRawData function to send the content, if applicable, and call
// CloseConnection after all content has been sent.
///
void(CEF_CALLBACK* send_http_response)(struct _cef_server_t* self,
int connection_id,
int response_code,
const cef_string_t* content_type,
int64 content_length,
cef_string_multimap_t extra_headers);
///
// Send raw data directly to the connection identified by |connection_id|.
// |data| is the raw data and |data_size| is the size of |data| in bytes. The
// contents of |data| will be copied. No validation of |data| is performed
// internally so the client should be careful to send the amount indicated by
// the "Content-Length" header, if specified. See SendHttpResponse
// documentation for intended usage.
///
void(CEF_CALLBACK* send_raw_data)(struct _cef_server_t* self,
int connection_id,
const void* data,
size_t data_size);
///
// Close the connection identified by |connection_id|. See SendHttpResponse
// documentation for intended usage.
///
void(CEF_CALLBACK* close_connection)(struct _cef_server_t* self,
int connection_id);
///
// Send a WebSocket message to the connection identified by |connection_id|.
// |data| is the response content and |data_size| is the size of |data| in
// bytes. The contents of |data| will be copied. See
// cef_server_handler_t::OnWebSocketRequest documentation for intended usage.
///
void(CEF_CALLBACK* send_web_socket_message)(struct _cef_server_t* self,
int connection_id,
const void* data,
size_t data_size);
} cef_server_t;
///
// Create a new server that binds to |address| and |port|. |address| must be a
// valid IPv4 or IPv6 address (e.g. 127.0.0.1 or ::1) and |port| must be a port
// number outside of the reserved range (e.g. between 1025 and 65535 on most
// platforms). |backlog| is the maximum number of pending connections. A new
// thread will be created for each CreateServer call (the "dedicated server
// thread"). It is therefore recommended to use a different cef_server_handler_t
// instance for each CreateServer call to avoid thread safety issues in the
// cef_server_handler_t implementation. The
// cef_server_handler_t::OnServerCreated function will be called on the
// dedicated server thread to report success or failure. See
// cef_server_handler_t::OnServerCreated documentation for a description of
// server lifespan.
///
CEF_EXPORT void cef_server_create(const cef_string_t* address,
uint16 port,
int backlog,
struct _cef_server_handler_t* handler);
///
// Implement this structure to handle HTTP server requests. A new thread will be
// created for each cef_server_t::CreateServer call (the "dedicated server
// thread"), and the functions of this structure will be called on that thread.
// It is therefore recommended to use a different cef_server_handler_t instance
// for each cef_server_t::CreateServer call to avoid thread safety issues in the
// cef_server_handler_t implementation.
///
typedef struct _cef_server_handler_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Called when |server| is created. If the server was started successfully
// then cef_server_t::IsRunning will return true (1). The server will continue
// running until cef_server_t::Shutdown is called, after which time
// OnServerDestroyed will be called. If the server failed to start then
// OnServerDestroyed will be called immediately after this function returns.
///
void(CEF_CALLBACK* on_server_created)(struct _cef_server_handler_t* self,
struct _cef_server_t* server);
///
// Called when |server| is destroyed. The server thread will be stopped after
// this function returns. The client should release any references to |server|
// when this function is called. See OnServerCreated documentation for a
// description of server lifespan.
///
void(CEF_CALLBACK* on_server_destroyed)(struct _cef_server_handler_t* self,
struct _cef_server_t* server);
///
// Called when a client connects to |server|. |connection_id| uniquely
// identifies the connection. Each call to this function will have a matching
// call to OnClientDisconnected.
///
void(CEF_CALLBACK* on_client_connected)(struct _cef_server_handler_t* self,
struct _cef_server_t* server,
int connection_id);
///
// Called when a client disconnects from |server|. |connection_id| uniquely
// identifies the connection. The client should release any data associated
// with |connection_id| when this function is called and |connection_id|
// should no longer be passed to cef_server_t functions. Disconnects can
// originate from either the client or the server. For example, the server
// will disconnect automatically after a cef_server_t::SendHttpXXXResponse
// function is called.
///
void(CEF_CALLBACK* on_client_disconnected)(struct _cef_server_handler_t* self,
struct _cef_server_t* server,
int connection_id);
///
// Called when |server| receives an HTTP request. |connection_id| uniquely
// identifies the connection, |client_address| is the requesting IPv4 or IPv6
// client address including port number, and |request| contains the request
// contents (URL, function, headers and optional POST data). Call cef_server_t
// functions either synchronously or asynchronusly to send a response.
///
void(CEF_CALLBACK* on_http_request)(struct _cef_server_handler_t* self,
struct _cef_server_t* server,
int connection_id,
const cef_string_t* client_address,
struct _cef_request_t* request);
///
// Called when |server| receives a WebSocket request. |connection_id| uniquely
// identifies the connection, |client_address| is the requesting IPv4 or IPv6
// client address including port number, and |request| contains the request
// contents (URL, function, headers and optional POST data). Execute
// |callback| either synchronously or asynchronously to accept or decline the
// WebSocket connection. If the request is accepted then OnWebSocketConnected
// will be called after the WebSocket has connected and incoming messages will
// be delivered to the OnWebSocketMessage callback. If the request is declined
// then the client will be disconnected and OnClientDisconnected will be
// called. Call the cef_server_t::SendWebSocketMessage function after
// receiving the OnWebSocketConnected callback to respond with WebSocket
// messages.
///
void(CEF_CALLBACK* on_web_socket_request)(struct _cef_server_handler_t* self,
struct _cef_server_t* server,
int connection_id,
const cef_string_t* client_address,
struct _cef_request_t* request,
struct _cef_callback_t* callback);
///
// Called after the client has accepted the WebSocket connection for |server|
// and |connection_id| via the OnWebSocketRequest callback. See
// OnWebSocketRequest documentation for intended usage.
///
void(CEF_CALLBACK* on_web_socket_connected)(
struct _cef_server_handler_t* self,
struct _cef_server_t* server,
int connection_id);
///
// Called when |server| receives an WebSocket message. |connection_id|
// uniquely identifies the connection, |data| is the message content and
// |data_size| is the size of |data| in bytes. Do not keep a reference to
// |data| outside of this function. See OnWebSocketRequest documentation for
// intended usage.
///
void(CEF_CALLBACK* on_web_socket_message)(struct _cef_server_handler_t* self,
struct _cef_server_t* server,
int connection_id,
const void* data,
size_t data_size);
} cef_server_handler_t;
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_SERVER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=7489f3078e15407c3984f0b2393df3b0ddc045b0$
// $hash=9c9e2d87b54564137f970081f25d09157c5903d2$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SSL_INFO_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2aa604a0520a802ae3b10f5922d4a7ca48078785$
// $hash=7a0704801e06ead071214fd71374ea1735d25620$
//
#ifndef CEF_INCLUDE_CAPI_CEF_SSL_STATUS_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=4e127106e9b5fada6bf05ea6e29bc502bb2a1e0d$
// $hash=d86a0071df587cc4fb291133e8b8c4df325d9455$
//
#ifndef CEF_INCLUDE_CAPI_CEF_STREAM_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2e8edddfd49aea615c7adf8d0d092a4865b79229$
// $hash=555bbaa1c85c0dc4d3e2e8fe4865fd5731731c66$
//
#ifndef CEF_INCLUDE_CAPI_CEF_STRING_VISITOR_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=344ba415349b4cc305f51cb9e22563b232433e25$
// $hash=6ff55aa6d2a955b54068ad1893c49f0b9100ac69$
//
#ifndef CEF_INCLUDE_CAPI_CEF_TASK_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d844086fc675680bfae12c3fa12a6886cc804816$
// $hash=e1160bd7ab8ad37245aea183b8c0cd989dd32385$
//
#ifndef CEF_INCLUDE_CAPI_CEF_THREAD_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=2684497985a960a8699e6c24aeb17370cf318e88$
// $hash=8657a52064f1a797858cd46e6588c8ae01eb7778$
//
#ifndef CEF_INCLUDE_CAPI_CEF_TRACE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d0ac53d1df275f9ea9cf19a6a07f8dce88f2b151$
// $hash=fa6b1185c566277ff593e7e537dff2b8085d1f3a$
//
#ifndef CEF_INCLUDE_CAPI_CEF_URLREQUEST_CAPI_H_
@@ -99,6 +99,12 @@ typedef struct _cef_urlrequest_t {
struct _cef_response_t*(CEF_CALLBACK* get_response)(
struct _cef_urlrequest_t* self);
///
// Returns true (1) if the response body was served from the cache. This
// includes responses for which revalidation was required.
///
int(CEF_CALLBACK* response_was_cached)(struct _cef_urlrequest_t* self);
///
// Cancel the request.
///

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=aecaacd4f1b5294258f4e78883bcfec0a5c5677f$
// $hash=ba359f7c3faeafa668121552940293317f51da20$
//
#ifndef CEF_INCLUDE_CAPI_CEF_V8_CAPI_H_
@@ -355,6 +355,25 @@ typedef struct _cef_v8exception_t {
int(CEF_CALLBACK* get_end_column)(struct _cef_v8exception_t* self);
} cef_v8exception_t;
///
// Callback structure that is passed to cef_v8value_t::CreateArrayBuffer.
///
typedef struct _cef_v8array_buffer_release_callback_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Called to release |buffer| when the ArrayBuffer JS object is garbage
// collected. |buffer| is the value that was passed to CreateArrayBuffer along
// with this object.
///
void(CEF_CALLBACK* release_buffer)(
struct _cef_v8array_buffer_release_callback_t* self,
void* buffer);
} cef_v8array_buffer_release_callback_t;
///
// Structure representing a V8 value handle. V8 handles can only be accessed
// from the thread on which they are created. Valid threads for creating a V8
@@ -425,6 +444,11 @@ typedef struct _cef_v8value_t {
///
int(CEF_CALLBACK* is_array)(struct _cef_v8value_t* self);
///
// True if the value type is an ArrayBuffer.
///
int(CEF_CALLBACK* is_array_buffer)(struct _cef_v8value_t* self);
///
// True if the value type is function.
///
@@ -639,6 +663,25 @@ typedef struct _cef_v8value_t {
///
int(CEF_CALLBACK* get_array_length)(struct _cef_v8value_t* self);
// ARRAY BUFFER METHODS - These functions are only available on ArrayBuffers.
///
// Returns the ReleaseCallback object associated with the ArrayBuffer or NULL
// if the ArrayBuffer was not created with CreateArrayBuffer.
///
struct _cef_v8array_buffer_release_callback_t*(
CEF_CALLBACK* get_array_buffer_release_callback)(
struct _cef_v8value_t* self);
///
// Prevent the ArrayBuffer from using it's memory block by setting the length
// to zero. This operation cannot be undone. If the ArrayBuffer was created
// with CreateArrayBuffer then
// cef_v8array_buffer_release_callback_t::ReleaseBuffer will be called to
// release the underlying buffer.
///
int(CEF_CALLBACK* neuter_array_buffer)(struct _cef_v8value_t* self);
// FUNCTION METHODS - These functions are only available on functions.
///
@@ -751,6 +794,21 @@ CEF_EXPORT cef_v8value_t* cef_v8value_create_object(
///
CEF_EXPORT cef_v8value_t* cef_v8value_create_array(int length);
///
// Create a new cef_v8value_t object of type ArrayBuffer which wraps the
// provided |buffer| of size |length| bytes. The ArrayBuffer is externalized,
// meaning that it does not own |buffer|. The caller is responsible for freeing
// |buffer| when requested via a call to cef_v8array_buffer_release_callback_t::
// ReleaseBuffer. This function should only be called from within the scope of a
// cef_render_process_handler_t, cef_v8handler_t or cef_v8accessor_t callback,
// or in combination with calling enter() and exit() on a stored cef_v8context_t
// reference.
///
CEF_EXPORT cef_v8value_t* cef_v8value_create_array_buffer(
void* buffer,
size_t length,
cef_v8array_buffer_release_callback_t* release_callback);
///
// Create a new cef_v8value_t object of type function. This function should only
// be called from within the scope of a cef_render_process_handler_t,

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=4119ecd62e8c308a5876e6a7ac92cf3ff7df6425$
// $hash=cc8995c8ae5c1336941b95770f8a07dc273fb2f1$
//
#ifndef CEF_INCLUDE_CAPI_CEF_VALUES_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a8fdbd327fff7769353b0aba47c74cba61333144$
// $hash=0b6c2af0341961398b8cc1b67143ff5632a8a719$
//
#ifndef CEF_INCLUDE_CAPI_CEF_WAITABLE_EVENT_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=95dbecaa1c2b67c99e32d29e7bcd3aff4d126baf$
// $hash=1b004b5701d21996ea83edc81523f5cf9b0c46dc$
//
#ifndef CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_
@@ -202,9 +202,6 @@ CEF_EXPORT void cef_is_web_plugin_unstable(
// 2. widevinecdm file from the CDM binary distribution (e.g.
// widevinecdm.dll on on Windows, libwidevinecdm.dylib on OS X,
// libwidevinecdm.so on Linux).
// 3. widevidecdmadapter file from the CEF binary distribution (e.g.
// widevinecdmadapter.dll on Windows, widevinecdmadapter.plugin on OS X,
// libwidevinecdmadapter.so on Linux).
//
// If any of these files are missing or if the manifest file has incorrect
// contents the registration will fail and |callback| will receive a |result|

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=9eccfa7e4ebd9ccd0d3d7e0424a9595053e6febe$
// $hash=836a001b9a1c8282387d5fd2e34170bcb3743e1b$
//
#ifndef CEF_INCLUDE_CAPI_CEF_X509_CERTIFICATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=8356c87c40363434391cc18f509b580860db4404$
// $hash=984dbef3999ba44fc3c963053cba9e3fb2ff1625$
//
#ifndef CEF_INCLUDE_CAPI_CEF_XML_READER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=fec66a36497e467f3da1d2b86d0ae66b8cf709b7$
// $hash=af5f798c94fdf2c307f32b05cfc271de4393bacb$
//
#ifndef CEF_INCLUDE_CAPI_CEF_ZIP_READER_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,13 +33,18 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=3ae57ba897d73f3fcccc955c827379746b6203af$
// $hash=d61ec60c05868c98d2823f6fcc6cf9a5153eb01d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_GEOLOCATION_CAPI_H_
#define CEF_INCLUDE_CAPI_CEF_GEOLOCATION_CAPI_H_
#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TEST_HELPERS_CAPI_H_
#define CEF_INCLUDE_CAPI_TEST_CEF_TEST_HELPERS_CAPI_H_
#pragma once
#if !defined(BUILDING_CEF_SHARED) && !defined(WRAPPING_CEF_SHARED) && \
!defined(UNIT_TEST)
#error This file can be included for unit tests only
#endif
#include "include/capi/cef_base_capi.h"
#ifdef __cplusplus
@@ -47,33 +52,15 @@ extern "C" {
#endif
///
// Implement this structure to receive geolocation updates. The functions of
// this structure will be called on the browser process UI thread.
// Execute JavaScript with a user gesture to trigger functionality like
// onbeforeunload handlers that will otherwise be blocked.
///
typedef struct _cef_get_geolocation_callback_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
///
// Called with the 'best available' location information or, if the location
// update failed, with error information.
///
void(CEF_CALLBACK* on_location_update)(
struct _cef_get_geolocation_callback_t* self,
const struct _cef_geoposition_t* position);
} cef_get_geolocation_callback_t;
///
// Request a one-time geolocation update. This function bypasses any user
// permission checks so should only be used by code that is allowed to access
// location information.
///
CEF_EXPORT int cef_get_geolocation(cef_get_geolocation_callback_t* callback);
CEF_EXPORT void cef_execute_java_script_with_user_gesture_for_tests(
struct _cef_frame_t* frame,
const cef_string_t* javascript);
#ifdef __cplusplus
}
#endif
#endif // CEF_INCLUDE_CAPI_CEF_GEOLOCATION_CAPI_H_
#endif // CEF_INCLUDE_CAPI_TEST_CEF_TEST_HELPERS_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ec043910c391a84dda3b85cf01ea11cd44f37c1f$
// $hash=ae3b4b169b668985a8f641af215b7db7c26f964b$
//
#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=acbfe00533fba6a55e9a0d0d0c6a317f54dbf887$
// $hash=fff80271c2a16d7857c8928b6495cba30d6f1afb$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BOX_LAYOUT_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0ba6628b63ed6641097a1714d4facf5343cf2252$
// $hash=c499099d6f628e58d2eed207537817758161af5d$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=08193b1ef781224bf7664c5bf407af8674ad2362$
// $hash=4b44091d8bcdbf6899d812f1fee7db04c8cc3df0$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BROWSER_VIEW_DELEGATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=f785be05a42d3490ac2e625470befa7d4f77befb$
// $hash=b7c0ee873547fdeb6d403693b3e87ec16646757d$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BUTTON_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=eb5e428e07fbad33c7da94735969b0ff4dd6fb9f$
// $hash=f63985088a498b2b0a7568adfc960eba1794a6c9$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_BUTTON_DELEGATE_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=20e9f8cdab0325b3d860128a946f3120563fa08e$
// $hash=320aba1a1c7775a60858e8304ee25a8a5ef16ff9$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_DISPLAY_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=32d7f76955b00935902e954344c76efe864eabf4$
// $hash=eddaab99fd0b1eedbc43417515e2e9cd2b3724e6$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_FILL_LAYOUT_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=ff20922a0e73fdb84b0cb1864f35911a1a725f8a$
// $hash=81babf6211a1e99886028bfc4fb9107ef7517c1f$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_LABEL_BUTTON_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=0fd9d445840558956dbe281f1d5d20ec003684d1$
// $hash=9217854fae0d6439ce459bdb28c9df5d1f3974b9$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_LAYOUT_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=cf3b867dfc26e13b96f2e20fe8b974a38d28119e$
// $hash=ba9968a57c88511feec2b12338c366a400c101ed$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_MENU_BUTTON_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=a2b3912f8188f19f3d5109aec1b1d03227e31429$
// $hash=c3ea0c1048f2a86ba918eeeb5f009d623aaadf8e$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_MENU_BUTTON_DELEGATE_CAPI_H_
@@ -48,6 +48,16 @@ extern "C" {
struct _cef_menu_button_t;
///
// MenuButton pressed lock is released when this object is destroyed.
///
typedef struct _cef_menu_button_pressed_lock_t {
///
// Base structure.
///
cef_base_ref_counted_t base;
} cef_menu_button_pressed_lock_t;
///
// Implement this structure to handle MenuButton events. The functions of this
// structure will be called on the browser process UI thread unless otherwise
@@ -61,12 +71,15 @@ typedef struct _cef_menu_button_delegate_t {
///
// Called when |button| is pressed. Call cef_menu_button_t::show_menu() to
// show the resulting menu at |screen_point|.
// show a popup menu at |screen_point|. When showing a custom popup such as a
// window keep a reference to |button_pressed_lock| until the popup is hidden
// to maintain the pressed button state.
///
void(CEF_CALLBACK* on_menu_button_pressed)(
struct _cef_menu_button_delegate_t* self,
struct _cef_menu_button_t* menu_button,
const cef_point_t* screen_point);
const cef_point_t* screen_point,
struct _cef_menu_button_pressed_lock_t* button_pressed_lock);
} cef_menu_button_delegate_t;
#ifdef __cplusplus

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=dd5ea19f73dcec3e4f229920f44c9de6599e4f36$
// $hash=e1acb7dc75a856e69aab551a491d1688726d72d9$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_PANEL_CAPI_H_

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
// 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
@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=c3aac051e19d368c3c7e415fcb160abb83060011$
// $hash=e733c5aedfc8a69c5f36baa0f8aaf8236926bedd$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_PANEL_DELEGATE_CAPI_H_

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