mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Compare commits
145 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4180781f54 | ||
|
d80d4671c3 | ||
|
df482f6b12 | ||
|
46ae630452 | ||
|
181df42df2 | ||
|
69bf4a73da | ||
|
bdfed81c70 | ||
|
47dab09c5e | ||
|
2587cf23c5 | ||
|
75c6895fb5 | ||
|
e4239b9373 | ||
|
12fbff866e | ||
|
8c9bbb1a73 | ||
|
44748db484 | ||
|
269879747d | ||
|
43181176cf | ||
|
5d82749377 | ||
|
8c5d64ce83 | ||
|
418ae98476 | ||
|
dac76df7e3 | ||
|
ca90a945cc | ||
|
3f98be4c95 | ||
|
b195ddd4a8 | ||
|
1724b57845 | ||
|
f8ce93ba3c | ||
|
64a5754959 | ||
|
d9a7422346 | ||
|
4a7583d5d3 | ||
|
3dc9464583 | ||
|
608df0a86d | ||
|
521546d6b7 | ||
|
e34e9142ee | ||
|
85bda40d95 | ||
|
c05cb73de1 | ||
|
fb71a32356 | ||
|
6250f07099 | ||
|
1eff0baf94 | ||
|
335922b64d | ||
|
95373bb042 | ||
|
ec8076536e | ||
|
100b457743 | ||
|
c7ea0c5958 | ||
|
35654cd709 | ||
|
b5eba89598 | ||
|
d9b764860a | ||
|
771e5c7c0c | ||
|
464efb1162 | ||
|
ee15eca351 | ||
|
cb83a7c3fd | ||
|
332d7f4ee1 | ||
|
bf168174d0 | ||
|
185a908811 | ||
|
7a372a642b | ||
|
2dcee2ccfc | ||
|
7702d96b33 | ||
|
b62dd2b6ee | ||
|
916360e2e5 | ||
|
b318adddac | ||
|
c1b06ccee8 | ||
|
c04895b222 | ||
|
2ea7459a89 | ||
|
edef01f579 | ||
|
b1cd9d1598 | ||
|
d6b2b4b144 | ||
|
cbf66a8077 | ||
|
fc82de7aa7 | ||
|
111b6de46c | ||
|
512e588e40 | ||
|
4921dc2213 | ||
|
d8db6fa9da | ||
|
493232ce5a | ||
|
17cb26b8b9 | ||
|
a0a7a35fe2 | ||
|
75ca552a4e | ||
|
3000bc8748 | ||
|
5f4bccd672 | ||
|
0428438e72 | ||
|
21cf732e7f | ||
|
a3b1dc01ea | ||
|
b524edc209 | ||
|
77466e7b6d | ||
|
e43d2054d1 | ||
|
9d52d72ae5 | ||
|
5ec45e5f7f | ||
|
6d7a680187 | ||
|
2f5838eaaa | ||
|
13ca38e4e0 | ||
|
4615fffafb | ||
|
1eab4322f8 | ||
|
c38d62b233 | ||
|
8fc6aced6c | ||
|
3474e7abc1 | ||
|
a513e01b01 | ||
|
113a96be0d | ||
|
705b6ec15c | ||
|
7945baf640 | ||
|
3c2e97d82e | ||
|
0cb874c9e1 | ||
|
fcf5dd036d | ||
|
477ab61e3b | ||
|
d24ea7572f | ||
|
f97f0bbda6 | ||
|
a2c621bf8b | ||
|
4014be78dc | ||
|
bee82b6ac3 | ||
|
28c7f04001 | ||
|
dc0a45d429 | ||
|
171d525aa4 | ||
|
758022006a | ||
|
8bfcbeaf48 | ||
|
8410b1383f | ||
|
ce891b57e1 | ||
|
5c0895e27f | ||
|
db9298fd3e | ||
|
d43c3091b2 | ||
|
32ebbd60f9 | ||
|
883b4af51d | ||
|
efc0a67e00 | ||
|
71727464b8 | ||
|
5c1d5c1f06 | ||
|
3d1bbaf54f | ||
|
80caf947f3 | ||
|
086848a7ad | ||
|
a74b66352e | ||
|
4f2b7f1829 | ||
|
eabf93f6cf | ||
|
4adc23a52a | ||
|
9667789621 | ||
|
9eb0954cde | ||
|
81e7748fb5 | ||
|
303280dd71 | ||
|
1e1133ec66 | ||
|
c32f366dfa | ||
|
ebde595370 | ||
|
7b0bb931b1 | ||
|
51e8bd9bd8 | ||
|
9276dba712 | ||
|
029cc67915 | ||
|
17d51ceed0 | ||
|
9e416a7921 | ||
|
031c8a7f52 | ||
|
2428b35f6c | ||
|
ff0e5c0348 | ||
|
839fdb211c | ||
|
2b9a06933b |
453
BUILD.gn
453
BUILD.gn
@@ -257,6 +257,9 @@ assert(enable_print_preview)
|
||||
# Enable support for Widevine CDM.
|
||||
assert(enable_widevine)
|
||||
|
||||
# Enable Views UI framework.
|
||||
assert(toolkit_views)
|
||||
|
||||
if (is_clang) {
|
||||
# Don't use the chrome style plugin.
|
||||
assert(!clang_use_chrome_plugins)
|
||||
@@ -370,6 +373,8 @@ source_set("libcef_static_unittested") {
|
||||
sources = [
|
||||
"libcef/browser/devtools/devtools_util.cc",
|
||||
"libcef/browser/devtools/devtools_util.h",
|
||||
"libcef/browser/screen_util.h",
|
||||
"libcef/browser/screen_util.cc",
|
||||
]
|
||||
|
||||
deps = [
|
||||
@@ -386,6 +391,7 @@ source_set("libcef_static_unittested") {
|
||||
test("libcef_static_unittests") {
|
||||
sources = [
|
||||
"libcef/browser/devtools/devtools_util_unittest.cc",
|
||||
"libcef/browser/screen_util_unittest.cc",
|
||||
]
|
||||
|
||||
deps = [
|
||||
@@ -411,12 +417,18 @@ static_library("libcef_static") {
|
||||
"libcef/browser/alloy/alloy_browser_main.h",
|
||||
"libcef/browser/alloy/alloy_content_browser_client.cc",
|
||||
"libcef/browser/alloy/alloy_content_browser_client.h",
|
||||
"libcef/browser/alloy/alloy_dialog_util.cc",
|
||||
"libcef/browser/alloy/alloy_dialog_util.h",
|
||||
"libcef/browser/alloy/alloy_download_util.cc",
|
||||
"libcef/browser/alloy/alloy_download_util.h",
|
||||
"libcef/browser/alloy/alloy_web_contents_view_delegate.cc",
|
||||
"libcef/browser/alloy/alloy_web_contents_view_delegate.h",
|
||||
"libcef/browser/alloy/browser_platform_delegate_alloy.cc",
|
||||
"libcef/browser/alloy/browser_platform_delegate_alloy.h",
|
||||
"libcef/browser/alloy/dialogs/alloy_constrained_window_views_client.cc",
|
||||
"libcef/browser/alloy/dialogs/alloy_constrained_window_views_client.h",
|
||||
"libcef/browser/alloy/dialogs/alloy_javascript_dialog_manager_delegate.cc",
|
||||
"libcef/browser/alloy/dialogs/alloy_javascript_dialog_manager_delegate.h",
|
||||
"libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.cc",
|
||||
"libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.h",
|
||||
"libcef/browser/alloy/chrome_browser_process_alloy.cc",
|
||||
"libcef/browser/alloy/chrome_browser_process_alloy.h",
|
||||
"libcef/browser/alloy/chrome_profile_manager_alloy.cc",
|
||||
@@ -469,6 +481,22 @@ static_library("libcef_static") {
|
||||
"libcef/browser/chrome_crash_reporter_client_stub.cc",
|
||||
"libcef/browser/chrome/extensions/chrome_mime_handler_view_guest_delegate_cef.cc",
|
||||
"libcef/browser/chrome/extensions/chrome_mime_handler_view_guest_delegate_cef.h",
|
||||
"libcef/browser/chrome/views/browser_platform_delegate_chrome_child_window.cc",
|
||||
"libcef/browser/chrome/views/browser_platform_delegate_chrome_child_window.h",
|
||||
"libcef/browser/chrome/views/browser_platform_delegate_chrome_views.cc",
|
||||
"libcef/browser/chrome/views/browser_platform_delegate_chrome_views.h",
|
||||
"libcef/browser/chrome/views/chrome_browser_frame.cc",
|
||||
"libcef/browser/chrome/views/chrome_browser_frame.h",
|
||||
"libcef/browser/chrome/views/chrome_browser_view.cc",
|
||||
"libcef/browser/chrome/views/chrome_browser_view.h",
|
||||
"libcef/browser/chrome/views/chrome_child_window.cc",
|
||||
"libcef/browser/chrome/views/chrome_child_window.h",
|
||||
"libcef/browser/chrome/views/chrome_views_util.cc",
|
||||
"libcef/browser/chrome/views/chrome_views_util.h",
|
||||
"libcef/browser/chrome/views/toolbar_view_impl.cc",
|
||||
"libcef/browser/chrome/views/toolbar_view_impl.h",
|
||||
"libcef/browser/chrome/views/toolbar_view_view.cc",
|
||||
"libcef/browser/chrome/views/toolbar_view_view.h",
|
||||
"libcef/browser/context.cc",
|
||||
"libcef/browser/context.h",
|
||||
"libcef/browser/context_menu_params_impl.cc",
|
||||
@@ -489,6 +517,8 @@ static_library("libcef_static") {
|
||||
"libcef/browser/download_manager_delegate.h",
|
||||
"libcef/browser/extension_impl.cc",
|
||||
"libcef/browser/extension_impl.h",
|
||||
"libcef/browser/extensions/api/file_system/cef_file_system_delegate.cc",
|
||||
"libcef/browser/extensions/api/file_system/cef_file_system_delegate.h",
|
||||
"libcef/browser/extensions/api/storage/sync_value_store_cache.cc",
|
||||
"libcef/browser/extensions/api/storage/sync_value_store_cache.h",
|
||||
"libcef/browser/extensions/api/tabs/tabs_api.cc",
|
||||
@@ -525,15 +555,14 @@ static_library("libcef_static") {
|
||||
"libcef/browser/extensions/extension_web_contents_observer.h",
|
||||
"libcef/browser/extensions/mime_handler_view_guest_delegate.cc",
|
||||
"libcef/browser/extensions/mime_handler_view_guest_delegate.h",
|
||||
"libcef/browser/extensions/pdf_web_contents_helper_client.cc",
|
||||
"libcef/browser/extensions/pdf_web_contents_helper_client.h",
|
||||
"libcef/browser/extensions/value_store/cef_value_store.cc",
|
||||
"libcef/browser/extensions/value_store/cef_value_store.h",
|
||||
"libcef/browser/extensions/value_store/cef_value_store_factory.cc",
|
||||
"libcef/browser/extensions/value_store/cef_value_store_factory.h",
|
||||
"libcef/browser/file_dialog_runner.h",
|
||||
"libcef/browser/file_dialog_manager.cc",
|
||||
"libcef/browser/file_dialog_manager.h",
|
||||
"libcef/browser/file_dialog_runner.cc",
|
||||
"libcef/browser/file_dialog_runner.h",
|
||||
"libcef/browser/frame_host_impl.cc",
|
||||
"libcef/browser/frame_host_impl.h",
|
||||
"libcef/browser/frame_service_base.h",
|
||||
@@ -546,6 +575,8 @@ static_library("libcef_static") {
|
||||
"libcef/browser/javascript_dialog_manager.h",
|
||||
"libcef/browser/main_runner.cc",
|
||||
"libcef/browser/main_runner.h",
|
||||
"libcef/browser/media_access_query.cc",
|
||||
"libcef/browser/media_access_query.h",
|
||||
"libcef/browser/media_capture_devices_dispatcher.cc",
|
||||
"libcef/browser/media_capture_devices_dispatcher.h",
|
||||
"libcef/browser/media_router/media_route_impl.cc",
|
||||
@@ -558,6 +589,8 @@ static_library("libcef_static") {
|
||||
"libcef/browser/media_router/media_sink_impl.h",
|
||||
"libcef/browser/media_router/media_source_impl.cc",
|
||||
"libcef/browser/media_router/media_source_impl.h",
|
||||
"libcef/browser/media_stream_registrar.cc",
|
||||
"libcef/browser/media_stream_registrar.h",
|
||||
"libcef/browser/menu_manager.cc",
|
||||
"libcef/browser/menu_manager.h",
|
||||
"libcef/browser/menu_model_impl.cc",
|
||||
@@ -567,6 +600,8 @@ static_library("libcef_static") {
|
||||
"libcef/browser/native/browser_platform_delegate_native.h",
|
||||
"libcef/browser/native/cursor_util.h",
|
||||
"libcef/browser/native/cursor_util.cc",
|
||||
"libcef/browser/native/window_delegate_view.cc",
|
||||
"libcef/browser/native/window_delegate_view.h",
|
||||
"libcef/browser/navigation_entry_impl.cc",
|
||||
"libcef/browser/navigation_entry_impl.h",
|
||||
"libcef/browser/net/chrome_scheme_handler.cc",
|
||||
@@ -616,11 +651,17 @@ static_library("libcef_static") {
|
||||
"libcef/browser/osr/render_widget_host_view_osr.h",
|
||||
"libcef/browser/osr/synthetic_gesture_target_osr.cc",
|
||||
"libcef/browser/osr/synthetic_gesture_target_osr.h",
|
||||
"libcef/browser/osr/touch_handle_drawable_osr.cc",
|
||||
"libcef/browser/osr/touch_handle_drawable_osr.h",
|
||||
"libcef/browser/osr/touch_selection_controller_client_osr.cc",
|
||||
"libcef/browser/osr/touch_selection_controller_client_osr.h",
|
||||
"libcef/browser/osr/video_consumer_osr.cc",
|
||||
"libcef/browser/osr/video_consumer_osr.h",
|
||||
"libcef/browser/osr/web_contents_view_osr.cc",
|
||||
"libcef/browser/osr/web_contents_view_osr.h",
|
||||
"libcef/browser/path_util_impl.cc",
|
||||
"libcef/browser/permission_prompt.cc",
|
||||
"libcef/browser/permission_prompt.h",
|
||||
"libcef/browser/prefs/browser_prefs.cc",
|
||||
"libcef/browser/prefs/browser_prefs.h",
|
||||
"libcef/browser/prefs/pref_store.cc",
|
||||
@@ -629,8 +670,6 @@ static_library("libcef_static") {
|
||||
"libcef/browser/prefs/renderer_prefs.h",
|
||||
"libcef/browser/print_settings_impl.cc",
|
||||
"libcef/browser/print_settings_impl.h",
|
||||
"libcef/browser/printing/constrained_window_views_client.cc",
|
||||
"libcef/browser/printing/constrained_window_views_client.h",
|
||||
"libcef/browser/printing/print_view_manager.cc",
|
||||
"libcef/browser/printing/print_view_manager.h",
|
||||
"libcef/browser/process_util_impl.cc",
|
||||
@@ -657,10 +696,63 @@ static_library("libcef_static") {
|
||||
"libcef/browser/trace_subscriber.cc",
|
||||
"libcef/browser/trace_subscriber.h",
|
||||
"libcef/browser/thread_util.h",
|
||||
"libcef/browser/web_contents_dialog_helper.cc",
|
||||
"libcef/browser/web_contents_dialog_helper.h",
|
||||
"libcef/browser/web_plugin_impl.cc",
|
||||
"libcef/browser/web_plugin_impl.h",
|
||||
"libcef/browser/views/basic_label_button_impl.cc",
|
||||
"libcef/browser/views/basic_label_button_impl.h",
|
||||
"libcef/browser/views/basic_label_button_view.cc",
|
||||
"libcef/browser/views/basic_label_button_view.h",
|
||||
"libcef/browser/views/basic_panel_impl.cc",
|
||||
"libcef/browser/views/basic_panel_impl.h",
|
||||
"libcef/browser/views/basic_panel_view.cc",
|
||||
"libcef/browser/views/basic_panel_view.h",
|
||||
"libcef/browser/views/box_layout_impl.cc",
|
||||
"libcef/browser/views/box_layout_impl.h",
|
||||
"libcef/browser/views/browser_platform_delegate_views.cc",
|
||||
"libcef/browser/views/browser_platform_delegate_views.h",
|
||||
"libcef/browser/views/browser_view_impl.cc",
|
||||
"libcef/browser/views/browser_view_impl.h",
|
||||
"libcef/browser/views/browser_view_view.cc",
|
||||
"libcef/browser/views/browser_view_view.h",
|
||||
"libcef/browser/views/button_impl.h",
|
||||
"libcef/browser/views/button_view.h",
|
||||
"libcef/browser/views/display_impl.cc",
|
||||
"libcef/browser/views/display_impl.h",
|
||||
"libcef/browser/views/fill_layout_impl.cc",
|
||||
"libcef/browser/views/fill_layout_impl.h",
|
||||
"libcef/browser/views/label_button_impl.h",
|
||||
"libcef/browser/views/label_button_view.h",
|
||||
"libcef/browser/views/layout_impl.h",
|
||||
"libcef/browser/views/layout_adapter.cc",
|
||||
"libcef/browser/views/layout_adapter.h",
|
||||
"libcef/browser/views/layout_util.cc",
|
||||
"libcef/browser/views/layout_util.h",
|
||||
"libcef/browser/views/menu_button_impl.cc",
|
||||
"libcef/browser/views/menu_button_impl.h",
|
||||
"libcef/browser/views/menu_button_view.cc",
|
||||
"libcef/browser/views/menu_button_view.h",
|
||||
"libcef/browser/views/menu_runner_views.cc",
|
||||
"libcef/browser/views/menu_runner_views.h",
|
||||
"libcef/browser/views/overlay_view_host.cc",
|
||||
"libcef/browser/views/overlay_view_host.h",
|
||||
"libcef/browser/views/panel_impl.h",
|
||||
"libcef/browser/views/panel_view.h",
|
||||
"libcef/browser/views/scroll_view_impl.cc",
|
||||
"libcef/browser/views/scroll_view_impl.h",
|
||||
"libcef/browser/views/scroll_view_view.cc",
|
||||
"libcef/browser/views/scroll_view_view.h",
|
||||
"libcef/browser/views/textfield_impl.cc",
|
||||
"libcef/browser/views/textfield_impl.h",
|
||||
"libcef/browser/views/textfield_view.cc",
|
||||
"libcef/browser/views/textfield_view.h",
|
||||
"libcef/browser/views/view_adapter.cc",
|
||||
"libcef/browser/views/view_adapter.h",
|
||||
"libcef/browser/views/view_impl.h",
|
||||
"libcef/browser/views/view_util.cc",
|
||||
"libcef/browser/views/view_util.h",
|
||||
"libcef/browser/views/view_view.h",
|
||||
"libcef/browser/views/window_impl.cc",
|
||||
"libcef/browser/views/window_impl.h",
|
||||
"libcef/browser/views/window_view.cc",
|
||||
"libcef/browser/views/window_view.h",
|
||||
"libcef/browser/x509_certificate_impl.cc",
|
||||
"libcef/browser/x509_certificate_impl.h",
|
||||
"libcef/browser/x509_cert_principal_impl.cc",
|
||||
@@ -722,6 +814,8 @@ static_library("libcef_static") {
|
||||
"libcef/common/parser_impl.cc",
|
||||
"libcef/common/process_message_impl.cc",
|
||||
"libcef/common/process_message_impl.h",
|
||||
"libcef/common/process_message_smr_impl.cc",
|
||||
"libcef/common/process_message_smr_impl.h",
|
||||
"libcef/common/request_impl.cc",
|
||||
"libcef/common/request_impl.h",
|
||||
"libcef/common/resource_bundle_delegate.cc",
|
||||
@@ -798,6 +892,14 @@ static_library("libcef_static") {
|
||||
# For Chrome runtime support.
|
||||
"//chrome/app/chrome_main_delegate.cc",
|
||||
"//chrome/app/chrome_main_delegate.h",
|
||||
|
||||
# Part of //ui/views:test_support which is testingonly.
|
||||
"//ui/views/test/desktop_test_views_delegate.h",
|
||||
"//ui/views/test/test_views_delegate.h",
|
||||
|
||||
# Support for UI input events.
|
||||
# Part of //ui/base:test_support which is testingonly.
|
||||
"//ui/base/test/ui_controls.h",
|
||||
]
|
||||
|
||||
configs += [
|
||||
@@ -817,6 +919,8 @@ static_library("libcef_static") {
|
||||
public_deps = [
|
||||
# Bring in feature flag defines.
|
||||
"//cef/libcef/features",
|
||||
# Support relative include paths.
|
||||
"//third_party/abseil-cpp:absl",
|
||||
]
|
||||
|
||||
deps = [
|
||||
@@ -837,8 +941,7 @@ static_library("libcef_static") {
|
||||
"//base:base_static",
|
||||
"//base/third_party/dynamic_annotations",
|
||||
"//cc",
|
||||
"//chrome:browser_dependencies",
|
||||
"//chrome:child_dependencies",
|
||||
"//chrome:dependencies",
|
||||
"//chrome:packed_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -850,7 +953,6 @@ static_library("libcef_static") {
|
||||
"//components/content_settings/core/browser",
|
||||
"//components/content_settings/core/common",
|
||||
"//components/crx_file",
|
||||
"//components/data_use_measurement/core",
|
||||
"//components/google/core/common",
|
||||
"//components/keyed_service/content:content",
|
||||
"//components/keyed_service/core:core",
|
||||
@@ -906,6 +1008,7 @@ static_library("libcef_static") {
|
||||
"//third_party/blink/public:blink",
|
||||
"//third_party/brotli:dec",
|
||||
"//third_party/cld_3/src/src:cld_3",
|
||||
"//third_party/crashpad/crashpad/handler",
|
||||
"//third_party/hunspell",
|
||||
"//third_party/leveldatabase",
|
||||
"//third_party/libxml:libxml",
|
||||
@@ -915,6 +1018,7 @@ static_library("libcef_static") {
|
||||
"//third_party/zlib:minizip",
|
||||
"//ui/base",
|
||||
"//ui/base/ime",
|
||||
"//ui/events",
|
||||
"//ui/events:events_base",
|
||||
"//ui/gfx",
|
||||
"//ui/gfx/geometry",
|
||||
@@ -922,6 +1026,9 @@ static_library("libcef_static") {
|
||||
"//ui/gfx/ipc/geometry",
|
||||
"//ui/gfx/ipc/skia",
|
||||
"//ui/gl",
|
||||
"//ui/strings",
|
||||
"//ui/views",
|
||||
"//ui/views/controls/webview",
|
||||
"//url",
|
||||
"//v8",
|
||||
]
|
||||
@@ -932,23 +1039,8 @@ static_library("libcef_static") {
|
||||
"libcef/browser/native/browser_platform_delegate_native_win.cc",
|
||||
"libcef/browser/native/browser_platform_delegate_native_win.h",
|
||||
"libcef/browser/native/cursor_util_win.cc",
|
||||
"libcef/browser/native/file_dialog_runner_win.cc",
|
||||
"libcef/browser/native/file_dialog_runner_win.h",
|
||||
"libcef/browser/native/javascript_dialog_runner_win.cc",
|
||||
"libcef/browser/native/javascript_dialog_runner_win.h",
|
||||
"libcef/browser/native/menu_2.cc",
|
||||
"libcef/browser/native/menu_2.h",
|
||||
"libcef/browser/native/menu_runner_win.cc",
|
||||
"libcef/browser/native/menu_runner_win.h",
|
||||
"libcef/browser/native/menu_wrapper.h",
|
||||
"libcef/browser/native/native_menu_win.cc",
|
||||
"libcef/browser/native/native_menu_win.h",
|
||||
"libcef/browser/osr/browser_platform_delegate_osr_win.cc",
|
||||
"libcef/browser/osr/browser_platform_delegate_osr_win.h",
|
||||
|
||||
# Part of //chrome/utility.
|
||||
"//chrome/utility/printing_handler.cc",
|
||||
"//chrome/utility/printing_handler.h",
|
||||
]
|
||||
|
||||
deps += [
|
||||
@@ -976,12 +1068,12 @@ static_library("libcef_static") {
|
||||
"libcef/browser/native/browser_platform_delegate_native_linux.cc",
|
||||
"libcef/browser/native/browser_platform_delegate_native_linux.h",
|
||||
"libcef/browser/native/cursor_util_linux.cc",
|
||||
"libcef/browser/native/menu_runner_linux.cc",
|
||||
"libcef/browser/native/menu_runner_linux.h",
|
||||
"libcef/browser/osr/browser_platform_delegate_osr_linux.cc",
|
||||
"libcef/browser/osr/browser_platform_delegate_osr_linux.h",
|
||||
"libcef/browser/printing/print_dialog_linux.cc",
|
||||
"libcef/browser/printing/print_dialog_linux.h",
|
||||
"libcef/common/util_linux.h",
|
||||
"libcef/common/util_linux.cc",
|
||||
]
|
||||
|
||||
if (ozone_platform_x11) {
|
||||
@@ -1007,245 +1099,128 @@ static_library("libcef_static") {
|
||||
sources += includes_mac + [
|
||||
"libcef/browser/native/browser_platform_delegate_native_mac.h",
|
||||
"libcef/browser/native/browser_platform_delegate_native_mac.mm",
|
||||
"libcef/browser/native/file_dialog_runner_mac.h",
|
||||
"libcef/browser/native/file_dialog_runner_mac.mm",
|
||||
"libcef/browser/native/javascript_dialog_runner_mac.h",
|
||||
"libcef/browser/native/javascript_dialog_runner_mac.mm",
|
||||
"libcef/browser/native/menu_runner_mac.h",
|
||||
"libcef/browser/native/menu_runner_mac.mm",
|
||||
"libcef/browser/osr/browser_platform_delegate_osr_mac.h",
|
||||
"libcef/browser/osr/browser_platform_delegate_osr_mac.mm",
|
||||
"libcef/browser/views/view_util_mac.mm",
|
||||
"libcef/common/util_mac.h",
|
||||
"libcef/common/util_mac.mm",
|
||||
|
||||
# For Chrome runtime support.
|
||||
"//chrome/app/chrome_main_mac.h",
|
||||
"//chrome/app/chrome_main_mac.mm",
|
||||
]
|
||||
}
|
||||
|
||||
if (is_win || is_mac) {
|
||||
deps += [ "//third_party/crashpad/crashpad/handler" ]
|
||||
# Part of //ui/views:test_support which is testingonly.
|
||||
"//ui/views/test/desktop_test_views_delegate_mac.mm",
|
||||
"//ui/views/test/test_views_delegate_mac.mm",
|
||||
|
||||
# Support for UI input events.
|
||||
# Part of //ui/base:test_support which is testingonly.
|
||||
"//ui/base/test/ui_controls_mac.mm",
|
||||
# Part of //ui//events:test_support which is testingonly.
|
||||
"//ui/events/test/cocoa_test_event_utils.mm",
|
||||
]
|
||||
}
|
||||
|
||||
if (ozone_platform_x11) {
|
||||
deps += [ "//ui/events/devices/x11" ]
|
||||
}
|
||||
|
||||
if (is_posix && !is_mac) {
|
||||
sources += [
|
||||
"libcef/common/cef_crash_report_utils.cc",
|
||||
"libcef/common/cef_crash_report_utils.h",
|
||||
]
|
||||
|
||||
deps += [
|
||||
"//components/crash/core/app",
|
||||
"//components/crash/content/browser",
|
||||
]
|
||||
}
|
||||
|
||||
if (v8_use_external_startup_data && use_v8_context_snapshot) {
|
||||
deps += [ "//tools/v8_context_snapshot" ]
|
||||
}
|
||||
|
||||
if (toolkit_views) {
|
||||
if (use_aura) {
|
||||
sources += [
|
||||
"libcef/browser/chrome/views/browser_platform_delegate_chrome_views.cc",
|
||||
"libcef/browser/chrome/views/browser_platform_delegate_chrome_views.h",
|
||||
"libcef/browser/chrome/views/chrome_browser_frame.cc",
|
||||
"libcef/browser/chrome/views/chrome_browser_frame.h",
|
||||
"libcef/browser/chrome/views/chrome_browser_view.cc",
|
||||
"libcef/browser/chrome/views/chrome_browser_view.h",
|
||||
"libcef/browser/chrome/views/chrome_views_util.cc",
|
||||
"libcef/browser/chrome/views/chrome_views_util.h",
|
||||
"libcef/browser/chrome/views/toolbar_view_impl.cc",
|
||||
"libcef/browser/chrome/views/toolbar_view_impl.h",
|
||||
"libcef/browser/chrome/views/toolbar_view_view.cc",
|
||||
"libcef/browser/chrome/views/toolbar_view_view.h",
|
||||
"libcef/browser/native/window_delegate_view.cc",
|
||||
"libcef/browser/native/window_delegate_view.h",
|
||||
"libcef/browser/views/basic_label_button_impl.cc",
|
||||
"libcef/browser/views/basic_label_button_impl.h",
|
||||
"libcef/browser/views/basic_label_button_view.cc",
|
||||
"libcef/browser/views/basic_label_button_view.h",
|
||||
"libcef/browser/views/basic_panel_impl.cc",
|
||||
"libcef/browser/views/basic_panel_impl.h",
|
||||
"libcef/browser/views/basic_panel_view.cc",
|
||||
"libcef/browser/views/basic_panel_view.h",
|
||||
"libcef/browser/views/box_layout_impl.cc",
|
||||
"libcef/browser/views/box_layout_impl.h",
|
||||
"libcef/browser/views/browser_platform_delegate_views.cc",
|
||||
"libcef/browser/views/browser_platform_delegate_views.h",
|
||||
"libcef/browser/views/browser_view_impl.cc",
|
||||
"libcef/browser/views/browser_view_impl.h",
|
||||
"libcef/browser/views/browser_view_view.cc",
|
||||
"libcef/browser/views/browser_view_view.h",
|
||||
"libcef/browser/views/button_impl.h",
|
||||
"libcef/browser/views/button_view.h",
|
||||
"libcef/browser/views/display_impl.cc",
|
||||
"libcef/browser/views/display_impl.h",
|
||||
"libcef/browser/views/fill_layout_impl.cc",
|
||||
"libcef/browser/views/fill_layout_impl.h",
|
||||
"libcef/browser/views/label_button_impl.h",
|
||||
"libcef/browser/views/label_button_view.h",
|
||||
"libcef/browser/views/layout_impl.h",
|
||||
"libcef/browser/views/layout_adapter.cc",
|
||||
"libcef/browser/views/layout_adapter.h",
|
||||
"libcef/browser/views/layout_util.cc",
|
||||
"libcef/browser/views/layout_util.h",
|
||||
"libcef/browser/views/menu_button_impl.cc",
|
||||
"libcef/browser/views/menu_button_impl.h",
|
||||
"libcef/browser/views/menu_button_view.cc",
|
||||
"libcef/browser/views/menu_button_view.h",
|
||||
"libcef/browser/views/menu_runner_views.cc",
|
||||
"libcef/browser/views/menu_runner_views.h",
|
||||
"libcef/browser/views/overlay_view_host.cc",
|
||||
"libcef/browser/views/overlay_view_host.h",
|
||||
"libcef/browser/views/panel_impl.h",
|
||||
"libcef/browser/views/panel_view.h",
|
||||
"libcef/browser/views/scroll_view_impl.cc",
|
||||
"libcef/browser/views/scroll_view_impl.h",
|
||||
"libcef/browser/views/scroll_view_view.cc",
|
||||
"libcef/browser/views/scroll_view_view.h",
|
||||
"libcef/browser/views/textfield_impl.cc",
|
||||
"libcef/browser/views/textfield_impl.h",
|
||||
"libcef/browser/views/textfield_view.cc",
|
||||
"libcef/browser/views/textfield_view.h",
|
||||
"libcef/browser/views/view_adapter.cc",
|
||||
"libcef/browser/views/view_adapter.h",
|
||||
"libcef/browser/views/view_impl.h",
|
||||
"libcef/browser/views/view_util.cc",
|
||||
"libcef/browser/views/view_util.h",
|
||||
"libcef/browser/views/view_view.h",
|
||||
"libcef/browser/views/window_impl.cc",
|
||||
"libcef/browser/views/window_impl.h",
|
||||
"libcef/browser/views/window_view.cc",
|
||||
"libcef/browser/views/window_view.h",
|
||||
"libcef/browser/native/browser_platform_delegate_native_aura.cc",
|
||||
"libcef/browser/native/browser_platform_delegate_native_aura.h",
|
||||
"libcef/browser/native/menu_runner_views_aura.cc",
|
||||
"libcef/browser/native/menu_runner_views_aura.h",
|
||||
"libcef/browser/views/view_util_aura.cc",
|
||||
|
||||
# Part of //ui/views:test_support which is testingonly.
|
||||
"//ui/views/test/desktop_test_views_delegate.h",
|
||||
"//ui/views/test/test_views_delegate.h",
|
||||
"//ui/views/test/desktop_test_views_delegate_aura.cc",
|
||||
"//ui/views/test/test_views_delegate_aura.cc",
|
||||
|
||||
# Support for UI input events.
|
||||
# Part of //ui/base:test_support which is testingonly.
|
||||
"//ui/base/test/ui_controls.h",
|
||||
"//ui/base/test/ui_controls_aura.cc",
|
||||
"//ui/aura/test/ui_controls_factory_aura.h",
|
||||
]
|
||||
|
||||
deps += [
|
||||
"//ui/events",
|
||||
"//ui/strings",
|
||||
"//ui/views",
|
||||
"//ui/views/controls/webview",
|
||||
"//ui/aura",
|
||||
"//ui/wm",
|
||||
"//ui/wm/public",
|
||||
]
|
||||
|
||||
if (use_aura) {
|
||||
if (is_win) {
|
||||
sources += [
|
||||
"libcef/browser/native/browser_platform_delegate_native_aura.cc",
|
||||
"libcef/browser/native/browser_platform_delegate_native_aura.h",
|
||||
"libcef/browser/views/view_util_aura.cc",
|
||||
|
||||
# Part of //ui/views:test_support which is testingonly.
|
||||
"//ui/views/test/desktop_test_views_delegate_aura.cc",
|
||||
"//ui/views/test/test_views_delegate_aura.cc",
|
||||
|
||||
# Support for UI input events.
|
||||
# Part of //base/test:test_config which is testingonly.
|
||||
"//base/test/test_switches.cc",
|
||||
"//base/test/test_switches.h",
|
||||
"//base/test/test_timeouts.cc",
|
||||
"//base/test/test_timeouts.h",
|
||||
# Part of //ui/aura:test_support which is testingonly.
|
||||
"//ui/aura/test/ui_controls_factory_aurawin.cc",
|
||||
# Part of //ui/base:test_support which is testingonly.
|
||||
"//ui/base/test/ui_controls_aura.cc",
|
||||
"//ui/aura/test/ui_controls_factory_aura.h",
|
||||
"//ui/base/test/ui_controls_internal_win.cc",
|
||||
"//ui/base/test/ui_controls_internal_win.h",
|
||||
]
|
||||
}
|
||||
|
||||
if (is_linux) {
|
||||
sources += [
|
||||
# Support for UI input events.
|
||||
# Part of //ui/aura:test_support which is testingonly.
|
||||
"//ui/aura/test/aura_test_utils.cc",
|
||||
"//ui/aura/test/aura_test_utils.h",
|
||||
# Part of //ui/events:test_support which is testingonly.
|
||||
"//ui/events/test/x11_event_waiter.cc",
|
||||
"//ui/events/test/x11_event_waiter.h",
|
||||
# Part of //ui/ozone::ui_test_support which is testingonly.
|
||||
"//ui/ozone/common/test/stub_ozone_ui_controls_test_helper.cc",
|
||||
"//ui/ozone/common/test/stub_ozone_ui_controls_test_helper.h",
|
||||
"//ui/ozone/public/ozone_ui_controls_test_helper.cc",
|
||||
"//ui/ozone/public/ozone_ui_controls_test_helper.h",
|
||||
"$root_gen_dir/ui/ozone/test_constructor_list.cc",
|
||||
# Part of //ui/views:test_support which is testingonly.
|
||||
"//ui/views/test/test_desktop_screen_ozone.cc",
|
||||
"//ui/views/test/test_desktop_screen_ozone.h",
|
||||
"//ui/views/test/ui_controls_factory_desktop_aura_ozone.cc",
|
||||
"//ui/views/test/ui_controls_factory_desktop_aura_ozone.h",
|
||||
]
|
||||
|
||||
deps += [
|
||||
"//ui/aura",
|
||||
"//ui/wm",
|
||||
"//ui/wm/public",
|
||||
"//ui/ozone:generate_test_support_constructor_list",
|
||||
]
|
||||
|
||||
if (is_win) {
|
||||
if (ozone_platform_x11) {
|
||||
sources += [
|
||||
# Support for UI input events.
|
||||
# Part of //base/test:test_config which is testingonly.
|
||||
"//base/test/test_switches.cc",
|
||||
"//base/test/test_switches.h",
|
||||
"//base/test/test_timeouts.cc",
|
||||
"//base/test/test_timeouts.h",
|
||||
# Part of //ui/base/x:test_support which is testingonly.
|
||||
"//ui/base/x/test/x11_ui_controls_test_helper.cc",
|
||||
"//ui/base/x/test/x11_ui_controls_test_helper.h",
|
||||
# Part of //ui/aura:test_support which is testingonly.
|
||||
"//ui/aura/test/ui_controls_factory_aurawin.cc",
|
||||
"//ui/aura/test/x11_event_sender.h",
|
||||
# Part of //ui/ozone/platform/x11:test_support which is testingonly.
|
||||
"//ui/ozone/platform/x11/x11_ozone_ui_controls_test_helper.cc",
|
||||
"//ui/ozone/platform/x11/x11_ozone_ui_controls_test_helper.h",
|
||||
]
|
||||
} else {
|
||||
sources += [
|
||||
# Support for UI input events.
|
||||
# Part of //ui/base:test_support which is testingonly.
|
||||
"//ui/base/test/ui_controls_internal_win.cc",
|
||||
"//ui/base/test/ui_controls_internal_win.h",
|
||||
"//ui/aura/test/ui_controls_factory_ozone.cc",
|
||||
# Part of //ui//events:test_support which is testingonly.
|
||||
"//ui/events/test/events_test_utils.cc"
|
||||
]
|
||||
}
|
||||
|
||||
if (is_linux) {
|
||||
sources += [
|
||||
# Support for UI input events.
|
||||
# Part of //ui/aura:test_support which is testingonly.
|
||||
"//ui/aura/test/aura_test_utils.cc",
|
||||
"//ui/aura/test/aura_test_utils.h",
|
||||
# Part of //ui/events:test_support which is testingonly.
|
||||
"//ui/events/test/x11_event_waiter.cc",
|
||||
"//ui/events/test/x11_event_waiter.h",
|
||||
# Part of //ui/ozone::ui_test_support which is testingonly.
|
||||
"//ui/ozone/common/test/stub_ozone_ui_controls_test_helper.cc",
|
||||
"//ui/ozone/common/test/stub_ozone_ui_controls_test_helper.h",
|
||||
"//ui/ozone/public/ozone_ui_controls_test_helper.cc",
|
||||
"//ui/ozone/public/ozone_ui_controls_test_helper.h",
|
||||
"$root_gen_dir/ui/ozone/test_constructor_list.cc",
|
||||
# Part of //ui/views:test_support which is testingonly.
|
||||
"//ui/views/test/test_desktop_screen_ozone.cc",
|
||||
"//ui/views/test/test_desktop_screen_ozone.h",
|
||||
"//ui/views/test/ui_controls_factory_desktop_aura_ozone.cc",
|
||||
"//ui/views/test/ui_controls_factory_desktop_aura_ozone.h",
|
||||
]
|
||||
|
||||
deps += [
|
||||
"//ui/ozone:generate_test_support_constructor_list",
|
||||
]
|
||||
|
||||
if (ozone_platform_x11) {
|
||||
sources += [
|
||||
# Support for UI input events.
|
||||
# Part of //ui/base/x:test_support which is testingonly.
|
||||
"//ui/base/x/test/x11_ui_controls_test_helper.cc",
|
||||
"//ui/base/x/test/x11_ui_controls_test_helper.h",
|
||||
# Part of //ui/aura:test_support which is testingonly.
|
||||
"//ui/aura/test/x11_event_sender.h",
|
||||
# Part of //ui/ozone/platform/x11:test_support which is testingonly.
|
||||
"//ui/ozone/platform/x11/x11_ozone_ui_controls_test_helper.cc",
|
||||
"//ui/ozone/platform/x11/x11_ozone_ui_controls_test_helper.h",
|
||||
]
|
||||
} else {
|
||||
sources += [
|
||||
# Support for UI input events.
|
||||
# Part of //ui/base:test_support which is testingonly.
|
||||
"//ui/aura/test/ui_controls_factory_ozone.cc",
|
||||
# Part of //ui//events:test_support which is testingonly.
|
||||
"//ui/events/test/events_test_utils.cc"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_mac) {
|
||||
sources += [
|
||||
"libcef/browser/views/view_util_mac.mm",
|
||||
|
||||
# Part of //ui/views:test_support which is testingonly.
|
||||
"//ui/views/test/desktop_test_views_delegate_mac.mm",
|
||||
"//ui/views/test/test_views_delegate_mac.mm",
|
||||
|
||||
# Support for UI input events.
|
||||
# Part of //ui/base:test_support which is testingonly.
|
||||
"//ui/base/test/ui_controls_mac.mm",
|
||||
# Part of //ui//events:test_support which is testingonly.
|
||||
"//ui/events/test/cocoa_test_event_utils.mm",
|
||||
]
|
||||
}
|
||||
} else {
|
||||
sources += [
|
||||
# Provides stub implementations for the views static methods.
|
||||
"libcef_dll/views_stub.cc",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1337,7 +1312,7 @@ grit("cef_strings") {
|
||||
outputs = [
|
||||
"grit/cef_strings.h",
|
||||
]
|
||||
all_locales = locales + [ "fake-bidi" ]
|
||||
all_locales = platform_pak_locales + [ "fake-bidi" ]
|
||||
foreach(locale, all_locales) {
|
||||
outputs += [ "cef_strings_${locale}.pak" ]
|
||||
}
|
||||
@@ -1360,7 +1335,6 @@ grit("cef_resources") {
|
||||
template("make_pack_header") {
|
||||
assert(defined(invoker.header))
|
||||
assert(defined(invoker.inputs))
|
||||
assert(defined(invoker.deps))
|
||||
|
||||
action("make_pack_header_${target_name}") {
|
||||
script = "tools/make_pack_header.py"
|
||||
@@ -1371,7 +1345,9 @@ template("make_pack_header") {
|
||||
args = rebase_path(outputs, root_build_dir) +
|
||||
rebase_path(inputs, root_build_dir)
|
||||
|
||||
deps = invoker.deps
|
||||
if (defined(invoker.deps)) {
|
||||
deps = invoker.deps
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1385,6 +1361,7 @@ make_pack_header("resources") {
|
||||
"$root_gen_dir/chrome/grit/common_resources.h",
|
||||
"$root_gen_dir/chrome/grit/component_extension_resources.h",
|
||||
"$root_gen_dir/chrome/grit/dev_ui_browser_resources.h",
|
||||
"$root_gen_dir/chrome/grit/pdf_resources.h",
|
||||
"$root_gen_dir/chrome/grit/renderer_resources.h",
|
||||
"$root_gen_dir/components/grit/components_resources.h",
|
||||
"$root_gen_dir/components/grit/dev_ui_components_resources.h",
|
||||
@@ -1401,7 +1378,7 @@ make_pack_header("resources") {
|
||||
"$root_gen_dir/third_party/blink/public/resources/grit/blink_resources.h",
|
||||
"$root_gen_dir/ui/resources/grit/ui_resources.h",
|
||||
"$root_gen_dir/ui/resources/grit/webui_generated_resources.h",
|
||||
"$root_gen_dir/ui/resources/grit/webui_resources.h",
|
||||
"$root_gen_dir/ui/views/resources/grit/views_resources.h",
|
||||
]
|
||||
|
||||
deps = [
|
||||
@@ -1410,6 +1387,7 @@ make_pack_header("resources") {
|
||||
"//chrome/browser:dev_ui_browser_resources",
|
||||
"//chrome/browser:resources",
|
||||
"//chrome/browser/resources:component_extension_resources",
|
||||
"//chrome/browser/resources/pdf:resources",
|
||||
"//chrome/common:resources",
|
||||
"//chrome/renderer:resources",
|
||||
"//components/resources:components_resources",
|
||||
@@ -1427,13 +1405,8 @@ make_pack_header("resources") {
|
||||
"//third_party/blink/public:resources",
|
||||
"//ui/resources:ui_resources_grd",
|
||||
"//ui/resources:webui_generated_resources_grd",
|
||||
"//ui/resources:webui_resources_grd",
|
||||
"//ui/views/resources:resources_grd",
|
||||
]
|
||||
|
||||
if (toolkit_views) {
|
||||
inputs += [ "$root_gen_dir/ui/views/resources/grit/views_resources.h" ]
|
||||
deps += [ "//ui/views/resources:resources_grd" ]
|
||||
}
|
||||
}
|
||||
|
||||
# Generate cef_pack_strings.h.
|
||||
@@ -1450,6 +1423,7 @@ make_pack_header("strings") {
|
||||
"$root_gen_dir/components/strings/grit/components_strings.h",
|
||||
"$root_gen_dir/extensions/strings/grit/extensions_strings.h",
|
||||
"$root_gen_dir/services/strings/grit/services_strings.h",
|
||||
"$root_gen_dir/third_party/blink/public/strings/grit/blink_accessibility_strings.h",
|
||||
"$root_gen_dir/third_party/blink/public/strings/grit/blink_strings.h",
|
||||
"$root_gen_dir/ui/strings/grit/ui_strings.h",
|
||||
]
|
||||
@@ -1467,11 +1441,20 @@ make_pack_header("strings") {
|
||||
"//extensions/strings",
|
||||
"//services/strings",
|
||||
"//third_party/blink/public/strings",
|
||||
"//third_party/blink/public/strings:accessibility_strings",
|
||||
"//ui/strings:app_locale_settings",
|
||||
"//ui/strings:ui_strings",
|
||||
]
|
||||
}
|
||||
|
||||
# Generate cef_command_ids.h.
|
||||
make_pack_header("command_ids") {
|
||||
header = "$root_out_dir/includes/include/cef_command_ids.h"
|
||||
inputs = [
|
||||
"//chrome/app/chrome_command_ids.h",
|
||||
]
|
||||
}
|
||||
|
||||
# Generate cef_api_hash.h.
|
||||
action("make_api_hash_header") {
|
||||
script = "tools/make_api_hash_header.py"
|
||||
@@ -1503,6 +1486,7 @@ group("cef_make_headers") {
|
||||
deps = [
|
||||
":make_pack_header_resources",
|
||||
":make_pack_header_strings",
|
||||
":make_pack_header_command_ids",
|
||||
":make_api_hash_header",
|
||||
":make_config_header",
|
||||
]
|
||||
@@ -1572,8 +1556,6 @@ if (is_mac) {
|
||||
# Add the SwiftShader .dylibs in the MODULE_DIR of the Framework app bundle.
|
||||
bundle_data("cef_framework_swiftshader_binaries") {
|
||||
sources = [
|
||||
"$root_out_dir/egl_intermediates/libswiftshader_libEGL.dylib",
|
||||
"$root_out_dir/egl_intermediates/libswiftshader_libGLESv2.dylib",
|
||||
"$root_out_dir/vk_intermediates/libvk_swiftshader.dylib",
|
||||
"$root_out_dir/vk_intermediates/vk_swiftshader_icd.json",
|
||||
]
|
||||
@@ -1581,7 +1563,6 @@ if (is_mac) {
|
||||
"{{bundle_contents_dir}}/Libraries/{{source_file_part}}",
|
||||
]
|
||||
public_deps = [
|
||||
"//ui/gl:swiftshader_egl_library_copy",
|
||||
"//ui/gl:swiftshader_vk_library_copy",
|
||||
]
|
||||
}
|
||||
@@ -1675,7 +1656,7 @@ if (is_mac) {
|
||||
"libcef_dll/libcef_dll.rc",
|
||||
]
|
||||
|
||||
deps += [
|
||||
deps += [
|
||||
# Bring in ui_unscaled_resources.rc which contains custom cursors.
|
||||
# TODO(cef): Remove this once custom cursors can be loaded via
|
||||
# ResourceBundle. See crbug.com/147663.
|
||||
@@ -2279,7 +2260,7 @@ if (is_mac) {
|
||||
#
|
||||
# ceftests targets.
|
||||
#
|
||||
|
||||
|
||||
if (is_linux) {
|
||||
copy("copy_ceftests_files") {
|
||||
sources = gypi_paths2.shared_sources_resources
|
||||
|
@@ -7,6 +7,6 @@
|
||||
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
||||
|
||||
{
|
||||
'chromium_checkout': 'refs/tags/98.0.4758.109',
|
||||
'depot_tools_checkout': 'db41eed6b7'
|
||||
'chromium_checkout': 'refs/tags/104.0.5112.102',
|
||||
'depot_tools_checkout': '350d210871'
|
||||
}
|
||||
|
@@ -78,6 +78,6 @@ If you would like to contribute source code changes to CEF please follow the bel
|
||||
\- Submit a [pull request](https://bitbucket.org/chromiumembedded/cef/wiki/ContributingWithGit) or create a patch with your changes and attach it to the CEF issue. Changes should:
|
||||
|
||||
* 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).
|
||||
* Follow the style of existing CEF source files. In general CEF uses the [Chromium C++ style guide](https://chromium.googlesource.com/chromium/src/+/master/styleguide/c++/c++.md).
|
||||
* Include new or modified unit tests as appropriate to the functionality.
|
||||
* Not include unnecessary or unrelated changes.
|
||||
|
@@ -1,2 +1,2 @@
|
||||
#!/bin/sh
|
||||
python tools/gclient_hook.py
|
||||
python3 tools/gclient_hook.py
|
||||
|
@@ -8,7 +8,7 @@
|
||||
# by hand. See the translator.README.txt file in the tools directory for
|
||||
# more information.
|
||||
#
|
||||
# $hash=872dedb7e5a2f36745446c3d0c9ad8bd5850adb7$
|
||||
# $hash=3ed1afd1b5f881884e6cfd0186fe41bb7b19fd38$
|
||||
#
|
||||
|
||||
{
|
||||
@@ -22,6 +22,7 @@
|
||||
'include/cef_browser_process_handler.h',
|
||||
'include/cef_callback.h',
|
||||
'include/cef_client.h',
|
||||
'include/cef_command_handler.h',
|
||||
'include/cef_command_line.h',
|
||||
'include/cef_context_menu_handler.h',
|
||||
'include/cef_cookie.h',
|
||||
@@ -54,6 +55,7 @@
|
||||
'include/cef_origin_whitelist.h',
|
||||
'include/cef_parser.h',
|
||||
'include/cef_path_util.h',
|
||||
'include/cef_permission_handler.h',
|
||||
'include/cef_print_handler.h',
|
||||
'include/cef_print_settings.h',
|
||||
'include/cef_process_message.h',
|
||||
@@ -73,6 +75,8 @@
|
||||
'include/cef_response_filter.h',
|
||||
'include/cef_scheme.h',
|
||||
'include/cef_server.h',
|
||||
'include/cef_shared_memory_region.h',
|
||||
'include/cef_shared_process_message_builder.h',
|
||||
'include/cef_ssl_info.h',
|
||||
'include/cef_ssl_status.h',
|
||||
'include/cef_stream.h',
|
||||
@@ -84,7 +88,6 @@
|
||||
'include/cef_v8.h',
|
||||
'include/cef_values.h',
|
||||
'include/cef_waitable_event.h',
|
||||
'include/cef_web_plugin.h',
|
||||
'include/cef_x509_certificate.h',
|
||||
'include/cef_xml_reader.h',
|
||||
'include/cef_zip_reader.h',
|
||||
@@ -121,6 +124,7 @@
|
||||
'include/capi/cef_browser_process_handler_capi.h',
|
||||
'include/capi/cef_callback_capi.h',
|
||||
'include/capi/cef_client_capi.h',
|
||||
'include/capi/cef_command_handler_capi.h',
|
||||
'include/capi/cef_command_line_capi.h',
|
||||
'include/capi/cef_context_menu_handler_capi.h',
|
||||
'include/capi/cef_cookie_capi.h',
|
||||
@@ -153,6 +157,7 @@
|
||||
'include/capi/cef_origin_whitelist_capi.h',
|
||||
'include/capi/cef_parser_capi.h',
|
||||
'include/capi/cef_path_util_capi.h',
|
||||
'include/capi/cef_permission_handler_capi.h',
|
||||
'include/capi/cef_print_handler_capi.h',
|
||||
'include/capi/cef_print_settings_capi.h',
|
||||
'include/capi/cef_process_message_capi.h',
|
||||
@@ -172,6 +177,8 @@
|
||||
'include/capi/cef_response_filter_capi.h',
|
||||
'include/capi/cef_scheme_capi.h',
|
||||
'include/capi/cef_server_capi.h',
|
||||
'include/capi/cef_shared_memory_region_capi.h',
|
||||
'include/capi/cef_shared_process_message_builder_capi.h',
|
||||
'include/capi/cef_ssl_info_capi.h',
|
||||
'include/capi/cef_ssl_status_capi.h',
|
||||
'include/capi/cef_stream_capi.h',
|
||||
@@ -183,7 +190,6 @@
|
||||
'include/capi/cef_v8_capi.h',
|
||||
'include/capi/cef_values_capi.h',
|
||||
'include/capi/cef_waitable_event_capi.h',
|
||||
'include/capi/cef_web_plugin_capi.h',
|
||||
'include/capi/cef_x509_certificate_capi.h',
|
||||
'include/capi/cef_xml_reader_capi.h',
|
||||
'include/capi/cef_zip_reader_capi.h',
|
||||
@@ -244,6 +250,8 @@
|
||||
'libcef_dll/cpptoc/callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/client_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/client_ctocpp.h',
|
||||
'libcef_dll/ctocpp/command_handler_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/command_handler_ctocpp.h',
|
||||
'libcef_dll/cpptoc/command_line_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/command_line_cpptoc.h',
|
||||
'libcef_dll/ctocpp/completion_callback_ctocpp.cc',
|
||||
@@ -326,6 +334,8 @@
|
||||
'libcef_dll/cpptoc/list_value_cpptoc.h',
|
||||
'libcef_dll/ctocpp/load_handler_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/load_handler_ctocpp.h',
|
||||
'libcef_dll/cpptoc/media_access_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/media_access_callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/media_observer_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/media_observer_ctocpp.h',
|
||||
'libcef_dll/cpptoc/media_route_cpptoc.cc',
|
||||
@@ -362,6 +372,10 @@
|
||||
'libcef_dll/ctocpp/views/panel_delegate_ctocpp.h',
|
||||
'libcef_dll/ctocpp/pdf_print_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/pdf_print_callback_ctocpp.h',
|
||||
'libcef_dll/ctocpp/permission_handler_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/permission_handler_ctocpp.h',
|
||||
'libcef_dll/cpptoc/permission_prompt_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/permission_prompt_callback_cpptoc.h',
|
||||
'libcef_dll/cpptoc/post_data_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/post_data_cpptoc.h',
|
||||
'libcef_dll/cpptoc/post_data_element_cpptoc.cc',
|
||||
@@ -414,6 +428,8 @@
|
||||
'libcef_dll/cpptoc/run_context_menu_callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/run_file_dialog_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/run_file_dialog_callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/run_quick_menu_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/run_quick_menu_callback_cpptoc.h',
|
||||
'libcef_dll/cpptoc/sslinfo_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/sslinfo_cpptoc.h',
|
||||
'libcef_dll/cpptoc/sslstatus_cpptoc.cc',
|
||||
@@ -432,6 +448,10 @@
|
||||
'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/shared_memory_region_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/shared_memory_region_cpptoc.h',
|
||||
'libcef_dll/cpptoc/shared_process_message_builder_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/shared_process_message_builder_cpptoc.h',
|
||||
'libcef_dll/cpptoc/stream_reader_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/stream_reader_cpptoc.h',
|
||||
'libcef_dll/cpptoc/stream_writer_cpptoc.cc',
|
||||
@@ -500,12 +520,6 @@
|
||||
'libcef_dll/ctocpp/views/view_delegate_ctocpp.h',
|
||||
'libcef_dll/cpptoc/waitable_event_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/waitable_event_cpptoc.h',
|
||||
'libcef_dll/cpptoc/web_plugin_info_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/web_plugin_info_cpptoc.h',
|
||||
'libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/web_plugin_info_visitor_ctocpp.h',
|
||||
'libcef_dll/ctocpp/web_plugin_unstable_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/web_plugin_unstable_callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/views/window_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/views/window_cpptoc.h',
|
||||
'libcef_dll/ctocpp/views/window_delegate_ctocpp.cc',
|
||||
@@ -554,6 +568,8 @@
|
||||
'libcef_dll/ctocpp/callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/client_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/client_cpptoc.h',
|
||||
'libcef_dll/cpptoc/command_handler_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/command_handler_cpptoc.h',
|
||||
'libcef_dll/ctocpp/command_line_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/command_line_ctocpp.h',
|
||||
'libcef_dll/cpptoc/completion_callback_cpptoc.cc',
|
||||
@@ -636,6 +652,8 @@
|
||||
'libcef_dll/ctocpp/list_value_ctocpp.h',
|
||||
'libcef_dll/cpptoc/load_handler_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/load_handler_cpptoc.h',
|
||||
'libcef_dll/ctocpp/media_access_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/media_access_callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/media_observer_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/media_observer_cpptoc.h',
|
||||
'libcef_dll/ctocpp/media_route_ctocpp.cc',
|
||||
@@ -672,6 +690,10 @@
|
||||
'libcef_dll/cpptoc/views/panel_delegate_cpptoc.h',
|
||||
'libcef_dll/cpptoc/pdf_print_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/pdf_print_callback_cpptoc.h',
|
||||
'libcef_dll/cpptoc/permission_handler_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/permission_handler_cpptoc.h',
|
||||
'libcef_dll/ctocpp/permission_prompt_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/permission_prompt_callback_ctocpp.h',
|
||||
'libcef_dll/ctocpp/post_data_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/post_data_ctocpp.h',
|
||||
'libcef_dll/ctocpp/post_data_element_ctocpp.cc',
|
||||
@@ -724,6 +746,8 @@
|
||||
'libcef_dll/ctocpp/run_context_menu_callback_ctocpp.h',
|
||||
'libcef_dll/cpptoc/run_file_dialog_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/run_file_dialog_callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/run_quick_menu_callback_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/run_quick_menu_callback_ctocpp.h',
|
||||
'libcef_dll/ctocpp/sslinfo_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/sslinfo_ctocpp.h',
|
||||
'libcef_dll/ctocpp/sslstatus_ctocpp.cc',
|
||||
@@ -742,6 +766,10 @@
|
||||
'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/shared_memory_region_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/shared_memory_region_ctocpp.h',
|
||||
'libcef_dll/ctocpp/shared_process_message_builder_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/shared_process_message_builder_ctocpp.h',
|
||||
'libcef_dll/ctocpp/stream_reader_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/stream_reader_ctocpp.h',
|
||||
'libcef_dll/ctocpp/stream_writer_ctocpp.cc',
|
||||
@@ -810,12 +838,6 @@
|
||||
'libcef_dll/cpptoc/views/view_delegate_cpptoc.h',
|
||||
'libcef_dll/ctocpp/waitable_event_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/waitable_event_ctocpp.h',
|
||||
'libcef_dll/ctocpp/web_plugin_info_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/web_plugin_info_ctocpp.h',
|
||||
'libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.h',
|
||||
'libcef_dll/cpptoc/web_plugin_unstable_callback_cpptoc.cc',
|
||||
'libcef_dll/cpptoc/web_plugin_unstable_callback_cpptoc.h',
|
||||
'libcef_dll/ctocpp/views/window_ctocpp.cc',
|
||||
'libcef_dll/ctocpp/views/window_ctocpp.h',
|
||||
'libcef_dll/cpptoc/views/window_delegate_cpptoc.cc',
|
||||
|
@@ -112,6 +112,7 @@
|
||||
'libcef_dll/resource.h',
|
||||
'libcef_dll/shutdown_checker.cc',
|
||||
'libcef_dll/shutdown_checker.h',
|
||||
'libcef_dll/template_util.h',
|
||||
'libcef_dll/transfer_util.cc',
|
||||
'libcef_dll/transfer_util.h',
|
||||
'libcef_dll/wrapper_types.h',
|
||||
@@ -138,6 +139,7 @@
|
||||
'libcef_dll/ctocpp/ctocpp_scoped.h',
|
||||
'libcef_dll/shutdown_checker.cc',
|
||||
'libcef_dll/shutdown_checker.h',
|
||||
'libcef_dll/template_util.h',
|
||||
'libcef_dll/transfer_util.cc',
|
||||
'libcef_dll/transfer_util.h',
|
||||
'libcef_dll/wrapper_types.h',
|
||||
@@ -175,6 +177,8 @@
|
||||
'tests/shared/browser/resource_util.h',
|
||||
],
|
||||
'shared_sources_common': [
|
||||
'tests/shared/common/binary_value_utils.cc',
|
||||
'tests/shared/common/binary_value_utils.h',
|
||||
'tests/shared/common/client_app.cc',
|
||||
'tests/shared/common/client_app.h',
|
||||
'tests/shared/common/client_app_other.cc',
|
||||
@@ -287,6 +291,8 @@
|
||||
'tests/cefclient/renderer/client_app_delegates_renderer.cc',
|
||||
'tests/cefclient/renderer/client_renderer.cc',
|
||||
'tests/cefclient/renderer/client_renderer.h',
|
||||
'tests/cefclient/renderer/ipc_performance_test.cc',
|
||||
'tests/cefclient/renderer/ipc_performance_test.h',
|
||||
'tests/cefclient/renderer/performance_test.cc',
|
||||
'tests/cefclient/renderer/performance_test.h',
|
||||
'tests/cefclient/renderer/performance_test_setup.h',
|
||||
@@ -296,6 +302,7 @@
|
||||
'tests/cefclient/resources/binding.html',
|
||||
'tests/cefclient/resources/dialogs.html',
|
||||
'tests/cefclient/resources/draggable.html',
|
||||
'tests/cefclient/resources/ipc_performance.html',
|
||||
'tests/cefclient/resources/localstorage.html',
|
||||
'tests/cefclient/resources/logo.png',
|
||||
'tests/cefclient/resources/media_router.html',
|
||||
@@ -473,13 +480,20 @@
|
||||
'tests/ceftests/image_util.h',
|
||||
'tests/ceftests/jsdialog_unittest.cc',
|
||||
'tests/ceftests/life_span_unittest.cc',
|
||||
'tests/ceftests/message_router_unittest.cc',
|
||||
'tests/ceftests/media_access_unittest.cc',
|
||||
'tests/ceftests/message_router_harness_unittest.cc',
|
||||
'tests/ceftests/message_router_multi_query_unittest.cc',
|
||||
'tests/ceftests/message_router_single_query_unittest.cc',
|
||||
'tests/ceftests/message_router_threshold_unittest.cc',
|
||||
'tests/ceftests/message_router_unittest_utils.cc',
|
||||
'tests/ceftests/message_router_unittest_utils.h',
|
||||
'tests/ceftests/navigation_unittest.cc',
|
||||
'tests/ceftests/os_rendering_unittest.cc',
|
||||
'tests/ceftests/osr_accessibility_unittest.cc',
|
||||
'tests/ceftests/osr_display_unittest.cc',
|
||||
'tests/ceftests/parser_unittest.cc',
|
||||
'tests/ceftests/pdf_viewer_unittest.cc',
|
||||
'tests/ceftests/permission_prompt_unittest.cc',
|
||||
'tests/ceftests/preference_unittest.cc',
|
||||
'tests/ceftests/print_unittest.cc',
|
||||
'tests/ceftests/process_message_unittest.cc',
|
||||
@@ -496,6 +510,8 @@
|
||||
'tests/ceftests/scheme_handler_unittest.cc',
|
||||
'tests/ceftests/scoped_temp_dir_unittest.cc',
|
||||
'tests/ceftests/server_unittest.cc',
|
||||
'tests/ceftests/send_shared_process_message_unittest.cc',
|
||||
"tests/ceftests/shared_process_message_unittest.cc",
|
||||
'tests/ceftests/stream_unittest.cc',
|
||||
'tests/ceftests/stream_resource_handler_unittest.cc',
|
||||
'tests/ceftests/string_unittest.cc',
|
||||
@@ -560,9 +576,16 @@
|
||||
'tests/ceftests/cors_unittest.cc',
|
||||
'tests/ceftests/dom_unittest.cc',
|
||||
'tests/ceftests/frame_unittest.cc',
|
||||
'tests/ceftests/message_router_unittest.cc',
|
||||
'tests/ceftests/media_access_unittest.cc',
|
||||
'tests/ceftests/message_router_harness_unittest.cc',
|
||||
'tests/ceftests/message_router_multi_query_unittest.cc',
|
||||
'tests/ceftests/message_router_single_query_unittest.cc',
|
||||
'tests/ceftests/message_router_threshold_unittest.cc',
|
||||
'tests/ceftests/message_router_unittest_utils.cc',
|
||||
'tests/ceftests/message_router_unittest_utils.h',
|
||||
'tests/ceftests/navigation_unittest.cc',
|
||||
'tests/ceftests/pdf_viewer_unittest.cc',
|
||||
'tests/ceftests/permission_prompt_unittest.cc',
|
||||
'tests/ceftests/preference_unittest.cc',
|
||||
'tests/ceftests/process_message_unittest.cc',
|
||||
'tests/ceftests/request_handler_unittest.cc',
|
||||
@@ -572,6 +595,8 @@
|
||||
'tests/ceftests/routing_test_handler.cc',
|
||||
'tests/ceftests/routing_test_handler.h',
|
||||
'tests/ceftests/scheme_handler_unittest.cc',
|
||||
'tests/ceftests/send_shared_process_message_unittest.cc',
|
||||
"tests/ceftests/shared_process_message_unittest.cc",
|
||||
'tests/ceftests/urlrequest_unittest.cc',
|
||||
'tests/ceftests/test_handler.cc',
|
||||
'tests/ceftests/test_handler.h',
|
||||
|
@@ -227,7 +227,6 @@ if(OS_LINUX)
|
||||
snapshot_blob.bin
|
||||
v8_context_snapshot.bin
|
||||
vk_swiftshader_icd.json
|
||||
swiftshader
|
||||
)
|
||||
|
||||
# List of CEF resource files.
|
||||
@@ -315,7 +314,7 @@ if(OS_MAC)
|
||||
|
||||
# Find the newest available base SDK.
|
||||
execute_process(COMMAND xcode-select --print-path OUTPUT_VARIABLE XCODE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
foreach(OS_VERSION 10.15 10.14 10.13 10.12 10.11)
|
||||
foreach(OS_VERSION 10.15 10.14 10.13)
|
||||
set(SDK "${XCODE_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OS_VERSION}.sdk")
|
||||
if(NOT "${CMAKE_OSX_SYSROOT}" AND EXISTS "${SDK}" AND IS_DIRECTORY "${SDK}")
|
||||
set(CMAKE_OSX_SYSROOT ${SDK})
|
||||
@@ -323,7 +322,7 @@ if(OS_MAC)
|
||||
endforeach()
|
||||
|
||||
# Target SDK.
|
||||
set(CEF_TARGET_SDK "10.11")
|
||||
set(CEF_TARGET_SDK "10.13")
|
||||
list(APPEND CEF_COMPILER_FLAGS
|
||||
-mmacosx-version-min=${CEF_TARGET_SDK}
|
||||
)
|
||||
@@ -476,7 +475,6 @@ if(OS_WINDOWS)
|
||||
vk_swiftshader.dll
|
||||
vk_swiftshader_icd.json
|
||||
vulkan-1.dll
|
||||
swiftshader
|
||||
)
|
||||
|
||||
if(NOT PROJECT_ARCH STREQUAL "arm64")
|
||||
|
@@ -32,12 +32,7 @@
|
||||
#define CEF_INCLUDE_BASE_CEF_COMPILER_SPECIFIC_H_
|
||||
#pragma once
|
||||
|
||||
#if defined(BASE_COMPILER_SPECIFIC_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/compiler_specific.h"
|
||||
#else // !USING_CHROMIUM_INCLUDES
|
||||
@@ -76,23 +71,6 @@
|
||||
#define __has_attribute(x) 0
|
||||
#endif // !defined(__has_attribute)
|
||||
|
||||
// Annotate a variable indicating it's ok if the variable is not used.
|
||||
// (Typically used to silence a compiler warning when the assignment
|
||||
// is important for some other reason.)
|
||||
// Use like:
|
||||
// int x = ...;
|
||||
// ALLOW_UNUSED_LOCAL(x);
|
||||
#define ALLOW_UNUSED_LOCAL(x) (void)x
|
||||
|
||||
// Annotate a typedef or function indicating it's ok if it's not used.
|
||||
// Use like:
|
||||
// typedef Foo Bar ALLOW_UNUSED_TYPE;
|
||||
#if defined(COMPILER_GCC) || defined(__clang__)
|
||||
#define ALLOW_UNUSED_TYPE __attribute__((unused))
|
||||
#else
|
||||
#define ALLOW_UNUSED_TYPE
|
||||
#endif
|
||||
|
||||
// Annotate a function indicating it should not be inlined.
|
||||
// Use like:
|
||||
// NOINLINE void DoStuff() { ... }
|
||||
@@ -153,17 +131,6 @@
|
||||
#define ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment)))
|
||||
#endif
|
||||
|
||||
// Annotate a function indicating the caller must examine the return value.
|
||||
// Use like:
|
||||
// int foo() WARN_UNUSED_RESULT;
|
||||
// To explicitly ignore a result, see |ignore_result()| in base/macros.h.
|
||||
#undef WARN_UNUSED_RESULT
|
||||
#if defined(COMPILER_GCC) || defined(__clang__)
|
||||
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
||||
#else
|
||||
#define WARN_UNUSED_RESULT
|
||||
#endif
|
||||
|
||||
// In case the compiler supports it NO_UNIQUE_ADDRESS evaluates to the C++20
|
||||
// attribute [[no_unique_address]]. This allows annotating data members so that
|
||||
// they need not have an address distinct from all other non-static data members
|
||||
@@ -420,4 +387,25 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) {
|
||||
|
||||
#endif // !USING_CHROMIUM_INCLUDES
|
||||
|
||||
// Annotate a function indicating the caller must examine the return value.
|
||||
// Use like:
|
||||
// int foo() WARN_UNUSED_RESULT;
|
||||
// To explicitly ignore a result, use std::ignore from <tuple>.
|
||||
// Alternately use `[[nodiscard]]` with code that supports C++17.
|
||||
#undef WARN_UNUSED_RESULT
|
||||
#if defined(COMPILER_GCC) || defined(__clang__)
|
||||
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
||||
#else
|
||||
#define WARN_UNUSED_RESULT
|
||||
#endif
|
||||
|
||||
// Annotate a variable indicating it's ok if the variable is not used.
|
||||
// (Typically used to silence a compiler warning when the assignment
|
||||
// is important for some other reason.)
|
||||
// Use like:
|
||||
// int x = ...;
|
||||
// ALLOW_UNUSED_LOCAL(x);
|
||||
// Alternately use `[[maybe_unused]]` with code that supports C++17.
|
||||
#define ALLOW_UNUSED_LOCAL(x) (void)x
|
||||
|
||||
#endif // CEF_INCLUDE_BASE_CEF_COMPILER_SPECIFIC_H_
|
||||
|
@@ -35,17 +35,9 @@
|
||||
|
||||
#if defined(USING_CHROMIUM_INCLUDES)
|
||||
// When building CEF include the Chromium header directly.
|
||||
// TODO(cef): Change to "base/cxx17_backports.h" in M93.
|
||||
#include "base/stl_util.h"
|
||||
#include "base/cxx17_backports.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 <array>
|
||||
#include <initializer_list>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
// The following was removed from Chromium in https://crrev.com/78734f77be.
|
||||
|
||||
namespace base {
|
||||
|
||||
@@ -61,71 +53,6 @@ constexpr size_t size(const T (&array)[N]) noexcept {
|
||||
return N;
|
||||
}
|
||||
|
||||
// C++14 implementation of C++17's std::empty():
|
||||
// http://en.cppreference.com/w/cpp/iterator/empty
|
||||
template <typename Container>
|
||||
constexpr auto empty(const Container& c) -> decltype(c.empty()) {
|
||||
return c.empty();
|
||||
}
|
||||
|
||||
template <typename T, size_t N>
|
||||
constexpr bool empty(const T (&array)[N]) noexcept {
|
||||
return false;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
constexpr bool empty(std::initializer_list<T> il) noexcept {
|
||||
return il.size() == 0;
|
||||
}
|
||||
|
||||
// C++14 implementation of C++17's std::data():
|
||||
// http://en.cppreference.com/w/cpp/iterator/data
|
||||
template <typename Container>
|
||||
constexpr auto data(Container& c) -> decltype(c.data()) {
|
||||
return c.data();
|
||||
}
|
||||
|
||||
// std::basic_string::data() had no mutable overload prior to C++17 [1].
|
||||
// Hence this overload is provided.
|
||||
// Note: str[0] is safe even for empty strings, as they are guaranteed to be
|
||||
// null-terminated [2].
|
||||
//
|
||||
// [1] http://en.cppreference.com/w/cpp/string/basic_string/data
|
||||
// [2] http://en.cppreference.com/w/cpp/string/basic_string/operator_at
|
||||
template <typename CharT, typename Traits, typename Allocator>
|
||||
CharT* data(std::basic_string<CharT, Traits, Allocator>& str) {
|
||||
return std::addressof(str[0]);
|
||||
}
|
||||
|
||||
template <typename Container>
|
||||
constexpr auto data(const Container& c) -> decltype(c.data()) {
|
||||
return c.data();
|
||||
}
|
||||
|
||||
template <typename T, size_t N>
|
||||
constexpr T* data(T (&array)[N]) noexcept {
|
||||
return array;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
constexpr const T* data(std::initializer_list<T> il) noexcept {
|
||||
return il.begin();
|
||||
}
|
||||
|
||||
// std::array::data() was not constexpr prior to C++17 [1].
|
||||
// Hence these overloads are provided.
|
||||
//
|
||||
// [1] https://en.cppreference.com/w/cpp/container/array/data
|
||||
template <typename T, size_t N>
|
||||
constexpr T* data(std::array<T, N>& array) noexcept {
|
||||
return !array.empty() ? &array[0] : nullptr;
|
||||
}
|
||||
|
||||
template <typename T, size_t N>
|
||||
constexpr const T* data(const std::array<T, N>& array) noexcept {
|
||||
return !array.empty() ? &array[0] : nullptr;
|
||||
}
|
||||
|
||||
} // namespace base
|
||||
|
||||
#endif // !USING_CHROMIUM_INCLUDES
|
||||
|
@@ -32,11 +32,7 @@
|
||||
#define CEF_INCLUDE_BASE_CEF_MACROS_H_
|
||||
#pragma once
|
||||
|
||||
#if defined(USING_CHROMIUM_INCLUDES)
|
||||
// When building CEF include the Chromium header directly.
|
||||
#include "base/ignore_result.h"
|
||||
|
||||
#else // !USING_CHROMIUM_INCLUDES
|
||||
#if !defined(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.
|
||||
@@ -62,17 +58,6 @@
|
||||
TypeName() = delete; \
|
||||
DISALLOW_COPY_AND_ASSIGN(TypeName)
|
||||
|
||||
// Used to explicitly mark the return value of a function as unused. If you are
|
||||
// really sure you don't want to do anything with the return value of a function
|
||||
// that has been marked WARN_UNUSED_RESULT, wrap it with this. Example:
|
||||
//
|
||||
// std::unique_ptr<MyType> my_var = ...;
|
||||
// if (TakeOwnership(my_var.get()) == SUCCESS)
|
||||
// ignore_result(my_var.release());
|
||||
//
|
||||
template <typename T>
|
||||
inline void ignore_result(const T&) {}
|
||||
|
||||
#endif // !USING_CHROMIUM_INCLUDES
|
||||
|
||||
#endif // CEF_INCLUDE_BASE_CEF_MACROS_H_
|
||||
|
@@ -113,7 +113,7 @@ template <typename T>
|
||||
struct SupportsToString<T, decltype(void(std::declval<T>().ToString()))>
|
||||
: std::true_type {};
|
||||
|
||||
// Used to detech whether the given type is an iterator. This is normally used
|
||||
// Used to detect whether the given type is an iterator. This is normally used
|
||||
// with std::enable_if to provide disambiguation for functions that take
|
||||
// templatzed iterators as input.
|
||||
template <typename T, typename = void>
|
||||
@@ -276,8 +276,13 @@ struct negation : bool_constant<!static_cast<bool>(B::value)> {};
|
||||
// References:
|
||||
// [1] https://en.cppreference.com/w/cpp/types/result_of
|
||||
// [2] https://wg21.link/meta.trans.other#lib:invoke_result
|
||||
#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
|
||||
template <typename Functor, typename... Args>
|
||||
using invoke_result = std::invoke_result<Functor, Args...>;
|
||||
#else
|
||||
template <typename Functor, typename... Args>
|
||||
using invoke_result = std::result_of<Functor && (Args && ...)>;
|
||||
#endif
|
||||
|
||||
// Implementation of C++17's std::invoke_result_t.
|
||||
//
|
||||
|
@@ -1189,7 +1189,11 @@ struct AssertBindArgsValidity<std::index_sequence<Ns...>,
|
||||
TypeList<Args...>,
|
||||
TypeList<Unwrapped...>,
|
||||
TypeList<Params...>>
|
||||
: AssertConstructible<Ns, Args, std::decay_t<Args>, Unwrapped, Params>... {
|
||||
: AssertConstructible<static_cast<int>(Ns),
|
||||
Args,
|
||||
std::decay_t<Args>,
|
||||
Unwrapped,
|
||||
Params>... {
|
||||
static constexpr bool ok = true;
|
||||
};
|
||||
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=adfba3dd6479b96a95639c13ee1e07bed7b335d0$
|
||||
// $hash=665709ecf3ebad59e85285d319eae72197b9766f$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_APP_CAPI_H_
|
||||
@@ -145,7 +145,7 @@ CEF_EXPORT int cef_initialize(const struct _cef_main_args_t* args,
|
||||
// This function should be called on the main application thread to shut down
|
||||
// the CEF browser process before the application exits.
|
||||
///
|
||||
CEF_EXPORT void cef_shutdown();
|
||||
CEF_EXPORT void cef_shutdown(void);
|
||||
|
||||
///
|
||||
// Perform a single iteration of CEF message loop processing. This function is
|
||||
@@ -162,7 +162,7 @@ CEF_EXPORT void cef_shutdown();
|
||||
// CefSettings.multi_threaded_message_loop value of false (0). This function
|
||||
// will not block.
|
||||
///
|
||||
CEF_EXPORT void cef_do_message_loop_work();
|
||||
CEF_EXPORT void cef_do_message_loop_work(void);
|
||||
|
||||
///
|
||||
// Run the CEF message loop. Use this function instead of an application-
|
||||
@@ -172,14 +172,14 @@ CEF_EXPORT void cef_do_message_loop_work();
|
||||
// CefSettings.multi_threaded_message_loop value of false (0). This function
|
||||
// will block until a quit message is received by the system.
|
||||
///
|
||||
CEF_EXPORT void cef_run_message_loop();
|
||||
CEF_EXPORT void cef_run_message_loop(void);
|
||||
|
||||
///
|
||||
// Quit the CEF message loop that was started by calling cef_run_message_loop().
|
||||
// This function should only be called on the main application thread and only
|
||||
// if cef_run_message_loop() was used.
|
||||
///
|
||||
CEF_EXPORT void cef_quit_message_loop();
|
||||
CEF_EXPORT void cef_quit_message_loop(void);
|
||||
|
||||
///
|
||||
// Set to true (1) before calling Windows APIs like TrackPopupMenu that enter a
|
||||
@@ -192,7 +192,7 @@ CEF_EXPORT void cef_set_osmodal_loop(int osModalLoop);
|
||||
// Older versions of Windows should be left DPI-unaware because they do not
|
||||
// support DirectWrite and GDI fonts are kerned very badly.
|
||||
///
|
||||
CEF_EXPORT void cef_enable_highdpi_support();
|
||||
CEF_EXPORT void cef_enable_highdpi_support(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=fd8d34089842ee8f8490ef1828c3091d12052e28$
|
||||
// $hash=62f58ab826b8a3d436655bf0855848632f2a73b5$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_AUDIO_HANDLER_CAPI_H_
|
||||
@@ -68,7 +68,7 @@ typedef struct _cef_audio_handler_t {
|
||||
|
||||
///
|
||||
// Called on a browser audio capture thread when the browser starts streaming
|
||||
// audio. OnAudioSteamStopped will always be called after
|
||||
// audio. OnAudioStreamStopped will always be called after
|
||||
// OnAudioStreamStarted; both functions may be called multiple times for the
|
||||
// same browser. |params| contains the audio parameters like sample rate and
|
||||
// channel layout. |channels| is the number of channels.
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=8af93d03e0b2a6b50d7612b145599600285b76d4$
|
||||
// $hash=b1c1e44e6d3842064ef6e5b9823173f7ec1fcccc$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_
|
||||
@@ -205,15 +205,12 @@ typedef struct _cef_run_file_dialog_callback_t {
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called asynchronously after the file dialog is dismissed.
|
||||
// |selected_accept_filter| is the 0-based index of the value selected from
|
||||
// the accept filters array passed to cef_browser_host_t::RunFileDialog.
|
||||
// |file_paths| will be a single value or a list of values depending on the
|
||||
// dialog mode. If the selection was cancelled |file_paths| will be NULL.
|
||||
// Called asynchronously after the file dialog is dismissed. |file_paths| will
|
||||
// be a single value or a list of values depending on the dialog mode. If the
|
||||
// selection was cancelled |file_paths| will be NULL.
|
||||
///
|
||||
void(CEF_CALLBACK* on_file_dialog_dismissed)(
|
||||
struct _cef_run_file_dialog_callback_t* self,
|
||||
int selected_accept_filter,
|
||||
cef_string_list_t file_paths);
|
||||
} cef_run_file_dialog_callback_t;
|
||||
|
||||
@@ -391,11 +388,10 @@ typedef struct _cef_browser_host_t {
|
||||
// selectable file types and may any combination of (a) valid lower-cased MIME
|
||||
// types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g.
|
||||
// ".txt" or ".png"), or (c) combined description and file extension delimited
|
||||
// using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg").
|
||||
// |selected_accept_filter| is the 0-based index of the filter that will be
|
||||
// selected by default. |callback| will be executed after the dialog is
|
||||
// dismissed or immediately if another dialog is already pending. The dialog
|
||||
// will be initiated asynchronously on the UI thread.
|
||||
// using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |callback| will be
|
||||
// executed after the dialog is dismissed or immediately if another dialog is
|
||||
// already pending. The dialog will be initiated asynchronously on the UI
|
||||
// thread.
|
||||
///
|
||||
void(CEF_CALLBACK* run_file_dialog)(
|
||||
struct _cef_browser_host_t* self,
|
||||
@@ -403,7 +399,6 @@ typedef struct _cef_browser_host_t {
|
||||
const cef_string_t* title,
|
||||
const cef_string_t* default_file_path,
|
||||
cef_string_list_t accept_filters,
|
||||
int selected_accept_filter,
|
||||
struct _cef_run_file_dialog_callback_t* callback);
|
||||
|
||||
///
|
||||
@@ -450,18 +445,15 @@ typedef struct _cef_browser_host_t {
|
||||
struct _cef_pdf_print_callback_t* callback);
|
||||
|
||||
///
|
||||
// Search for |searchText|. |identifier| must be a unique ID and these IDs
|
||||
// must strictly increase so that newer requests always have greater IDs than
|
||||
// older requests. If |identifier| is zero or less than the previous ID value
|
||||
// then it will be automatically assigned a new valid ID. |forward| indicates
|
||||
// whether to search forward or backward within the page. |matchCase|
|
||||
// indicates whether the search should be case-sensitive. |findNext| indicates
|
||||
// whether this is the first request or a follow-up. The cef_find_handler_t
|
||||
// instance, if any, returned via cef_client_t::GetFindHandler will be called
|
||||
// to report find results.
|
||||
// Search for |searchText|. |forward| indicates whether to search forward or
|
||||
// backward within the page. |matchCase| indicates whether the search should
|
||||
// be case-sensitive. |findNext| indicates whether this is the first request
|
||||
// or a follow-up. The search will be restarted if |searchText| or |matchCase|
|
||||
// change. The search will be stopped if |searchText| is NULL. The
|
||||
// cef_find_handler_t instance, if any, returned via
|
||||
// cef_client_t::GetFindHandler will be called to report find results.
|
||||
///
|
||||
void(CEF_CALLBACK* find)(struct _cef_browser_host_t* self,
|
||||
int identifier,
|
||||
const cef_string_t* searchText,
|
||||
int forward,
|
||||
int matchCase,
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=8c97f9b58c642c144cc37824ad820192640307cb$
|
||||
// $hash=ad0a78715daff99c1ec987800b7e5d62196e7100$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_PROCESS_HANDLER_CAPI_H_
|
||||
@@ -70,9 +70,9 @@ typedef struct _cef_browser_process_handler_t {
|
||||
///
|
||||
// Called before a child process is launched. Will be called on the browser
|
||||
// process UI thread when launching a render process and on the browser
|
||||
// process IO thread when launching a GPU or plugin process. Provides an
|
||||
// opportunity to modify the child process command line. Do not keep a
|
||||
// reference to |command_line| outside of this function.
|
||||
// process IO thread when launching a GPU process. Provides an opportunity to
|
||||
// modify the child process command line. Do not keep a reference to
|
||||
// |command_line| outside of this function.
|
||||
///
|
||||
void(CEF_CALLBACK* on_before_child_process_launch)(
|
||||
struct _cef_browser_process_handler_t* self,
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=8b099ca3b9cfbd41840cdf64586a0b884abaffae$
|
||||
// $hash=03ae4ba9762510e2b0c19ea29322c20ebaf2e683$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_CLIENT_CAPI_H_
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
#include "include/capi/cef_audio_handler_capi.h"
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
#include "include/capi/cef_command_handler_capi.h"
|
||||
#include "include/capi/cef_context_menu_handler_capi.h"
|
||||
#include "include/capi/cef_dialog_handler_capi.h"
|
||||
#include "include/capi/cef_display_handler_capi.h"
|
||||
@@ -54,6 +55,7 @@
|
||||
#include "include/capi/cef_keyboard_handler_capi.h"
|
||||
#include "include/capi/cef_life_span_handler_capi.h"
|
||||
#include "include/capi/cef_load_handler_capi.h"
|
||||
#include "include/capi/cef_permission_handler_capi.h"
|
||||
#include "include/capi/cef_print_handler_capi.h"
|
||||
#include "include/capi/cef_process_message_capi.h"
|
||||
#include "include/capi/cef_render_handler_capi.h"
|
||||
@@ -78,6 +80,13 @@ typedef struct _cef_client_t {
|
||||
struct _cef_audio_handler_t*(CEF_CALLBACK* get_audio_handler)(
|
||||
struct _cef_client_t* self);
|
||||
|
||||
///
|
||||
// Return the handler for commands. If no handler is provided the default
|
||||
// implementation will be used.
|
||||
///
|
||||
struct _cef_command_handler_t*(CEF_CALLBACK* get_command_handler)(
|
||||
struct _cef_client_t* self);
|
||||
|
||||
///
|
||||
// Return the handler for context menus. If no handler is provided the default
|
||||
// implementation will be used.
|
||||
@@ -131,6 +140,12 @@ typedef struct _cef_client_t {
|
||||
struct _cef_frame_handler_t*(CEF_CALLBACK* get_frame_handler)(
|
||||
struct _cef_client_t* self);
|
||||
|
||||
///
|
||||
// Return the handler for permission requests.
|
||||
///
|
||||
struct _cef_permission_handler_t*(CEF_CALLBACK* get_permission_handler)(
|
||||
struct _cef_client_t* self);
|
||||
|
||||
///
|
||||
// Return the handler for JavaScript dialogs. If no handler is provided the
|
||||
// default implementation will be used.
|
||||
|
80
include/capi/cef_command_handler_capi.h
Normal file
80
include/capi/cef_command_handler_capi.h
Normal file
@@ -0,0 +1,80 @@
|
||||
// Copyright (c) 2022 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=54332b79c057df9c8f3be56cc77f1daf877b3ac1$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_HANDLER_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_COMMAND_HANDLER_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
#include "include/capi/cef_browser_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
///
|
||||
// Implement this structure to handle events related to commands. The functions
|
||||
// of this structure will be called on the UI thread.
|
||||
///
|
||||
typedef struct _cef_command_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called to execute a Chrome command triggered via menu selection or keyboard
|
||||
// shortcut. Values for |command_id| can be found in the cef_command_ids.h
|
||||
// file. |disposition| provides information about the intended command target.
|
||||
// Return true (1) if the command was handled or false (0) for the default
|
||||
// implementation. For context menu commands this will be called after
|
||||
// cef_context_menu_handler_t::OnContextMenuCommand. Only used with the Chrome
|
||||
// runtime.
|
||||
///
|
||||
int(CEF_CALLBACK* on_chrome_command)(
|
||||
struct _cef_command_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
int command_id,
|
||||
cef_window_open_disposition_t disposition);
|
||||
} cef_command_handler_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_COMMAND_HANDLER_CAPI_H_
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=93f3d769c0d48ed6e1d91ad8a8e2f95d4ee54287$
|
||||
// $hash=3049c9960a95d32d61cc57ae998c0eba12820673$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_COMMAND_LINE_CAPI_H_
|
||||
@@ -200,13 +200,13 @@ typedef struct _cef_command_line_t {
|
||||
///
|
||||
// Create a new cef_command_line_t instance.
|
||||
///
|
||||
CEF_EXPORT cef_command_line_t* cef_command_line_create();
|
||||
CEF_EXPORT cef_command_line_t* cef_command_line_create(void);
|
||||
|
||||
///
|
||||
// Returns the singleton global cef_command_line_t object. The returned object
|
||||
// will be read-only.
|
||||
///
|
||||
CEF_EXPORT cef_command_line_t* cef_command_line_get_global();
|
||||
CEF_EXPORT cef_command_line_t* cef_command_line_get_global(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=fd33ce439e4379d231b6be16bdc1786f314d98e4$
|
||||
// $hash=d9498ae2e32ec124df3dd2c3017bcf415d4205f8$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_CONTEXT_MENU_HANDLER_CAPI_H_
|
||||
@@ -74,6 +74,29 @@ typedef struct _cef_run_context_menu_callback_t {
|
||||
void(CEF_CALLBACK* cancel)(struct _cef_run_context_menu_callback_t* self);
|
||||
} cef_run_context_menu_callback_t;
|
||||
|
||||
///
|
||||
// Callback structure used for continuation of custom quick menu display.
|
||||
///
|
||||
typedef struct _cef_run_quick_menu_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Complete quick menu display by selecting the specified |command_id| and
|
||||
// |event_flags|.
|
||||
///
|
||||
void(CEF_CALLBACK* cont)(struct _cef_run_quick_menu_callback_t* self,
|
||||
int command_id,
|
||||
cef_event_flags_t event_flags);
|
||||
|
||||
///
|
||||
// Cancel quick menu display.
|
||||
///
|
||||
void(CEF_CALLBACK* cancel)(struct _cef_run_quick_menu_callback_t* self);
|
||||
} cef_run_quick_menu_callback_t;
|
||||
|
||||
///
|
||||
// Implement this structure to handle context menu events. The functions of this
|
||||
// structure will be called on the UI thread.
|
||||
@@ -133,16 +156,56 @@ typedef struct _cef_context_menu_handler_t {
|
||||
|
||||
///
|
||||
// Called when the context menu is dismissed irregardless of whether the menu
|
||||
// was NULL or a command was selected.
|
||||
// was canceled or a command was selected.
|
||||
///
|
||||
void(CEF_CALLBACK* on_context_menu_dismissed)(
|
||||
struct _cef_context_menu_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame);
|
||||
|
||||
///
|
||||
// Called to allow custom display of the quick menu for a windowless browser.
|
||||
// |location| is the top left corner of the selected region. |size| is the
|
||||
// size of the selected region. |edit_state_flags| is a combination of flags
|
||||
// that represent the state of the quick menu. Return true (1) if the menu
|
||||
// will be handled and execute |callback| either synchronously or
|
||||
// asynchronously with the selected command ID. Return false (0) to cancel the
|
||||
// menu.
|
||||
///
|
||||
int(CEF_CALLBACK* run_quick_menu)(
|
||||
struct _cef_context_menu_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame,
|
||||
const cef_point_t* location,
|
||||
const cef_size_t* size,
|
||||
cef_quick_menu_edit_state_flags_t edit_state_flags,
|
||||
struct _cef_run_quick_menu_callback_t* callback);
|
||||
|
||||
///
|
||||
// Called to execute a command selected from the quick menu for a windowless
|
||||
// browser. Return true (1) if the command was handled or false (0) for the
|
||||
// default implementation. See cef_menu_id_t for command IDs that have default
|
||||
// implementations.
|
||||
///
|
||||
int(CEF_CALLBACK* on_quick_menu_command)(
|
||||
struct _cef_context_menu_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame,
|
||||
int command_id,
|
||||
cef_event_flags_t event_flags);
|
||||
|
||||
///
|
||||
// Called when the quick menu for a windowless browser is dismissed
|
||||
// irregardless of whether the menu was canceled or a command was selected.
|
||||
///
|
||||
void(CEF_CALLBACK* on_quick_menu_dismissed)(
|
||||
struct _cef_context_menu_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame);
|
||||
} cef_context_menu_handler_t;
|
||||
|
||||
///
|
||||
// Provides information about the context menu state. The ethods of this
|
||||
// Provides information about the context menu state. The functions of this
|
||||
// structure can only be accessed on browser process the UI thread.
|
||||
///
|
||||
typedef struct _cef_context_menu_params_t {
|
||||
@@ -290,8 +353,7 @@ typedef struct _cef_context_menu_params_t {
|
||||
|
||||
///
|
||||
// Returns true (1) if the context menu contains items specified by the
|
||||
// renderer process (for example, plugin placeholder or pepper plugin menu
|
||||
// items).
|
||||
// renderer process.
|
||||
///
|
||||
int(CEF_CALLBACK* is_custom_menu)(struct _cef_context_menu_params_t* self);
|
||||
} cef_context_menu_params_t;
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=0460e68eb7d1b1188706c42d14beafbf9a6f7126$
|
||||
// $hash=5d111a67218403f78737f2c4dc92d2fd96dc125d$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_CRASH_UTIL_CAPI_H_
|
||||
@@ -136,7 +136,7 @@ extern "C" {
|
||||
// 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();
|
||||
CEF_EXPORT int cef_crash_reporting_enabled(void);
|
||||
|
||||
///
|
||||
// Sets or clears a specific key-value pair from the crash metadata.
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=0f56154217707d141912dc8a298279df8df04311$
|
||||
// $hash=dc579beb1f25f9bbdb72afb4b5b381e129f84e31$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_DIALOG_HANDLER_CAPI_H_
|
||||
@@ -57,14 +57,11 @@ typedef struct _cef_file_dialog_callback_t {
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Continue the file selection. |selected_accept_filter| should be the 0-based
|
||||
// index of the value selected from the accept filters array passed to
|
||||
// cef_dialog_handler_t::OnFileDialog. |file_paths| should be a single value
|
||||
// or a list of values depending on the dialog mode. An NULL |file_paths|
|
||||
// value is treated the same as calling cancel().
|
||||
// Continue the file selection. |file_paths| should be a single value or a
|
||||
// list of values depending on the dialog mode. An NULL |file_paths| value is
|
||||
// treated the same as calling cancel().
|
||||
///
|
||||
void(CEF_CALLBACK* cont)(struct _cef_file_dialog_callback_t* self,
|
||||
int selected_accept_filter,
|
||||
cef_string_list_t file_paths);
|
||||
|
||||
///
|
||||
@@ -93,10 +90,9 @@ typedef struct _cef_dialog_handler_t {
|
||||
// (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"), (b)
|
||||
// individual file extensions (e.g. ".txt" or ".png"), or (c) combined
|
||||
// description and file extension delimited using "|" and ";" (e.g. "Image
|
||||
// Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based index of
|
||||
// the filter that should be selected by default. To display a custom dialog
|
||||
// return true (1) and execute |callback| either inline or at a later time. To
|
||||
// display the default dialog return false (0).
|
||||
// Types|.png;.gif;.jpg"). To display a custom dialog return true (1) and
|
||||
// execute |callback| either inline or at a later time. To display the default
|
||||
// dialog return false (0).
|
||||
///
|
||||
int(CEF_CALLBACK* on_file_dialog)(
|
||||
struct _cef_dialog_handler_t* self,
|
||||
@@ -105,7 +101,6 @@ typedef struct _cef_dialog_handler_t {
|
||||
const cef_string_t* title,
|
||||
const cef_string_t* default_file_path,
|
||||
cef_string_list_t accept_filters,
|
||||
int selected_accept_filter,
|
||||
struct _cef_file_dialog_callback_t* callback);
|
||||
} cef_dialog_handler_t;
|
||||
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=142637539a094a03adc71d2f3f5b711ba64918b1$
|
||||
// $hash=5e52ae520b7eda3595683d428aa578bbc776956b$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_DISPLAY_HANDLER_CAPI_H_
|
||||
@@ -154,6 +154,16 @@ typedef struct _cef_display_handler_t {
|
||||
cef_cursor_handle_t cursor,
|
||||
cef_cursor_type_t type,
|
||||
const struct _cef_cursor_info_t* custom_cursor_info);
|
||||
|
||||
///
|
||||
// Called when the browser's access to an audio and/or video source has
|
||||
// changed.
|
||||
///
|
||||
void(CEF_CALLBACK* on_media_access_change)(
|
||||
struct _cef_display_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
int has_video_access,
|
||||
int has_audio_access);
|
||||
} cef_display_handler_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=c6de3fb4d64a2b2ad06a4b9c5e9d7625d40b5bb6$
|
||||
// $hash=ddff4ad975fc26d0abfe05799aedb597b8274ffd$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_DOM_CAPI_H_
|
||||
@@ -335,7 +335,8 @@ typedef struct _cef_domnode_t {
|
||||
struct _cef_domnode_t* self);
|
||||
|
||||
///
|
||||
// Returns the bounds of the element.
|
||||
// Returns the bounds of the element in device pixels. Use
|
||||
// "window.devicePixelRatio" to convert to/from CSS pixels.
|
||||
///
|
||||
cef_rect_t(CEF_CALLBACK* get_element_bounds)(struct _cef_domnode_t* self);
|
||||
} cef_domnode_t;
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=ec13ec3e2819e4ac49792c3a1c57bc60b45fb95b$
|
||||
// $hash=33862915eb4156a70794a346a090154c468763e2$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_DOWNLOAD_HANDLER_CAPI_H_
|
||||
@@ -103,6 +103,18 @@ typedef struct _cef_download_handler_t {
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called before a download begins in response to a user-initiated action
|
||||
// (e.g. alt + link click or link click that returns a `Content-Disposition:
|
||||
// attachment` response from the server). |url| is the target download URL and
|
||||
// |request_function| is the target function (GET, POST, etc). Return true (1)
|
||||
// to proceed with the download or false (0) to cancel the download.
|
||||
///
|
||||
int(CEF_CALLBACK* can_download)(struct _cef_download_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
const cef_string_t* url,
|
||||
const cef_string_t* request_method);
|
||||
|
||||
///
|
||||
// Called before a download begins. |suggested_name| is the suggested name for
|
||||
// the download file. By default the download will be canceled. Execute
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=b6e3236a062cd25ec26c3daeb1940d1e1bf0d96a$
|
||||
// $hash=c99e9efb74fea2a2a99b25a694c59256f59238ab$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_DRAG_DATA_CAPI_H_
|
||||
@@ -199,6 +199,11 @@ typedef struct _cef_drag_data_t {
|
||||
const cef_string_t* path,
|
||||
const cef_string_t* display_name);
|
||||
|
||||
///
|
||||
// Clear list of filenames.
|
||||
///
|
||||
void(CEF_CALLBACK* clear_filenames)(struct _cef_drag_data_t* self);
|
||||
|
||||
///
|
||||
// Get the image representation of drag data. May return NULL if no image
|
||||
// representation is available.
|
||||
@@ -219,7 +224,7 @@ typedef struct _cef_drag_data_t {
|
||||
///
|
||||
// Create a new cef_drag_data_t object.
|
||||
///
|
||||
CEF_EXPORT cef_drag_data_t* cef_drag_data_create();
|
||||
CEF_EXPORT cef_drag_data_t* cef_drag_data_create(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=b1fe7f7db5ab92c6ae64dc1288b6fd47c80f9423$
|
||||
// $hash=f2e80b8637b07f19adea666e554269de4627e399$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_FIND_HANDLER_CAPI_H_
|
||||
@@ -59,11 +59,12 @@ typedef struct _cef_find_handler_t {
|
||||
|
||||
///
|
||||
// Called to report find results returned by cef_browser_host_t::find().
|
||||
// |identifer| is the identifier passed to find(), |count| is the number of
|
||||
// matches currently identified, |selectionRect| is the location of where the
|
||||
// match was found (in window coordinates), |activeMatchOrdinal| is the
|
||||
// current position in the search results, and |finalUpdate| is true (1) if
|
||||
// this is the last find notification.
|
||||
// |identifer| is a unique incremental identifier for the currently active
|
||||
// search, |count| is the number of matches currently identified,
|
||||
// |selectionRect| is the location of where the match was found (in window
|
||||
// coordinates), |activeMatchOrdinal| is the current position in the search
|
||||
// results, and |finalUpdate| is true (1) if this is the last find
|
||||
// notification.
|
||||
///
|
||||
void(CEF_CALLBACK* on_find_result)(struct _cef_find_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=b6168013910802cf6d7603892741385958026dcd$
|
||||
// $hash=c063e5f0e0c9fef71bdb56e7cc3ea775de17a3ea$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_I18N_UTIL_CAPI_H_
|
||||
@@ -49,7 +49,7 @@ extern "C" {
|
||||
///
|
||||
// Returns true (1) if the application text direction is right-to-left.
|
||||
///
|
||||
CEF_EXPORT int cef_is_rtl();
|
||||
CEF_EXPORT int cef_is_rtl(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=b5a36ef39ff250c9d3cb1e9a8c7ee38d7e0f8b3f$
|
||||
// $hash=bbc87eb4ecaf92c900193afef7059caedbe8ab3a$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_IMAGE_CAPI_H_
|
||||
@@ -196,7 +196,7 @@ typedef struct _cef_image_t {
|
||||
// Create a new cef_image_t. It will initially be NULL. Use the Add*() functions
|
||||
// to add representations at different scale factors.
|
||||
///
|
||||
CEF_EXPORT cef_image_t* cef_image_create();
|
||||
CEF_EXPORT cef_image_t* cef_image_create(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=c68332a779bab425aa2e6a858d20a43448631890$
|
||||
// $hash=942579315e4b8c0819cd2b06becb93670310cd09$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_JSDIALOG_HANDLER_CAPI_H_
|
||||
@@ -127,7 +127,7 @@ typedef struct _cef_jsdialog_handler_t {
|
||||
struct _cef_browser_t* browser);
|
||||
|
||||
///
|
||||
// Called when the default implementation dialog is closed.
|
||||
// Called when the dialog is closed.
|
||||
///
|
||||
void(CEF_CALLBACK* on_dialog_closed)(struct _cef_jsdialog_handler_t* self,
|
||||
struct _cef_browser_t* browser);
|
||||
|
108
include/capi/cef_media_access_handler_capi.h
Normal file
108
include/capi/cef_media_access_handler_capi.h
Normal file
@@ -0,0 +1,108 @@
|
||||
// Copyright (c) 2022 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=91101808168ec0faf1f39b1924579e31478a6616$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_MEDIA_ACCESS_HANDLER_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_MEDIA_ACCESS_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 media access
|
||||
// permission requests.
|
||||
///
|
||||
typedef struct _cef_media_access_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Call to allow or deny media access. If this callback was initiated in
|
||||
// response to a getUserMedia (indicated by
|
||||
// CEF_MEDIA_PERMISSION_DEVICE_AUDIO_CAPTURE and/or
|
||||
// CEF_MEDIA_PERMISSION_DEVICE_VIDEO_CAPTURE being set) the
|
||||
// |allowed_permissions| are required to match those given in
|
||||
// |required_permissions| in the OnRequestMediaAccessPermission.
|
||||
///
|
||||
void(CEF_CALLBACK* cont)(struct _cef_media_access_callback_t* self,
|
||||
int allowed_permissions);
|
||||
|
||||
///
|
||||
// Cancel the media access request.
|
||||
///
|
||||
void(CEF_CALLBACK* cancel)(struct _cef_media_access_callback_t* self);
|
||||
} cef_media_access_callback_t;
|
||||
|
||||
///
|
||||
// Implement this structure to handle events related to media access permission
|
||||
// requests. The functions of this structure will be called on the browser
|
||||
// process UI thread.
|
||||
///
|
||||
typedef struct _cef_media_access_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called when a page requests permission to access media. |requesting_url| is
|
||||
// the URL requesting permission. Return true (1) and call
|
||||
// cef_media_access_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_media_access_permission)(
|
||||
struct _cef_media_access_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame,
|
||||
const cef_string_t* requesting_url,
|
||||
int32_t requested_permissions,
|
||||
struct _cef_media_access_callback_t* callback);
|
||||
} cef_media_access_handler_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_MEDIA_ACCESS_HANDLER_CAPI_H_
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=0939a44345bea8df7ca5f1dbd6afbe41972121f2$
|
||||
// $hash=26fdd1f18f30d9e2a48aeeb5c69607d9d22d69ca$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_ORIGIN_WHITELIST_CAPI_H_
|
||||
@@ -102,7 +102,7 @@ CEF_EXPORT int cef_remove_cross_origin_whitelist_entry(
|
||||
// Remove all entries from the cross-origin access whitelist. Returns false (0)
|
||||
// if the whitelist cannot be accessed.
|
||||
///
|
||||
CEF_EXPORT int cef_clear_cross_origin_whitelist();
|
||||
CEF_EXPORT int cef_clear_cross_origin_whitelist(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
162
include/capi/cef_permission_handler_capi.h
Normal file
162
include/capi/cef_permission_handler_capi.h
Normal file
@@ -0,0 +1,162 @@
|
||||
// Copyright (c) 2022 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=e902fe011f8667b64989e57ad9e72aec74b22015$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_PERMISSION_HANDLER_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_PERMISSION_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 media access
|
||||
// permission requests.
|
||||
///
|
||||
typedef struct _cef_media_access_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Call to allow or deny media access. If this callback was initiated in
|
||||
// response to a getUserMedia (indicated by
|
||||
// CEF_MEDIA_PERMISSION_DEVICE_AUDIO_CAPTURE and/or
|
||||
// CEF_MEDIA_PERMISSION_DEVICE_VIDEO_CAPTURE being set) then
|
||||
// |allowed_permissions| must match |required_permissions| passed to
|
||||
// OnRequestMediaAccessPermission.
|
||||
///
|
||||
void(CEF_CALLBACK* cont)(struct _cef_media_access_callback_t* self,
|
||||
uint32 allowed_permissions);
|
||||
|
||||
///
|
||||
// Cancel the media access request.
|
||||
///
|
||||
void(CEF_CALLBACK* cancel)(struct _cef_media_access_callback_t* self);
|
||||
} cef_media_access_callback_t;
|
||||
|
||||
///
|
||||
// Callback structure used for asynchronous continuation of permission prompts.
|
||||
///
|
||||
typedef struct _cef_permission_prompt_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Complete the permissions request with the specified |result|.
|
||||
///
|
||||
void(CEF_CALLBACK* cont)(struct _cef_permission_prompt_callback_t* self,
|
||||
cef_permission_request_result_t result);
|
||||
} cef_permission_prompt_callback_t;
|
||||
|
||||
///
|
||||
// Implement this structure to handle events related to permission requests. The
|
||||
// functions of this structure will be called on the browser process UI thread.
|
||||
///
|
||||
typedef struct _cef_permission_handler_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Called when a page requests permission to access media. |requesting_origin|
|
||||
// is the URL origin requesting permission. |requested_permissions| is a
|
||||
// combination of values from cef_media_access_permission_types_t that
|
||||
// represent the requested permissions. Return true (1) and call
|
||||
// cef_media_access_callback_t functions either in this function or at a later
|
||||
// time to continue or cancel the request. Return false (0) to proceed with
|
||||
// default handling. With the Chrome runtime, default handling will display
|
||||
// the permission request UI. With the Alloy runtime, default handling will
|
||||
// deny the request. This function will not be called if the "--enable-media-
|
||||
// stream" command-line switch is used to grant all permissions.
|
||||
///
|
||||
int(CEF_CALLBACK* on_request_media_access_permission)(
|
||||
struct _cef_permission_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame,
|
||||
const cef_string_t* requesting_origin,
|
||||
uint32 requested_permissions,
|
||||
struct _cef_media_access_callback_t* callback);
|
||||
|
||||
///
|
||||
// Called when a page should show a permission prompt. |prompt_id| uniquely
|
||||
// identifies the prompt. |requesting_origin| is the URL origin requesting
|
||||
// permission. |requested_permissions| is a combination of values from
|
||||
// cef_permission_request_types_t that represent the requested permissions.
|
||||
// Return true (1) and call cef_permission_prompt_callback_t::Continue either
|
||||
// in this function or at a later time to continue or cancel the request.
|
||||
// Return false (0) to proceed with default handling. With the Chrome runtime,
|
||||
// default handling will display the permission prompt UI. With the Alloy
|
||||
// runtime, default handling is CEF_PERMISSION_RESULT_IGNORE.
|
||||
///
|
||||
int(CEF_CALLBACK* on_show_permission_prompt)(
|
||||
struct _cef_permission_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
uint64 prompt_id,
|
||||
const cef_string_t* requesting_origin,
|
||||
uint32 requested_permissions,
|
||||
struct _cef_permission_prompt_callback_t* callback);
|
||||
|
||||
///
|
||||
// Called when a permission prompt handled via OnShowPermissionPrompt is
|
||||
// dismissed. |prompt_id| will match the value that was passed to
|
||||
// OnShowPermissionPrompt. |result| will be the value passed to
|
||||
// cef_permission_prompt_callback_t::Continue or CEF_PERMISSION_RESULT_IGNORE
|
||||
// if the dialog was dismissed for other reasons such as navigation, browser
|
||||
// closure, etc. This function will not be called if OnShowPermissionPrompt
|
||||
// returned false (0) for |prompt_id|.
|
||||
///
|
||||
void(CEF_CALLBACK* on_dismiss_permission_prompt)(
|
||||
struct _cef_permission_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
uint64 prompt_id,
|
||||
cef_permission_request_result_t result);
|
||||
} cef_permission_handler_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_PERMISSION_HANDLER_CAPI_H_
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=fdbd26f9dd20dbd7813fc17a8c34650b2da19581$
|
||||
// $hash=1a9b9718367ec8d575fbb39b73b1085b17eb0a2b$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_PRINT_SETTINGS_CAPI_H_
|
||||
@@ -193,7 +193,7 @@ typedef struct _cef_print_settings_t {
|
||||
///
|
||||
// Create a new cef_print_settings_t object.
|
||||
///
|
||||
CEF_EXPORT cef_print_settings_t* cef_print_settings_create();
|
||||
CEF_EXPORT cef_print_settings_t* cef_print_settings_create(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=2549ea10cd3a41bc04ab81bad24eb12787de68b9$
|
||||
// $hash=026a7f827962222a1df8b62a8e7bdfbf4dce27e0$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_PROCESS_MESSAGE_CAPI_H_
|
||||
@@ -41,6 +41,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
#include "include/capi/cef_shared_memory_region_capi.h"
|
||||
#include "include/capi/cef_values_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -69,7 +70,8 @@ typedef struct _cef_process_message_t {
|
||||
int(CEF_CALLBACK* is_read_only)(struct _cef_process_message_t* self);
|
||||
|
||||
///
|
||||
// Returns a writable copy of this object.
|
||||
// Returns a writable copy of this object. Returns nullptr when message
|
||||
// contains a shared memory region.
|
||||
///
|
||||
struct _cef_process_message_t*(CEF_CALLBACK* copy)(
|
||||
struct _cef_process_message_t* self);
|
||||
@@ -82,10 +84,18 @@ typedef struct _cef_process_message_t {
|
||||
struct _cef_process_message_t* self);
|
||||
|
||||
///
|
||||
// Returns the list of arguments.
|
||||
// Returns the list of arguments. Returns nullptr when message contains a
|
||||
// shared memory region.
|
||||
///
|
||||
struct _cef_list_value_t*(CEF_CALLBACK* get_argument_list)(
|
||||
struct _cef_process_message_t* self);
|
||||
|
||||
///
|
||||
// Returns the shared memory region. Returns nullptr when message contains an
|
||||
// argument list.
|
||||
///
|
||||
struct _cef_shared_memory_region_t*(CEF_CALLBACK* get_shared_memory_region)(
|
||||
struct _cef_process_message_t* self);
|
||||
} cef_process_message_t;
|
||||
|
||||
///
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=79fba8a1a86cc65251dd7251e0863dd20205bb3b$
|
||||
// $hash=b0688a7d24b67b74a62841be60217a8e48c7228e$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_RENDER_HANDLER_CAPI_H_
|
||||
@@ -67,25 +67,27 @@ typedef struct _cef_render_handler_t {
|
||||
struct _cef_render_handler_t* self);
|
||||
|
||||
///
|
||||
// Called to retrieve the root window rectangle in screen coordinates. Return
|
||||
// true (1) if the rectangle was provided. If this function returns false (0)
|
||||
// the rectangle from GetViewRect will be used.
|
||||
// Called to retrieve the root window rectangle in screen DIP coordinates.
|
||||
// Return 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,
|
||||
cef_rect_t* rect);
|
||||
|
||||
///
|
||||
// Called to retrieve the view rectangle which is relative to screen
|
||||
// coordinates. This function must always provide a non-NULL rectangle.
|
||||
// Called to retrieve the view rectangle in screen DIP coordinates. This
|
||||
// function must always provide a non-NULL rectangle.
|
||||
///
|
||||
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
|
||||
// coordinates. Return true (1) if the screen coordinates were provided.
|
||||
// Called to retrieve the translation from view DIP coordinates to screen
|
||||
// coordinates. Windows/Linux should provide screen device (pixel) coordinates
|
||||
// and MacOS should provide screen DIP coordinates. Return true (1) if the
|
||||
// requested coordinates were provided.
|
||||
///
|
||||
int(CEF_CALLBACK* get_screen_point)(struct _cef_render_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
@@ -159,6 +161,25 @@ typedef struct _cef_render_handler_t {
|
||||
cef_rect_t const* dirtyRects,
|
||||
void* shared_handle);
|
||||
|
||||
///
|
||||
// Called to retrieve the size of the touch handle for the specified
|
||||
// |orientation|.
|
||||
///
|
||||
void(CEF_CALLBACK* get_touch_handle_size)(
|
||||
struct _cef_render_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
cef_horizontal_alignment_t orientation,
|
||||
cef_size_t* size);
|
||||
|
||||
///
|
||||
// Called when touch handle state is updated. The client is responsible for
|
||||
// rendering the touch handles.
|
||||
///
|
||||
void(CEF_CALLBACK* on_touch_handle_state_changed)(
|
||||
struct _cef_render_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
const struct _cef_touch_handle_state_t* state);
|
||||
|
||||
///
|
||||
// Called when the user starts dragging content in the web view. Contextual
|
||||
// information about the dragged content is supplied by |drag_data|. (|x|,
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=47b361878452f2a94e559782913d80beb0dba25a$
|
||||
// $hash=246d07b9790ff6bd574c59b1c237c603deaf88bf$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CAPI_H_
|
||||
@@ -219,7 +219,7 @@ typedef struct _cef_request_t {
|
||||
///
|
||||
// Create a new cef_request_t object.
|
||||
///
|
||||
CEF_EXPORT cef_request_t* cef_request_create();
|
||||
CEF_EXPORT cef_request_t* cef_request_create(void);
|
||||
|
||||
///
|
||||
// Structure used to represent post data for a web request. The functions of
|
||||
@@ -278,7 +278,7 @@ typedef struct _cef_post_data_t {
|
||||
///
|
||||
// Create a new cef_post_data_t object.
|
||||
///
|
||||
CEF_EXPORT cef_post_data_t* cef_post_data_create();
|
||||
CEF_EXPORT cef_post_data_t* cef_post_data_create(void);
|
||||
|
||||
///
|
||||
// Structure used to represent a single element in the request post data. The
|
||||
@@ -344,7 +344,7 @@ typedef struct _cef_post_data_element_t {
|
||||
///
|
||||
// Create a new cef_post_data_element_t object.
|
||||
///
|
||||
CEF_EXPORT cef_post_data_element_t* cef_post_data_element_create();
|
||||
CEF_EXPORT cef_post_data_element_t* cef_post_data_element_create(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=89e64a2db658ad560e85ea5d3e564a6505d4e914$
|
||||
// $hash=dcff1eaa0563cfb48e0232bf78786bb0126c4255$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_CAPI_H_
|
||||
@@ -357,7 +357,7 @@ typedef struct _cef_request_context_t {
|
||||
///
|
||||
// Returns the global context object.
|
||||
///
|
||||
CEF_EXPORT cef_request_context_t* cef_request_context_get_global_context();
|
||||
CEF_EXPORT cef_request_context_t* cef_request_context_get_global_context(void);
|
||||
|
||||
///
|
||||
// Creates a new context object with the specified |settings| and optional
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=b44d320d5cceb5022543e8154170b8d276628c76$
|
||||
// $hash=b2657a441a701c5ddaca68dc604fd94153a3220f$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_CONTEXT_HANDLER_CAPI_H_
|
||||
@@ -45,7 +45,6 @@
|
||||
#include "include/capi/cef_frame_capi.h"
|
||||
#include "include/capi/cef_request_capi.h"
|
||||
#include "include/capi/cef_resource_request_handler_capi.h"
|
||||
#include "include/capi/cef_web_plugin_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=4a05a0a7cd4a279ccf8455a3cb2f77de581b597a$
|
||||
// $hash=4e19e04de13949f20e63e44542bc0a0eeed46b43$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_REQUEST_HANDLER_CAPI_H_
|
||||
@@ -228,14 +228,6 @@ typedef struct _cef_request_handler_t {
|
||||
struct _cef_x509certificate_t* const* certificates,
|
||||
struct _cef_select_client_certificate_callback_t* callback);
|
||||
|
||||
///
|
||||
// Called on the browser process UI thread when a plugin has crashed.
|
||||
// |plugin_path| is the path of the plugin that crashed.
|
||||
///
|
||||
void(CEF_CALLBACK* on_plugin_crashed)(struct _cef_request_handler_t* self,
|
||||
struct _cef_browser_t* browser,
|
||||
const cef_string_t* plugin_path);
|
||||
|
||||
///
|
||||
// Called on the browser process UI thread when the render view associated
|
||||
// with |browser| is ready to receive/handle IPC messages in the render
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=a9e35ca17785f77666db7650208cacfd9a85c3e0$
|
||||
// $hash=6d8a7e3c0ed66cad10e8a0c59fed51431ec82ce5$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_RESOURCE_BUNDLE_CAPI_H_
|
||||
@@ -95,7 +95,7 @@ typedef struct _cef_resource_bundle_t {
|
||||
///
|
||||
// Returns the global resource bundle instance.
|
||||
///
|
||||
CEF_EXPORT cef_resource_bundle_t* cef_resource_bundle_get_global();
|
||||
CEF_EXPORT cef_resource_bundle_t* cef_resource_bundle_get_global(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=6ebf7adcdaee57772810c1528b27140ae95966d0$
|
||||
// $hash=ab8832420572dae95a601fb3170fcd3693473619$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_RESPONSE_CAPI_H_
|
||||
@@ -168,7 +168,7 @@ typedef struct _cef_response_t {
|
||||
///
|
||||
// Create a new cef_response_t object.
|
||||
///
|
||||
CEF_EXPORT cef_response_t* cef_response_create();
|
||||
CEF_EXPORT cef_response_t* cef_response_create(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=df8c46dd19ef6a3964c49d79e770de6e4245e208$
|
||||
// $hash=83cbe91e85d7ab2413f733b75457ce6689d3d0ae$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_
|
||||
@@ -131,7 +131,7 @@ CEF_EXPORT int cef_register_scheme_handler_factory(
|
||||
// ef_request_context_t::cef_request_context_get_global_context()->clear_scheme_
|
||||
// handler_factories().
|
||||
///
|
||||
CEF_EXPORT int cef_clear_scheme_handler_factories();
|
||||
CEF_EXPORT int cef_clear_scheme_handler_factories(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
79
include/capi/cef_shared_memory_region_capi.h
Normal file
79
include/capi/cef_shared_memory_region_capi.h
Normal file
@@ -0,0 +1,79 @@
|
||||
// Copyright (c) 2022 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=212f13ac6baeeefb86f1648d1e18ccba95fd5f79$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_SHARED_MEMORY_REGION_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_SHARED_MEMORY_REGION_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
///
|
||||
// Structure that wraps platform-dependent share memory region mapping.
|
||||
///
|
||||
typedef struct _cef_shared_memory_region_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if the mapping is valid.
|
||||
///
|
||||
int(CEF_CALLBACK* is_valid)(struct _cef_shared_memory_region_t* self);
|
||||
|
||||
///
|
||||
// Returns the size of the mapping in bytes. Returns 0 for invalid instances.
|
||||
///
|
||||
size_t(CEF_CALLBACK* size)(struct _cef_shared_memory_region_t* self);
|
||||
|
||||
///
|
||||
// Returns the pointer to the memory. Returns nullptr for invalid instances.
|
||||
// The returned pointer is only valid for the life span of this object.
|
||||
///
|
||||
const void*(CEF_CALLBACK* memory)(struct _cef_shared_memory_region_t* self);
|
||||
} cef_shared_memory_region_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_SHARED_MEMORY_REGION_CAPI_H_
|
101
include/capi/cef_shared_process_message_builder_capi.h
Normal file
101
include/capi/cef_shared_process_message_builder_capi.h
Normal file
@@ -0,0 +1,101 @@
|
||||
// Copyright (c) 2022 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=0ed88d26dab045ebef0f4f4ae209e7f11206a242$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_SHARED_PROCESS_MESSAGE_BUILDER_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_SHARED_PROCESS_MESSAGE_BUILDER_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_process_message_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
///
|
||||
// Structure that builds a cef_process_message_t containing a shared memory
|
||||
// region. This structure is not thread-safe but may be used exclusively on a
|
||||
// different thread from the one which constructed it.
|
||||
///
|
||||
typedef struct _cef_shared_process_message_builder_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns true (1) if the builder is valid.
|
||||
///
|
||||
int(CEF_CALLBACK* is_valid)(
|
||||
struct _cef_shared_process_message_builder_t* self);
|
||||
|
||||
///
|
||||
// Returns the size of the shared memory region in bytes. Returns 0 for
|
||||
// invalid instances.
|
||||
///
|
||||
size_t(CEF_CALLBACK* size)(
|
||||
struct _cef_shared_process_message_builder_t* self);
|
||||
|
||||
///
|
||||
// Returns the pointer to the writable memory. Returns nullptr for invalid
|
||||
// instances. The returned pointer is only valid for the life span of this
|
||||
// object.
|
||||
///
|
||||
void*(CEF_CALLBACK* memory)(
|
||||
struct _cef_shared_process_message_builder_t* self);
|
||||
|
||||
///
|
||||
// Creates a new cef_process_message_t from the data provided to the builder.
|
||||
// Returns nullptr for invalid instances. Invalidates the builder instance.
|
||||
///
|
||||
struct _cef_process_message_t*(CEF_CALLBACK* build)(
|
||||
struct _cef_shared_process_message_builder_t* self);
|
||||
} cef_shared_process_message_builder_t;
|
||||
|
||||
///
|
||||
// Creates a new cef_shared_process_message_builder_t with the specified |name|
|
||||
// and shared memory region of specified |byte_size|.
|
||||
///
|
||||
CEF_EXPORT cef_shared_process_message_builder_t*
|
||||
cef_shared_process_message_builder_create(const cef_string_t* name,
|
||||
size_t byte_size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_SHARED_PROCESS_MESSAGE_BUILDER_CAPI_H_
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=e943dd2af818e5a5f19f6cbd1648896684c666c6$
|
||||
// $hash=2502258e69820d070a9f094d5e587a38e96cc930$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_TASK_CAPI_H_
|
||||
@@ -122,7 +122,7 @@ typedef struct _cef_task_runner_t {
|
||||
// task runners. An NULL reference will be returned if this function is called
|
||||
// on an invalid thread.
|
||||
///
|
||||
CEF_EXPORT cef_task_runner_t* cef_task_runner_get_for_current_thread();
|
||||
CEF_EXPORT cef_task_runner_t* cef_task_runner_get_for_current_thread(void);
|
||||
|
||||
///
|
||||
// Returns the task runner for the specified CEF thread.
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=a7b4410e0a35eb0aba747014665419fb6b6fcb67$
|
||||
// $hash=0a206b1c12637c8b04b2815cb3b50f212768ba01$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_TRACE_CAPI_H_
|
||||
@@ -109,7 +109,7 @@ CEF_EXPORT int cef_end_tracing(const cef_string_t* tracing_file,
|
||||
// high-res time. Can be used by clients to synchronize with the time
|
||||
// information in trace events.
|
||||
///
|
||||
CEF_EXPORT int64 cef_now_from_system_trace_time();
|
||||
CEF_EXPORT int64 cef_now_from_system_trace_time(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=2bdcad7f8e3c03285a5e5ddb9a02a5a2182f254c$
|
||||
// $hash=b7dd2429f492a8f2dd978f9500c63dd0e01035d4$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_V8_CAPI_H_
|
||||
@@ -143,17 +143,17 @@ typedef struct _cef_v8context_t {
|
||||
///
|
||||
// Returns the current (top) context object in the V8 context stack.
|
||||
///
|
||||
CEF_EXPORT cef_v8context_t* cef_v8context_get_current_context();
|
||||
CEF_EXPORT cef_v8context_t* cef_v8context_get_current_context(void);
|
||||
|
||||
///
|
||||
// Returns the entered (bottom) context object in the V8 context stack.
|
||||
///
|
||||
CEF_EXPORT cef_v8context_t* cef_v8context_get_entered_context();
|
||||
CEF_EXPORT cef_v8context_t* cef_v8context_get_entered_context(void);
|
||||
|
||||
///
|
||||
// Returns true (1) if V8 is currently inside a context.
|
||||
///
|
||||
CEF_EXPORT int cef_v8context_in_context();
|
||||
CEF_EXPORT int cef_v8context_in_context(void);
|
||||
|
||||
///
|
||||
// Structure that should be implemented to handle V8 function calls. The
|
||||
@@ -733,12 +733,12 @@ typedef struct _cef_v8value_t {
|
||||
///
|
||||
// Create a new cef_v8value_t object of type undefined.
|
||||
///
|
||||
CEF_EXPORT cef_v8value_t* cef_v8value_create_undefined();
|
||||
CEF_EXPORT cef_v8value_t* cef_v8value_create_undefined(void);
|
||||
|
||||
///
|
||||
// Create a new cef_v8value_t object of type null.
|
||||
///
|
||||
CEF_EXPORT cef_v8value_t* cef_v8value_create_null();
|
||||
CEF_EXPORT cef_v8value_t* cef_v8value_create_null(void);
|
||||
|
||||
///
|
||||
// Create a new cef_v8value_t object of type bool.
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=c557496bdc1403b25b22ca9354a942478131c7ce$
|
||||
// $hash=ee899158c4f61cc3f85176174d6fd9cbe2a3db4c$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_VALUES_CAPI_H_
|
||||
@@ -219,7 +219,7 @@ typedef struct _cef_value_t {
|
||||
///
|
||||
// Creates a new object.
|
||||
///
|
||||
CEF_EXPORT cef_value_t* cef_value_create();
|
||||
CEF_EXPORT cef_value_t* cef_value_create(void);
|
||||
|
||||
///
|
||||
// Structure representing a binary value. Can be used on any process and thread.
|
||||
@@ -523,7 +523,7 @@ typedef struct _cef_dictionary_value_t {
|
||||
///
|
||||
// Creates a new object that is not owned by any other object.
|
||||
///
|
||||
CEF_EXPORT cef_dictionary_value_t* cef_dictionary_value_create();
|
||||
CEF_EXPORT cef_dictionary_value_t* cef_dictionary_value_create(void);
|
||||
|
||||
///
|
||||
// Structure representing a list value. Can be used on any process and thread.
|
||||
@@ -744,7 +744,7 @@ typedef struct _cef_list_value_t {
|
||||
///
|
||||
// Creates a new object that is not owned by any other object.
|
||||
///
|
||||
CEF_EXPORT cef_list_value_t* cef_list_value_create();
|
||||
CEF_EXPORT cef_list_value_t* cef_list_value_create(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -1,171 +0,0 @@
|
||||
// Copyright (c) 2022 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=51060280dee57104eaef7b774e4b4895970c0057$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_
|
||||
#define CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/capi/cef_base_capi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct _cef_browser_t;
|
||||
|
||||
///
|
||||
// Information about a specific web plugin.
|
||||
///
|
||||
typedef struct _cef_web_plugin_info_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Returns the plugin name.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t(CEF_CALLBACK* get_name)(
|
||||
struct _cef_web_plugin_info_t* self);
|
||||
|
||||
///
|
||||
// Returns the plugin file path (DLL/bundle/library).
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t(CEF_CALLBACK* get_path)(
|
||||
struct _cef_web_plugin_info_t* self);
|
||||
|
||||
///
|
||||
// Returns the version of the plugin (may be OS-specific).
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t(CEF_CALLBACK* get_version)(
|
||||
struct _cef_web_plugin_info_t* self);
|
||||
|
||||
///
|
||||
// Returns a description of the plugin from the version information.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t(CEF_CALLBACK* get_description)(
|
||||
struct _cef_web_plugin_info_t* self);
|
||||
} cef_web_plugin_info_t;
|
||||
|
||||
///
|
||||
// Structure to implement for visiting web plugin information. The functions of
|
||||
// this structure will be called on the browser process UI thread.
|
||||
///
|
||||
typedef struct _cef_web_plugin_info_visitor_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called once for each plugin. |count| is the 0-based
|
||||
// index for the current plugin. |total| is the total number of plugins.
|
||||
// Return false (0) to stop visiting plugins. This function may never be
|
||||
// called if no plugins are found.
|
||||
///
|
||||
int(CEF_CALLBACK* visit)(struct _cef_web_plugin_info_visitor_t* self,
|
||||
struct _cef_web_plugin_info_t* info,
|
||||
int count,
|
||||
int total);
|
||||
} cef_web_plugin_info_visitor_t;
|
||||
|
||||
///
|
||||
// Structure to implement for receiving unstable plugin information. The
|
||||
// functions of this structure will be called on the browser process IO thread.
|
||||
///
|
||||
typedef struct _cef_web_plugin_unstable_callback_t {
|
||||
///
|
||||
// Base structure.
|
||||
///
|
||||
cef_base_ref_counted_t base;
|
||||
|
||||
///
|
||||
// Method that will be called for the requested plugin. |unstable| will be
|
||||
// true (1) if the plugin has reached the crash count threshold of 3 times in
|
||||
// 120 seconds.
|
||||
///
|
||||
void(CEF_CALLBACK* is_unstable)(
|
||||
struct _cef_web_plugin_unstable_callback_t* self,
|
||||
const cef_string_t* path,
|
||||
int unstable);
|
||||
} cef_web_plugin_unstable_callback_t;
|
||||
|
||||
///
|
||||
// Visit web plugin information. Can be called on any thread in the browser
|
||||
// process.
|
||||
///
|
||||
CEF_EXPORT void cef_visit_web_plugin_info(
|
||||
cef_web_plugin_info_visitor_t* visitor);
|
||||
|
||||
///
|
||||
// Cause the plugin list to refresh the next time it is accessed regardless of
|
||||
// whether it has already been loaded. Can be called on any thread in the
|
||||
// browser process.
|
||||
///
|
||||
CEF_EXPORT void cef_refresh_web_plugins();
|
||||
|
||||
///
|
||||
// Unregister an internal plugin. This may be undone the next time
|
||||
// cef_refresh_web_plugins() is called. Can be called on any thread in the
|
||||
// browser process.
|
||||
///
|
||||
CEF_EXPORT void cef_unregister_internal_web_plugin(const cef_string_t* path);
|
||||
|
||||
///
|
||||
// Register a plugin crash. Can be called on any thread in the browser process
|
||||
// but will be executed on the IO thread.
|
||||
///
|
||||
CEF_EXPORT void cef_register_web_plugin_crash(const cef_string_t* path);
|
||||
|
||||
///
|
||||
// Query if a plugin is unstable. Can be called on any thread in the browser
|
||||
// process.
|
||||
///
|
||||
CEF_EXPORT void cef_is_web_plugin_unstable(
|
||||
const cef_string_t* path,
|
||||
cef_web_plugin_unstable_callback_t* callback);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=d70d5b74890e3ca91f01333ebdb4f3298caeb619$
|
||||
// $hash=33a684b03178472bdf93e70043304cce8bc32d05$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
|
||||
@@ -530,7 +530,7 @@ typedef struct _cef_translator_test_t {
|
||||
///
|
||||
// Create the test object.
|
||||
///
|
||||
CEF_EXPORT cef_translator_test_t* cef_translator_test_create();
|
||||
CEF_EXPORT cef_translator_test_t* cef_translator_test_create(void);
|
||||
|
||||
///
|
||||
// Library-side test object for RefPtr.
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=2fd0db428ce5902d59a7802c901e1c13b2367b5a$
|
||||
// $hash=5e383d792ce9dc1809d3d3fdeabb9c60fb9ff1ba$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_DISPLAY_CAPI_H_
|
||||
@@ -108,7 +108,7 @@ typedef struct _cef_display_t {
|
||||
///
|
||||
// Returns the primary Display.
|
||||
///
|
||||
CEF_EXPORT cef_display_t* cef_display_get_primary();
|
||||
CEF_EXPORT cef_display_t* cef_display_get_primary(void);
|
||||
|
||||
///
|
||||
// Returns the Display nearest |point|. Set |input_pixel_coords| to true (1) if
|
||||
@@ -131,7 +131,7 @@ CEF_EXPORT cef_display_t* cef_display_get_matching_bounds(
|
||||
// Returns the total number of Displays. Mirrored displays are excluded; this
|
||||
// function is intended to return the number of distinct, usable displays.
|
||||
///
|
||||
CEF_EXPORT size_t cef_display_get_count();
|
||||
CEF_EXPORT size_t cef_display_get_count(void);
|
||||
|
||||
///
|
||||
// Returns all Displays. Mirrored displays are excluded; this function is
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=6a8166eca76513b59a4f6355f4f765dc1d77e4ee$
|
||||
// $hash=a75487288913e4646f67ee8aded4bc9ef328bb79$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_VIEW_DELEGATE_CAPI_H_
|
||||
@@ -49,9 +49,10 @@ extern "C" {
|
||||
struct _cef_view_t;
|
||||
|
||||
///
|
||||
// Implement this structure to handle view events. The functions of this
|
||||
// structure will be called on the browser process UI thread unless otherwise
|
||||
// indicated.
|
||||
// Implement this structure to handle view events. All size and position values
|
||||
// are in density independent pixels (DIP) unless otherwise indicated. The
|
||||
// functions of this structure will be called on the browser process UI thread
|
||||
// unless otherwise indicated.
|
||||
///
|
||||
typedef struct _cef_view_delegate_t {
|
||||
///
|
||||
|
@@ -33,7 +33,7 @@
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
// $hash=cd5d7c4e83237ceb39c5639489ca6004d2d69f0c$
|
||||
// $hash=7f88c6428929c0511ff90b6137efcc4cebcfeae4$
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_WINDOW_DELEGATE_CAPI_H_
|
||||
@@ -73,6 +73,14 @@ typedef struct _cef_window_delegate_t {
|
||||
void(CEF_CALLBACK* on_window_destroyed)(struct _cef_window_delegate_t* self,
|
||||
struct _cef_window_t* window);
|
||||
|
||||
///
|
||||
// Called when |window| is activated or deactivated.
|
||||
///
|
||||
void(CEF_CALLBACK* on_window_activation_changed)(
|
||||
struct _cef_window_delegate_t* self,
|
||||
struct _cef_window_t* window,
|
||||
int active);
|
||||
|
||||
///
|
||||
// Return the parent for |window| or NULL if the |window| does not have a
|
||||
// parent. Windows with parents will not get a taskbar button. Set |is_menu|
|
||||
|
@@ -42,13 +42,13 @@
|
||||
// way that may cause binary incompatibility with other builds. The universal
|
||||
// hash value will change if any platform is affected whereas the platform hash
|
||||
// values will change only if that particular platform is affected.
|
||||
#define CEF_API_HASH_UNIVERSAL "bce1c03dd10e25bb5b1c4130297486205e7a8e56"
|
||||
#define CEF_API_HASH_UNIVERSAL "1f35577ebd00c5e6cc03a172bb41e3c0d820f3d1"
|
||||
#if defined(OS_WIN)
|
||||
#define CEF_API_HASH_PLATFORM "cb4f19f13d7a944d1cd0ea6fa3a5129d356cd9d5"
|
||||
#define CEF_API_HASH_PLATFORM "99f91193dce6b93011526269c4dc5d0c32569b70"
|
||||
#elif defined(OS_MAC)
|
||||
#define CEF_API_HASH_PLATFORM "6c37c43a7f7d206a54297068fcbe3ca4905a17cb"
|
||||
#define CEF_API_HASH_PLATFORM "316e120c0bf151de8145ee3b45ef3451e1ff60dc"
|
||||
#elif defined(OS_LINUX)
|
||||
#define CEF_API_HASH_PLATFORM "3572e1eca7185fdcdcff550f7b1759f4647e3e04"
|
||||
#define CEF_API_HASH_PLATFORM "e061aecbfbf09b9068391bdfcd80c9d5ed1faece"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -63,7 +63,7 @@ class CefAudioHandler : public virtual CefBaseRefCounted {
|
||||
|
||||
///
|
||||
// Called on a browser audio capture thread when the browser starts
|
||||
// streaming audio. OnAudioSteamStopped will always be called after
|
||||
// streaming audio. OnAudioStreamStopped will always be called after
|
||||
// OnAudioStreamStarted; both methods may be called multiple times
|
||||
// for the same browser. |params| contains the audio parameters like
|
||||
// sample rate and channel layout. |channels| is the number of channels.
|
||||
|
@@ -206,14 +206,11 @@ class CefRunFileDialogCallback : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Called asynchronously after the file dialog is dismissed.
|
||||
// |selected_accept_filter| is the 0-based index of the value selected from
|
||||
// the accept filters array passed to CefBrowserHost::RunFileDialog.
|
||||
// |file_paths| will be a single value or a list of values depending on the
|
||||
// dialog mode. If the selection was cancelled |file_paths| will be empty.
|
||||
///
|
||||
/*--cef(index_param=selected_accept_filter,optional_param=file_paths)--*/
|
||||
/*--cef(optional_param=file_paths)--*/
|
||||
virtual void OnFileDialogDismissed(
|
||||
int selected_accept_filter,
|
||||
const std::vector<CefString>& file_paths) = 0;
|
||||
};
|
||||
|
||||
@@ -421,19 +418,17 @@ class CefBrowserHost : public virtual CefBaseRefCounted {
|
||||
// selectable file types and may any combination of (a) valid lower-cased MIME
|
||||
// types (e.g. "text/*" or "image/*"), (b) individual file extensions (e.g.
|
||||
// ".txt" or ".png"), or (c) combined description and file extension delimited
|
||||
// using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg").
|
||||
// |selected_accept_filter| is the 0-based index of the filter that will be
|
||||
// selected by default. |callback| will be executed after the dialog is
|
||||
// dismissed or immediately if another dialog is already pending. The dialog
|
||||
// will be initiated asynchronously on the UI thread.
|
||||
// using "|" and ";" (e.g. "Image Types|.png;.gif;.jpg"). |callback| will be
|
||||
// executed after the dialog is dismissed or immediately if another dialog is
|
||||
// already pending. The dialog will be initiated asynchronously on the UI
|
||||
// thread.
|
||||
///
|
||||
/*--cef(optional_param=title,optional_param=default_file_path,
|
||||
optional_param=accept_filters,index_param=selected_accept_filter)--*/
|
||||
optional_param=accept_filters)--*/
|
||||
virtual void RunFileDialog(FileDialogMode mode,
|
||||
const CefString& title,
|
||||
const CefString& default_file_path,
|
||||
const std::vector<CefString>& accept_filters,
|
||||
int selected_accept_filter,
|
||||
CefRefPtr<CefRunFileDialogCallback> callback) = 0;
|
||||
|
||||
///
|
||||
@@ -479,19 +474,16 @@ class CefBrowserHost : public virtual CefBaseRefCounted {
|
||||
CefRefPtr<CefPdfPrintCallback> callback) = 0;
|
||||
|
||||
///
|
||||
// Search for |searchText|. |identifier| must be a unique ID and these IDs
|
||||
// must strictly increase so that newer requests always have greater IDs than
|
||||
// older requests. If |identifier| is zero or less than the previous ID value
|
||||
// then it will be automatically assigned a new valid ID. |forward| indicates
|
||||
// whether to search forward or backward within the page. |matchCase|
|
||||
// indicates whether the search should be case-sensitive. |findNext| indicates
|
||||
// whether this is the first request or a follow-up. The CefFindHandler
|
||||
// instance, if any, returned via CefClient::GetFindHandler will be called to
|
||||
// report find results.
|
||||
// Search for |searchText|. |forward| indicates whether to search forward or
|
||||
// backward within the page. |matchCase| indicates whether the search should
|
||||
// be case-sensitive. |findNext| indicates whether this is the first request
|
||||
// or a follow-up. The search will be restarted if |searchText| or |matchCase|
|
||||
// change. The search will be stopped if |searchText| is empty. The
|
||||
// CefFindHandler instance, if any, returned via CefClient::GetFindHandler
|
||||
// will be called to report find results.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void Find(int identifier,
|
||||
const CefString& searchText,
|
||||
virtual void Find(const CefString& searchText,
|
||||
bool forward,
|
||||
bool matchCase,
|
||||
bool findNext) = 0;
|
||||
|
@@ -60,9 +60,9 @@ class CefBrowserProcessHandler : public virtual CefBaseRefCounted {
|
||||
///
|
||||
// Called before a child process is launched. Will be called on the browser
|
||||
// process UI thread when launching a render process and on the browser
|
||||
// process IO thread when launching a GPU or plugin process. Provides an
|
||||
// opportunity to modify the child process command line. Do not keep a
|
||||
// reference to |command_line| outside of this method.
|
||||
// process IO thread when launching a GPU process. Provides an opportunity to
|
||||
// modify the child process command line. Do not keep a reference to
|
||||
// |command_line| outside of this method.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnBeforeChildProcessLaunch(
|
||||
|
@@ -40,6 +40,7 @@
|
||||
|
||||
#include "include/cef_audio_handler.h"
|
||||
#include "include/cef_base.h"
|
||||
#include "include/cef_command_handler.h"
|
||||
#include "include/cef_context_menu_handler.h"
|
||||
#include "include/cef_dialog_handler.h"
|
||||
#include "include/cef_display_handler.h"
|
||||
@@ -52,6 +53,7 @@
|
||||
#include "include/cef_keyboard_handler.h"
|
||||
#include "include/cef_life_span_handler.h"
|
||||
#include "include/cef_load_handler.h"
|
||||
#include "include/cef_permission_handler.h"
|
||||
#include "include/cef_print_handler.h"
|
||||
#include "include/cef_process_message.h"
|
||||
#include "include/cef_render_handler.h"
|
||||
@@ -69,6 +71,13 @@ class CefClient : public virtual CefBaseRefCounted {
|
||||
/*--cef()--*/
|
||||
virtual CefRefPtr<CefAudioHandler> GetAudioHandler() { return nullptr; }
|
||||
|
||||
///
|
||||
// Return the handler for commands. If no handler is provided the default
|
||||
// implementation will be used.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefRefPtr<CefCommandHandler> GetCommandHandler() { return nullptr; }
|
||||
|
||||
///
|
||||
// Return the handler for context menus. If no handler is provided the default
|
||||
// implementation will be used.
|
||||
@@ -124,6 +133,14 @@ class CefClient : public virtual CefBaseRefCounted {
|
||||
/*--cef()--*/
|
||||
virtual CefRefPtr<CefFrameHandler> GetFrameHandler() { return nullptr; }
|
||||
|
||||
///
|
||||
// Return the handler for permission requests.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefRefPtr<CefPermissionHandler> GetPermissionHandler() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
///
|
||||
// Return the handler for JavaScript dialogs. If no handler is provided the
|
||||
// default implementation will be used.
|
||||
|
68
include/cef_command_handler.h
Normal file
68
include/cef_command_handler.h
Normal file
@@ -0,0 +1,68 @@
|
||||
// Copyright (c) 2022 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.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// The contents of this file must follow a specific format in order to
|
||||
// support the CEF translator tool. See the translator.README.txt file in the
|
||||
// tools directory for more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CEF_COMMAND_HANDLER_H_
|
||||
#define CEF_INCLUDE_CEF_COMMAND_HANDLER_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/cef_base.h"
|
||||
#include "include/cef_browser.h"
|
||||
|
||||
///
|
||||
// Implement this interface to handle events related to commands. The methods of
|
||||
// this class will be called on the UI thread.
|
||||
///
|
||||
/*--cef(source=client)--*/
|
||||
class CefCommandHandler : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Called to execute a Chrome command triggered via menu selection or keyboard
|
||||
// shortcut. Values for |command_id| can be found in the cef_command_ids.h
|
||||
// file. |disposition| provides information about the intended command target.
|
||||
// Return true if the command was handled or false for the default
|
||||
// implementation. For context menu commands this will be called after
|
||||
// CefContextMenuHandler::OnContextMenuCommand. Only used with the Chrome
|
||||
// runtime.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool OnChromeCommand(CefRefPtr<CefBrowser> browser,
|
||||
int command_id,
|
||||
cef_window_open_disposition_t disposition) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_CEF_COMMAND_HANDLER_H_
|
@@ -51,14 +51,12 @@ class CefContextMenuParams;
|
||||
/*--cef(source=library)--*/
|
||||
class CefRunContextMenuCallback : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
typedef cef_event_flags_t EventFlags;
|
||||
|
||||
///
|
||||
// Complete context menu display by selecting the specified |command_id| and
|
||||
// |event_flags|.
|
||||
///
|
||||
/*--cef(capi_name=cont)--*/
|
||||
virtual void Continue(int command_id, EventFlags event_flags) = 0;
|
||||
virtual void Continue(int command_id, cef_event_flags_t event_flags) = 0;
|
||||
|
||||
///
|
||||
// Cancel context menu display.
|
||||
@@ -67,6 +65,26 @@ class CefRunContextMenuCallback : public virtual CefBaseRefCounted {
|
||||
virtual void Cancel() = 0;
|
||||
};
|
||||
|
||||
///
|
||||
// Callback interface used for continuation of custom quick menu display.
|
||||
///
|
||||
/*--cef(source=library)--*/
|
||||
class CefRunQuickMenuCallback : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Complete quick menu display by selecting the specified |command_id| and
|
||||
// |event_flags|.
|
||||
///
|
||||
/*--cef(capi_name=cont)--*/
|
||||
virtual void Continue(int command_id, cef_event_flags_t event_flags) = 0;
|
||||
|
||||
///
|
||||
// Cancel quick menu display.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void Cancel() = 0;
|
||||
};
|
||||
|
||||
///
|
||||
// Implement this interface to handle context menu events. The methods of this
|
||||
// class will be called on the UI thread.
|
||||
@@ -75,6 +93,7 @@ class CefRunContextMenuCallback : public virtual CefBaseRefCounted {
|
||||
class CefContextMenuHandler : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
typedef cef_event_flags_t EventFlags;
|
||||
typedef cef_quick_menu_edit_state_flags_t QuickMenuEditStateFlags;
|
||||
|
||||
///
|
||||
// Called before a context menu is displayed. |params| provides information
|
||||
@@ -126,15 +145,55 @@ class CefContextMenuHandler : public virtual CefBaseRefCounted {
|
||||
|
||||
///
|
||||
// Called when the context menu is dismissed irregardless of whether the menu
|
||||
// was empty or a command was selected.
|
||||
// was canceled or a command was selected.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnContextMenuDismissed(CefRefPtr<CefBrowser> browser,
|
||||
CefRefPtr<CefFrame> frame) {}
|
||||
|
||||
///
|
||||
// Called to allow custom display of the quick menu for a windowless browser.
|
||||
// |location| is the top left corner of the selected region. |size| is the
|
||||
// size of the selected region. |edit_state_flags| is a combination of flags
|
||||
// that represent the state of the quick menu. Return true if the menu will be
|
||||
// handled and execute |callback| either synchronously or asynchronously with
|
||||
// the selected command ID. Return false to cancel the menu.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool RunQuickMenu(CefRefPtr<CefBrowser> browser,
|
||||
CefRefPtr<CefFrame> frame,
|
||||
const CefPoint& location,
|
||||
const CefSize& size,
|
||||
QuickMenuEditStateFlags edit_state_flags,
|
||||
CefRefPtr<CefRunQuickMenuCallback> callback) {
|
||||
return false;
|
||||
}
|
||||
|
||||
///
|
||||
// Called to execute a command selected from the quick menu for a windowless
|
||||
// browser. Return true if the command was handled or false for the default
|
||||
// implementation. See cef_menu_id_t for command IDs that have default
|
||||
// implementations.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool OnQuickMenuCommand(CefRefPtr<CefBrowser> browser,
|
||||
CefRefPtr<CefFrame> frame,
|
||||
int command_id,
|
||||
EventFlags event_flags) {
|
||||
return false;
|
||||
}
|
||||
|
||||
///
|
||||
// Called when the quick menu for a windowless browser is dismissed
|
||||
// irregardless of whether the menu was canceled or a command was selected.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnQuickMenuDismissed(CefRefPtr<CefBrowser> browser,
|
||||
CefRefPtr<CefFrame> frame) {}
|
||||
};
|
||||
|
||||
///
|
||||
// Provides information about the context menu state. The ethods of this class
|
||||
// Provides information about the context menu state. The methods of this class
|
||||
// can only be accessed on browser process the UI thread.
|
||||
///
|
||||
/*--cef(source=library)--*/
|
||||
@@ -277,7 +336,7 @@ class CefContextMenuParams : public virtual CefBaseRefCounted {
|
||||
|
||||
///
|
||||
// Returns true if the context menu contains items specified by the renderer
|
||||
// process (for example, plugin placeholder or pepper plugin menu items).
|
||||
// process.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool IsCustomMenu() = 0;
|
||||
|
@@ -48,16 +48,12 @@
|
||||
class CefFileDialogCallback : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Continue the file selection. |selected_accept_filter| should be the 0-based
|
||||
// index of the value selected from the accept filters array passed to
|
||||
// CefDialogHandler::OnFileDialog. |file_paths| should be a single value or a
|
||||
// Continue the file selection. |file_paths| should be a single value or a
|
||||
// list of values depending on the dialog mode. An empty |file_paths| value is
|
||||
// treated the same as calling Cancel().
|
||||
///
|
||||
/*--cef(capi_name=cont,index_param=selected_accept_filter,
|
||||
optional_param=file_paths)--*/
|
||||
virtual void Continue(int selected_accept_filter,
|
||||
const std::vector<CefString>& file_paths) = 0;
|
||||
/*--cef(capi_name=cont,optional_param=file_paths)--*/
|
||||
virtual void Continue(const std::vector<CefString>& file_paths) = 0;
|
||||
|
||||
///
|
||||
// Cancel the file selection.
|
||||
@@ -85,19 +81,17 @@ class CefDialogHandler : public virtual CefBaseRefCounted {
|
||||
// (a) valid lower-cased MIME types (e.g. "text/*" or "image/*"),
|
||||
// (b) individual file extensions (e.g. ".txt" or ".png"), or (c) combined
|
||||
// description and file extension delimited using "|" and ";" (e.g.
|
||||
// "Image Types|.png;.gif;.jpg"). |selected_accept_filter| is the 0-based
|
||||
// index of the filter that should be selected by default. To display a custom
|
||||
// dialog return true and execute |callback| either inline or at a later time.
|
||||
// To display the default dialog return false.
|
||||
// "Image Types|.png;.gif;.jpg"). To display a custom dialog return true and
|
||||
// execute |callback| either inline or at a later time. To display the default
|
||||
// dialog return false.
|
||||
///
|
||||
/*--cef(optional_param=title,optional_param=default_file_path,
|
||||
optional_param=accept_filters,index_param=selected_accept_filter)--*/
|
||||
optional_param=accept_filters)--*/
|
||||
virtual bool OnFileDialog(CefRefPtr<CefBrowser> browser,
|
||||
FileDialogMode mode,
|
||||
const CefString& title,
|
||||
const CefString& default_file_path,
|
||||
const std::vector<CefString>& accept_filters,
|
||||
int selected_accept_filter,
|
||||
CefRefPtr<CefFileDialogCallback> callback) {
|
||||
return false;
|
||||
}
|
||||
|
@@ -148,6 +148,15 @@ class CefDisplayHandler : public virtual CefBaseRefCounted {
|
||||
const CefCursorInfo& custom_cursor_info) {
|
||||
return false;
|
||||
}
|
||||
|
||||
///
|
||||
// Called when the browser's access to an audio and/or video source has
|
||||
// changed.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnMediaAccessChange(CefRefPtr<CefBrowser> browser,
|
||||
bool has_video_access,
|
||||
bool has_audio_access) {}
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_CEF_DISPLAY_HANDLER_H_
|
||||
|
@@ -323,7 +323,8 @@ class CefDOMNode : public virtual CefBaseRefCounted {
|
||||
virtual CefString GetElementInnerText() = 0;
|
||||
|
||||
///
|
||||
// Returns the bounds of the element.
|
||||
// Returns the bounds of the element in device pixels. Use
|
||||
// "window.devicePixelRatio" to convert to/from CSS pixels.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefRect GetElementBounds() = 0;
|
||||
|
@@ -90,6 +90,20 @@ class CefDownloadItemCallback : public virtual CefBaseRefCounted {
|
||||
/*--cef(source=client)--*/
|
||||
class CefDownloadHandler : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Called before a download begins in response to a user-initiated action
|
||||
// (e.g. alt + link click or link click that returns a `Content-Disposition:
|
||||
// attachment` response from the server). |url| is the target download URL and
|
||||
// |request_method| is the target method (GET, POST, etc). Return true to
|
||||
// proceed with the download or false to cancel the download.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool CanDownload(CefRefPtr<CefBrowser> browser,
|
||||
const CefString& url,
|
||||
const CefString& request_method) {
|
||||
return true;
|
||||
}
|
||||
|
||||
///
|
||||
// Called before a download begins. |suggested_name| is the suggested name for
|
||||
// the download file. By default the download will be canceled. Execute
|
||||
|
@@ -196,6 +196,12 @@ class CefDragData : public virtual CefBaseRefCounted {
|
||||
virtual void AddFile(const CefString& path,
|
||||
const CefString& display_name) = 0;
|
||||
|
||||
///
|
||||
// Clear list of filenames.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void ClearFilenames() = 0;
|
||||
|
||||
///
|
||||
// Get the image representation of drag data. May return NULL if no image
|
||||
// representation is available.
|
||||
|
@@ -50,11 +50,11 @@ class CefFindHandler : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Called to report find results returned by CefBrowserHost::Find().
|
||||
// |identifer| is the identifier passed to Find(), |count| is the number of
|
||||
// matches currently identified, |selectionRect| is the location of where the
|
||||
// match was found (in window coordinates), |activeMatchOrdinal| is the
|
||||
// current position in the search results, and |finalUpdate| is true if this
|
||||
// is the last find notification.
|
||||
// |identifer| is a unique incremental identifier for the currently active
|
||||
// search, |count| is the number of matches currently identified,
|
||||
// |selectionRect| is the location of where the match was found (in window
|
||||
// coordinates), |activeMatchOrdinal| is the current position in the search
|
||||
// results, and |finalUpdate| is true if this is the last find notification.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnFindResult(CefRefPtr<CefBrowser> browser,
|
||||
|
@@ -118,7 +118,7 @@ class CefJSDialogHandler : public virtual CefBaseRefCounted {
|
||||
virtual void OnResetDialogState(CefRefPtr<CefBrowser> browser) {}
|
||||
|
||||
///
|
||||
// Called when the default implementation dialog is closed.
|
||||
// Called when the dialog is closed.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnDialogClosed(CefRefPtr<CefBrowser> browser) {}
|
||||
|
148
include/cef_permission_handler.h
Normal file
148
include/cef_permission_handler.h
Normal file
@@ -0,0 +1,148 @@
|
||||
// Copyright (c) 2022 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.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// The contents of this file must follow a specific format in order to
|
||||
// support the CEF translator tool. See the translator.README.txt file in the
|
||||
// tools directory for more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CEF_PERMISSION_HANDLER_H_
|
||||
#define CEF_INCLUDE_CEF_PERMISSION_HANDLER_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/cef_base.h"
|
||||
#include "include/cef_browser.h"
|
||||
|
||||
///
|
||||
// Callback interface used for asynchronous continuation of media access
|
||||
// permission requests.
|
||||
///
|
||||
/*--cef(source=library)--*/
|
||||
class CefMediaAccessCallback : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Call to allow or deny media access. If this callback was initiated in
|
||||
// response to a getUserMedia (indicated by
|
||||
// CEF_MEDIA_PERMISSION_DEVICE_AUDIO_CAPTURE and/or
|
||||
// CEF_MEDIA_PERMISSION_DEVICE_VIDEO_CAPTURE being set) then
|
||||
// |allowed_permissions| must match |required_permissions| passed to
|
||||
// OnRequestMediaAccessPermission.
|
||||
///
|
||||
/*--cef(capi_name=cont)--*/
|
||||
virtual void Continue(uint32 allowed_permissions) = 0;
|
||||
|
||||
///
|
||||
// Cancel the media access request.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void Cancel() = 0;
|
||||
};
|
||||
|
||||
///
|
||||
// Callback interface used for asynchronous continuation of permission prompts.
|
||||
///
|
||||
/*--cef(source=library)--*/
|
||||
class CefPermissionPromptCallback : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Complete the permissions request with the specified |result|.
|
||||
///
|
||||
/*--cef(capi_name=cont)--*/
|
||||
virtual void Continue(cef_permission_request_result_t result) = 0;
|
||||
};
|
||||
|
||||
///
|
||||
// Implement this interface to handle events related to permission requests. The
|
||||
// methods of this class will be called on the browser process UI thread.
|
||||
///
|
||||
/*--cef(source=client)--*/
|
||||
class CefPermissionHandler : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Called when a page requests permission to access media. |requesting_origin|
|
||||
// is the URL origin requesting permission. |requested_permissions| is a
|
||||
// combination of values from cef_media_access_permission_types_t that
|
||||
// represent the requested permissions. Return true and call
|
||||
// CefMediaAccessCallback methods either in this method or at a later time to
|
||||
// continue or cancel the request. Return false to proceed with default
|
||||
// handling. With the Chrome runtime, default handling will display the
|
||||
// permission request UI. With the Alloy runtime, default handling will deny
|
||||
// the request. This method will not be called if the "--enable-media-stream"
|
||||
// command-line switch is used to grant all permissions.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool OnRequestMediaAccessPermission(
|
||||
CefRefPtr<CefBrowser> browser,
|
||||
CefRefPtr<CefFrame> frame,
|
||||
const CefString& requesting_origin,
|
||||
uint32 requested_permissions,
|
||||
CefRefPtr<CefMediaAccessCallback> callback) {
|
||||
return false;
|
||||
}
|
||||
|
||||
///
|
||||
// Called when a page should show a permission prompt. |prompt_id| uniquely
|
||||
// identifies the prompt. |requesting_origin| is the URL origin requesting
|
||||
// permission. |requested_permissions| is a combination of values from
|
||||
// cef_permission_request_types_t that represent the requested permissions.
|
||||
// Return true and call CefPermissionPromptCallback::Continue either in this
|
||||
// method or at a later time to continue or cancel the request. Return false
|
||||
// to proceed with default handling. With the Chrome runtime, default handling
|
||||
// will display the permission prompt UI. With the Alloy runtime, default
|
||||
// handling is CEF_PERMISSION_RESULT_IGNORE.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool OnShowPermissionPrompt(
|
||||
CefRefPtr<CefBrowser> browser,
|
||||
uint64 prompt_id,
|
||||
const CefString& requesting_origin,
|
||||
uint32 requested_permissions,
|
||||
CefRefPtr<CefPermissionPromptCallback> callback) {
|
||||
return false;
|
||||
}
|
||||
|
||||
///
|
||||
// Called when a permission prompt handled via OnShowPermissionPrompt is
|
||||
// dismissed. |prompt_id| will match the value that was passed to
|
||||
// OnShowPermissionPrompt. |result| will be the value passed to
|
||||
// CefPermissionPromptCallback::Continue or CEF_PERMISSION_RESULT_IGNORE if
|
||||
// the dialog was dismissed for other reasons such as navigation, browser
|
||||
// closure, etc. This method will not be called if OnShowPermissionPrompt
|
||||
// returned false for |prompt_id|.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnDismissPermissionPrompt(
|
||||
CefRefPtr<CefBrowser> browser,
|
||||
uint64 prompt_id,
|
||||
cef_permission_request_result_t result) {}
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_CEF_PERMISSION_HANDLER_H_
|
@@ -39,6 +39,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "include/cef_base.h"
|
||||
#include "include/cef_shared_memory_region.h"
|
||||
#include "include/cef_values.h"
|
||||
|
||||
typedef cef_process_id_t CefProcessId;
|
||||
@@ -71,6 +72,7 @@ class CefProcessMessage : public virtual CefBaseRefCounted {
|
||||
|
||||
///
|
||||
// Returns a writable copy of this object.
|
||||
// Returns nullptr when message contains a shared memory region.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefRefPtr<CefProcessMessage> Copy() = 0;
|
||||
@@ -83,9 +85,17 @@ class CefProcessMessage : public virtual CefBaseRefCounted {
|
||||
|
||||
///
|
||||
// Returns the list of arguments.
|
||||
// Returns nullptr when message contains a shared memory region.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefRefPtr<CefListValue> GetArgumentList() = 0;
|
||||
|
||||
///
|
||||
// Returns the shared memory region.
|
||||
// Returns nullptr when message contains an argument list.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefRefPtr<CefSharedMemoryRegion> GetSharedMemoryRegion() = 0;
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_CEF_MESSAGE_H_
|
||||
|
@@ -68,8 +68,8 @@ class CefRenderHandler : public virtual CefBaseRefCounted {
|
||||
}
|
||||
|
||||
///
|
||||
// Called to retrieve the root window rectangle in screen coordinates. Return
|
||||
// true if the rectangle was provided. If this method returns false the
|
||||
// Called to retrieve the root window rectangle in screen DIP coordinates.
|
||||
// Return true if the rectangle was provided. If this method returns false the
|
||||
// rectangle from GetViewRect will be used.
|
||||
///
|
||||
/*--cef()--*/
|
||||
@@ -78,15 +78,17 @@ class CefRenderHandler : public virtual CefBaseRefCounted {
|
||||
}
|
||||
|
||||
///
|
||||
// Called to retrieve the view rectangle which is relative to screen
|
||||
// coordinates. This method must always provide a non-empty rectangle.
|
||||
// Called to retrieve the view rectangle in screen DIP coordinates. This
|
||||
// method must always provide a non-empty rectangle.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void GetViewRect(CefRefPtr<CefBrowser> browser, CefRect& rect) = 0;
|
||||
|
||||
///
|
||||
// Called to retrieve the translation from view coordinates to actual screen
|
||||
// coordinates. Return true if the screen coordinates were provided.
|
||||
// Called to retrieve the translation from view DIP coordinates to screen
|
||||
// coordinates. Windows/Linux should provide screen device (pixel) coordinates
|
||||
// and MacOS should provide screen DIP coordinates. Return true if the
|
||||
// requested coordinates were provided.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool GetScreenPoint(CefRefPtr<CefBrowser> browser,
|
||||
@@ -161,6 +163,23 @@ class CefRenderHandler : public virtual CefBaseRefCounted {
|
||||
const RectList& dirtyRects,
|
||||
void* shared_handle) {}
|
||||
|
||||
///
|
||||
// Called to retrieve the size of the touch handle for the specified
|
||||
// |orientation|.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void GetTouchHandleSize(CefRefPtr<CefBrowser> browser,
|
||||
cef_horizontal_alignment_t orientation,
|
||||
CefSize& size) {}
|
||||
|
||||
///
|
||||
// Called when touch handle state is updated. The client is responsible for
|
||||
// rendering the touch handles.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnTouchHandleStateChanged(CefRefPtr<CefBrowser> browser,
|
||||
const CefTouchHandleState& state) {}
|
||||
|
||||
///
|
||||
// Called when the user starts dragging content in the web view. Contextual
|
||||
// information about the dragged content is supplied by |drag_data|.
|
||||
|
@@ -43,7 +43,6 @@
|
||||
#include "include/cef_frame.h"
|
||||
#include "include/cef_request.h"
|
||||
#include "include/cef_resource_request_handler.h"
|
||||
#include "include/cef_web_plugin.h"
|
||||
|
||||
///
|
||||
// Implement this interface to provide handler implementations. The handler
|
||||
@@ -53,8 +52,6 @@
|
||||
/*--cef(source=client,no_debugct_check)--*/
|
||||
class CefRequestContextHandler : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
typedef cef_plugin_policy_t PluginPolicy;
|
||||
|
||||
///
|
||||
// Called on the browser process UI thread immediately after the request
|
||||
// context has been initialized.
|
||||
|
@@ -228,14 +228,6 @@ class CefRequestHandler : public virtual CefBaseRefCounted {
|
||||
return false;
|
||||
}
|
||||
|
||||
///
|
||||
// Called on the browser process UI thread when a plugin has crashed.
|
||||
// |plugin_path| is the path of the plugin that crashed.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnPluginCrashed(CefRefPtr<CefBrowser> browser,
|
||||
const CefString& plugin_path) {}
|
||||
|
||||
///
|
||||
// Called on the browser process UI thread when the render view associated
|
||||
// with |browser| is ready to receive/handle IPC messages in the render
|
||||
|
@@ -40,11 +40,11 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// The sandbox is used to restrict sub-processes (renderer, plugin, GPU, etc)
|
||||
// from directly accessing system resources. This helps to protect the user
|
||||
// from untrusted and potentially malicious Web content.
|
||||
// See http://www.chromium.org/developers/design-documents/sandbox for
|
||||
// complete details.
|
||||
// The sandbox is used to restrict sub-processes (renderer, GPU, etc) from
|
||||
// directly accessing system resources. This helps to protect the user from
|
||||
// untrusted and potentially malicious Web content. See
|
||||
// http://www.chromium.org/developers/design-documents/sandbox for complete
|
||||
// details.
|
||||
//
|
||||
// To enable the sandbox on macOS the following requirements must be met:
|
||||
// 1. Link the helper process executable with the cef_sandbox static library.
|
||||
|
@@ -39,26 +39,26 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// The sandbox is used to restrict sub-processes (renderer, plugin, GPU, etc)
|
||||
// from directly accessing system resources. This helps to protect the user
|
||||
// from untrusted and potentially malicious Web content.
|
||||
// See http://www.chromium.org/developers/design-documents/sandbox for
|
||||
// complete details.
|
||||
// The sandbox is used to restrict sub-processes (renderer, GPU, etc) from
|
||||
// directly accessing system resources. This helps to protect the user from
|
||||
// untrusted and potentially malicious Web content. See
|
||||
// http://www.chromium.org/developers/design-documents/sandbox for complete
|
||||
// details.
|
||||
//
|
||||
// To enable the sandbox on Windows the following requirements must be met:
|
||||
// 1. Use the same executable for the browser process and all sub-processes.
|
||||
// 2. Link the executable with the cef_sandbox static library.
|
||||
// 3. Call the cef_sandbox_info_create() function from within the executable
|
||||
// (not from a separate DLL) and pass the resulting pointer into both the
|
||||
// CefExecutProcess() and CefInitialize() functions via the
|
||||
// CefExecuteProcess() and CefInitialize() functions via the
|
||||
// |windows_sandbox_info| parameter.
|
||||
|
||||
///
|
||||
// Create the sandbox information object for this process. It is safe to create
|
||||
// multiple of this object and to destroy the object immediately after passing
|
||||
// into the CefExecutProcess() and/or CefInitialize() functions.
|
||||
// into the CefExecuteProcess() and/or CefInitialize() functions.
|
||||
///
|
||||
void* cef_sandbox_info_create();
|
||||
void* cef_sandbox_info_create(void);
|
||||
|
||||
///
|
||||
// Destroy the specified sandbox information object.
|
||||
|
69
include/cef_shared_memory_region.h
Normal file
69
include/cef_shared_memory_region.h
Normal file
@@ -0,0 +1,69 @@
|
||||
// Copyright (c) 2022 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.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// The contents of this file must follow a specific format in order to
|
||||
// support the CEF translator tool. See the translator.README.txt file in the
|
||||
// tools directory for more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CEF_SHARED_MEMORY_REGION_H_
|
||||
#define CEF_INCLUDE_CEF_SHARED_MEMORY_REGION_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/cef_base.h"
|
||||
|
||||
///
|
||||
// Class that wraps platform-dependent share memory region mapping.
|
||||
///
|
||||
/*--cef(source=library)--*/
|
||||
class CefSharedMemoryRegion : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Returns true if the mapping is valid.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool IsValid() = 0;
|
||||
|
||||
///
|
||||
// Returns the size of the mapping in bytes. Returns 0 for invalid instances.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual size_t Size() = 0;
|
||||
|
||||
///
|
||||
// Returns the pointer to the memory. Returns nullptr for invalid instances.
|
||||
// The returned pointer is only valid for the life span of this object.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual const void* Memory() = 0;
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_CEF_SHARED_MEMORY_REGION_H_
|
87
include/cef_shared_process_message_builder.h
Normal file
87
include/cef_shared_process_message_builder.h
Normal file
@@ -0,0 +1,87 @@
|
||||
// Copyright (c) 2022 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.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// The contents of this file must follow a specific format in order to
|
||||
// support the CEF translator tool. See the translator.README.txt file in the
|
||||
// tools directory for more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CEF_SHARED_PROCESS_MESSAGE_BUILDER_H_
|
||||
#define CEF_INCLUDE_CEF_SHARED_PROCESS_MESSAGE_BUILDER_H_
|
||||
#pragma once
|
||||
|
||||
#include "include/cef_process_message.h"
|
||||
|
||||
///
|
||||
// Class that builds a CefProcessMessage containing a shared memory region.
|
||||
// This class is not thread-safe but may be used exclusively on a different
|
||||
// thread from the one which constructed it.
|
||||
///
|
||||
/*--cef(source=library)--*/
|
||||
class CefSharedProcessMessageBuilder : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Creates a new CefSharedProcessMessageBuilder with the specified |name| and
|
||||
// shared memory region of specified |byte_size|.
|
||||
///
|
||||
/*--cef()--*/
|
||||
static CefRefPtr<CefSharedProcessMessageBuilder> Create(const CefString& name,
|
||||
size_t byte_size);
|
||||
///
|
||||
// Returns true if the builder is valid.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool IsValid() = 0;
|
||||
|
||||
///
|
||||
// Returns the size of the shared memory region in bytes. Returns 0 for
|
||||
// invalid instances.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual size_t Size() = 0;
|
||||
|
||||
///
|
||||
// Returns the pointer to the writable memory. Returns nullptr for invalid
|
||||
// instances. The returned pointer is only valid for the life span of this
|
||||
// object.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void* Memory() = 0;
|
||||
|
||||
///
|
||||
// Creates a new CefProcessMessage from the data provided to the builder.
|
||||
// Returns nullptr for invalid instances. Invalidates the builder instance.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefRefPtr<CefProcessMessage> Build() = 0;
|
||||
};
|
||||
|
||||
#endif // CEF_INCLUDE_CEF_SHARED_PROCESS_MESSAGE_BUILDER_H_
|
@@ -1,148 +0,0 @@
|
||||
// Copyright (c) 2012 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.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// The contents of this file must follow a specific format in order to
|
||||
// support the CEF translator tool. See the translator.README.txt file in the
|
||||
// tools directory for more information.
|
||||
//
|
||||
|
||||
#ifndef CEF_INCLUDE_CEF_WEB_PLUGIN_H_
|
||||
#define CEF_INCLUDE_CEF_WEB_PLUGIN_H_
|
||||
|
||||
#include "include/cef_base.h"
|
||||
|
||||
class CefBrowser;
|
||||
|
||||
///
|
||||
// Information about a specific web plugin.
|
||||
///
|
||||
/*--cef(source=library)--*/
|
||||
class CefWebPluginInfo : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Returns the plugin name.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefString GetName() = 0;
|
||||
|
||||
///
|
||||
// Returns the plugin file path (DLL/bundle/library).
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefString GetPath() = 0;
|
||||
|
||||
///
|
||||
// Returns the version of the plugin (may be OS-specific).
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefString GetVersion() = 0;
|
||||
|
||||
///
|
||||
// Returns a description of the plugin from the version information.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefString GetDescription() = 0;
|
||||
};
|
||||
|
||||
///
|
||||
// Interface to implement for visiting web plugin information. The methods of
|
||||
// this class will be called on the browser process UI thread.
|
||||
///
|
||||
/*--cef(source=client)--*/
|
||||
class CefWebPluginInfoVisitor : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Method that will be called once for each plugin. |count| is the 0-based
|
||||
// index for the current plugin. |total| is the total number of plugins.
|
||||
// Return false to stop visiting plugins. This method may never be called if
|
||||
// no plugins are found.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool Visit(CefRefPtr<CefWebPluginInfo> info,
|
||||
int count,
|
||||
int total) = 0;
|
||||
};
|
||||
|
||||
///
|
||||
// Visit web plugin information. Can be called on any thread in the browser
|
||||
// process.
|
||||
///
|
||||
/*--cef()--*/
|
||||
void CefVisitWebPluginInfo(CefRefPtr<CefWebPluginInfoVisitor> visitor);
|
||||
|
||||
///
|
||||
// Cause the plugin list to refresh the next time it is accessed regardless
|
||||
// of whether it has already been loaded. Can be called on any thread in the
|
||||
// browser process.
|
||||
///
|
||||
/*--cef()--*/
|
||||
void CefRefreshWebPlugins();
|
||||
|
||||
///
|
||||
// Unregister an internal plugin. This may be undone the next time
|
||||
// CefRefreshWebPlugins() is called. Can be called on any thread in the browser
|
||||
// process.
|
||||
///
|
||||
/*--cef()--*/
|
||||
void CefUnregisterInternalWebPlugin(const CefString& path);
|
||||
|
||||
///
|
||||
// Register a plugin crash. Can be called on any thread in the browser process
|
||||
// but will be executed on the IO thread.
|
||||
///
|
||||
/*--cef()--*/
|
||||
void CefRegisterWebPluginCrash(const CefString& path);
|
||||
|
||||
///
|
||||
// Interface to implement for receiving unstable plugin information. The methods
|
||||
// of this class will be called on the browser process IO thread.
|
||||
///
|
||||
/*--cef(source=client)--*/
|
||||
class CefWebPluginUnstableCallback : public virtual CefBaseRefCounted {
|
||||
public:
|
||||
///
|
||||
// Method that will be called for the requested plugin. |unstable| will be
|
||||
// true if the plugin has reached the crash count threshold of 3 times in 120
|
||||
// seconds.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void IsUnstable(const CefString& path, bool unstable) = 0;
|
||||
};
|
||||
|
||||
///
|
||||
// Query if a plugin is unstable. Can be called on any thread in the browser
|
||||
// process.
|
||||
///
|
||||
/*--cef()--*/
|
||||
void CefIsWebPluginUnstable(const CefString& path,
|
||||
CefRefPtr<CefWebPluginUnstableCallback> callback);
|
||||
|
||||
#endif // CEF_INCLUDE_CEF_WEB_PLUGIN_H_
|
@@ -99,6 +99,9 @@ class CefWindowInfo : public CefStructBase<CefWindowInfoTraits> {
|
||||
explicit CefWindowInfo(const cef_window_info_t& r) : parent(r) {}
|
||||
explicit CefWindowInfo(const CefWindowInfo& r) : parent(r) {}
|
||||
|
||||
CefWindowInfo& operator=(const CefWindowInfo&) = default;
|
||||
CefWindowInfo& operator=(CefWindowInfo&&) = default;
|
||||
|
||||
///
|
||||
// Create the browser as a child window.
|
||||
///
|
||||
|
@@ -44,7 +44,7 @@ extern "C" {
|
||||
///
|
||||
// Gets the current log level.
|
||||
///
|
||||
CEF_EXPORT int cef_get_min_log_level();
|
||||
CEF_EXPORT int cef_get_min_log_level(void);
|
||||
|
||||
///
|
||||
// Gets the current vlog level for the given file (usually taken from
|
||||
|
@@ -100,6 +100,9 @@ class CefWindowInfo : public CefStructBase<CefWindowInfoTraits> {
|
||||
explicit CefWindowInfo(const cef_window_info_t& r) : parent(r) {}
|
||||
explicit CefWindowInfo(const CefWindowInfo& r) : parent(r) {}
|
||||
|
||||
CefWindowInfo& operator=(const CefWindowInfo&) = default;
|
||||
CefWindowInfo& operator=(CefWindowInfo&&) = default;
|
||||
|
||||
///
|
||||
// Create the browser as a child view.
|
||||
///
|
||||
|
@@ -46,7 +46,7 @@ typedef void* cef_string_list_t;
|
||||
///
|
||||
// Allocate a new string map.
|
||||
///
|
||||
CEF_EXPORT cef_string_list_t cef_string_list_alloc();
|
||||
CEF_EXPORT cef_string_list_t cef_string_list_alloc(void);
|
||||
|
||||
///
|
||||
// Return the number of elements in the string list.
|
||||
|
@@ -46,7 +46,7 @@ typedef void* cef_string_map_t;
|
||||
///
|
||||
// Allocate a new string map.
|
||||
///
|
||||
CEF_EXPORT cef_string_map_t cef_string_map_alloc();
|
||||
CEF_EXPORT cef_string_map_t cef_string_map_alloc(void);
|
||||
|
||||
///
|
||||
// Return the number of elements in the string map.
|
||||
|
@@ -47,7 +47,7 @@ typedef void* cef_string_multimap_t;
|
||||
///
|
||||
// Allocate a new string multimap.
|
||||
///
|
||||
CEF_EXPORT cef_string_multimap_t cef_string_multimap_alloc();
|
||||
CEF_EXPORT cef_string_multimap_t cef_string_multimap_alloc(void);
|
||||
|
||||
///
|
||||
// Return the number of elements in the string multimap.
|
||||
|
@@ -175,9 +175,9 @@ typedef cef_string_utf16_t* cef_string_userfree_utf16_t;
|
||||
// calling the associated free function.
|
||||
///
|
||||
|
||||
CEF_EXPORT cef_string_userfree_wide_t cef_string_userfree_wide_alloc();
|
||||
CEF_EXPORT cef_string_userfree_utf8_t cef_string_userfree_utf8_alloc();
|
||||
CEF_EXPORT cef_string_userfree_utf16_t cef_string_userfree_utf16_alloc();
|
||||
CEF_EXPORT cef_string_userfree_wide_t cef_string_userfree_wide_alloc(void);
|
||||
CEF_EXPORT cef_string_userfree_utf8_t cef_string_userfree_utf8_alloc(void);
|
||||
CEF_EXPORT cef_string_userfree_utf16_t cef_string_userfree_utf16_alloc(void);
|
||||
|
||||
///
|
||||
// These functions free the string structure allocated by the associated
|
||||
|
@@ -584,10 +584,16 @@ class CefStringBase {
|
||||
return NULL;
|
||||
|
||||
userfree_struct_type str = traits::userfree_alloc();
|
||||
memcpy(str, string_, sizeof(struct_type));
|
||||
if (owner_) {
|
||||
// Transfer ownership of the data to |str|.
|
||||
memcpy(str, string_, sizeof(struct_type));
|
||||
// Free this class' structure but not the data.
|
||||
memset(string_, 0, sizeof(struct_type));
|
||||
} else {
|
||||
// Copy the data to |str|.
|
||||
traits::set(string_->str, string_->length, str, /*copy=*/true);
|
||||
}
|
||||
|
||||
// Free this class' structure but not the data.
|
||||
memset(string_, 0, sizeof(struct_type));
|
||||
ClearAndFree();
|
||||
|
||||
return str;
|
||||
|
@@ -55,7 +55,7 @@ typedef pid_t cef_platform_thread_id_t;
|
||||
///
|
||||
// Returns the current platform thread ID.
|
||||
///
|
||||
CEF_EXPORT cef_platform_thread_id_t cef_get_current_platform_thread_id();
|
||||
CEF_EXPORT cef_platform_thread_id_t cef_get_current_platform_thread_id(void);
|
||||
|
||||
#if defined(OS_WIN)
|
||||
typedef DWORD cef_platform_thread_handle_t;
|
||||
@@ -69,7 +69,7 @@ typedef pthread_t cef_platform_thread_handle_t;
|
||||
// Returns the current platform thread handle.
|
||||
///
|
||||
CEF_EXPORT cef_platform_thread_handle_t
|
||||
cef_get_current_platform_thread_handle();
|
||||
cef_get_current_platform_thread_handle(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -202,7 +202,7 @@ typedef struct _cef_settings_t {
|
||||
|
||||
///
|
||||
// Set to true (1) to have the browser process message loop run in a separate
|
||||
// thread. If false (0) than the CefDoMessageLoopWork() function must be
|
||||
// thread. If false (0) then the CefDoMessageLoopWork() function must be
|
||||
// called from your application message loop. This option is only supported on
|
||||
// Windows and Linux.
|
||||
///
|
||||
@@ -374,10 +374,11 @@ typedef struct _cef_settings_t {
|
||||
|
||||
///
|
||||
// Set to a value between 1024 and 65535 to enable remote debugging on the
|
||||
// specified port. For example, if 8080 is specified the remote debugging URL
|
||||
// will be http://localhost:8080. CEF can be remotely debugged from any CEF or
|
||||
// Chrome browser window. Also configurable using the "remote-debugging-port"
|
||||
// command-line switch.
|
||||
// specified port. Also configurable using the "remote-debugging-port"
|
||||
// command-line switch. Remote debugging can be accessed by loading the
|
||||
// chrome://inspect page in Google Chrome. Port numbers 9222 and 9229 are
|
||||
// discoverable by default. Other port numbers may need to be configured via
|
||||
// "Discover network targets" on the Devices tab.
|
||||
///
|
||||
int remote_debugging_port;
|
||||
|
||||
@@ -425,14 +426,6 @@ typedef struct _cef_settings_t {
|
||||
///
|
||||
cef_string_t cookieable_schemes_list;
|
||||
int cookieable_schemes_exclude_defaults;
|
||||
|
||||
///
|
||||
// GUID string used for identifying the application. This is passed to the
|
||||
// system AV function for scanning downloaded files. By default, the GUID
|
||||
// will be an empty string and the file will be treated as an untrusted
|
||||
// file when the GUID is empty.
|
||||
///
|
||||
cef_string_t application_client_id_for_file_scanning;
|
||||
} cef_settings_t;
|
||||
|
||||
///
|
||||
@@ -519,7 +512,7 @@ typedef struct _cef_browser_settings_t {
|
||||
///
|
||||
int windowless_frame_rate;
|
||||
|
||||
// The below values map to WebPreferences settings.
|
||||
// BEGIN values that map to WebPreferences settings.
|
||||
|
||||
///
|
||||
// Font settings.
|
||||
@@ -576,12 +569,6 @@ typedef struct _cef_browser_settings_t {
|
||||
///
|
||||
cef_state_t javascript_dom_paste;
|
||||
|
||||
///
|
||||
// Controls whether any plugins will be loaded. Also configurable using the
|
||||
// "disable-plugins" command-line switch.
|
||||
///
|
||||
cef_state_t plugins;
|
||||
|
||||
///
|
||||
// Controls whether image URLs will be loaded from the network. A cached image
|
||||
// will still be rendered if requested. Also configurable using the
|
||||
@@ -627,6 +614,8 @@ typedef struct _cef_browser_settings_t {
|
||||
///
|
||||
cef_state_t webgl;
|
||||
|
||||
// END values that map to WebPreferences settings.
|
||||
|
||||
///
|
||||
// Background color used for the browser before a document is loaded and when
|
||||
// no document color is specified. The alpha component must be either fully
|
||||
@@ -646,6 +635,13 @@ typedef struct _cef_browser_settings_t {
|
||||
// empty then "en-US,en" will be used.
|
||||
///
|
||||
cef_string_t accept_language_list;
|
||||
|
||||
///
|
||||
// Controls whether the Chrome status bubble will be used. Only supported with
|
||||
// the Chrome runtime. For details about the status bubble see
|
||||
// https://www.chromium.org/user-experience/status-bubble/
|
||||
///
|
||||
cef_state_t chrome_status_bubble;
|
||||
} cef_browser_settings_t;
|
||||
|
||||
///
|
||||
@@ -951,15 +947,66 @@ typedef enum {
|
||||
///
|
||||
typedef enum {
|
||||
WOD_UNKNOWN,
|
||||
|
||||
///
|
||||
// Current tab. This is the default in most cases.
|
||||
///
|
||||
WOD_CURRENT_TAB,
|
||||
|
||||
///
|
||||
// Indicates that only one tab with the url should exist in the same window.
|
||||
///
|
||||
WOD_SINGLETON_TAB,
|
||||
|
||||
///
|
||||
// Shift key + Middle mouse button or meta/ctrl key while clicking.
|
||||
///
|
||||
WOD_NEW_FOREGROUND_TAB,
|
||||
|
||||
///
|
||||
// Middle mouse button or meta/ctrl key while clicking.
|
||||
///
|
||||
WOD_NEW_BACKGROUND_TAB,
|
||||
|
||||
///
|
||||
// New popup window.
|
||||
///
|
||||
WOD_NEW_POPUP,
|
||||
|
||||
///
|
||||
// Shift key while clicking.
|
||||
///
|
||||
WOD_NEW_WINDOW,
|
||||
|
||||
///
|
||||
// Alt key while clicking.
|
||||
///
|
||||
WOD_SAVE_TO_DISK,
|
||||
|
||||
///
|
||||
// New off-the-record (incognito) window.
|
||||
///
|
||||
WOD_OFF_THE_RECORD,
|
||||
WOD_IGNORE_ACTION
|
||||
|
||||
///
|
||||
// Special case error condition from the renderer.
|
||||
///
|
||||
WOD_IGNORE_ACTION,
|
||||
|
||||
///
|
||||
// Activates an existing tab containing the url, rather than navigating.
|
||||
// This is similar to SINGLETON_TAB, but searches across all windows from
|
||||
// the current profile and anonymity (instead of just the current one);
|
||||
// closes the current tab on switching if the current tab was the NTP with
|
||||
// no session history; and behaves like CURRENT_TAB instead of
|
||||
// NEW_FOREGROUND_TAB when no existing tab is found.
|
||||
///
|
||||
WOD_SWITCH_TO_TAB,
|
||||
|
||||
///
|
||||
// Creates a new document picture-in-picture window showing a child WebView.
|
||||
///
|
||||
WOD_NEW_PICTURE_IN_PICTURE,
|
||||
} cef_window_open_disposition_t;
|
||||
|
||||
///
|
||||
@@ -1152,6 +1199,12 @@ typedef enum {
|
||||
///
|
||||
TT_EXPLICIT = 1,
|
||||
|
||||
///
|
||||
// User got to this page through a suggestion in the UI (for example, via the
|
||||
// destinations page). Chrome runtime only.
|
||||
///
|
||||
TT_AUTO_BOOKMARK = 2,
|
||||
|
||||
///
|
||||
// Source is a subframe navigation. This is any content that is automatically
|
||||
// loaded in a non-toplevel frame. For example, if a page consists of several
|
||||
@@ -1170,6 +1223,25 @@ typedef enum {
|
||||
///
|
||||
TT_MANUAL_SUBFRAME = 4,
|
||||
|
||||
///
|
||||
// User got to this page by typing in the URL bar and selecting an entry
|
||||
// that did not look like a URL. For example, a match might have the URL
|
||||
// of a Google search result page, but appear like "Search Google for ...".
|
||||
// These are not quite the same as EXPLICIT navigations because the user
|
||||
// didn't type or see the destination URL. Chrome runtime only.
|
||||
// See also TT_KEYWORD.
|
||||
///
|
||||
TT_GENERATED = 5,
|
||||
|
||||
///
|
||||
// This is a toplevel navigation. This is any content that is automatically
|
||||
// loaded in a toplevel frame. For example, opening a tab to show the ASH
|
||||
// screen saver, opening the devtools window, opening the NTP after the safe
|
||||
// browsing warning, opening web-based dialog boxes are examples of
|
||||
// AUTO_TOPLEVEL navigations. Chrome runtime only.
|
||||
///
|
||||
TT_AUTO_TOPLEVEL = 6,
|
||||
|
||||
///
|
||||
// Source is a form submission by the user. NOTE: In some situations
|
||||
// submitting a form does not result in this transition type. This can happen
|
||||
@@ -1184,6 +1256,25 @@ typedef enum {
|
||||
///
|
||||
TT_RELOAD = 8,
|
||||
|
||||
///
|
||||
// The url was generated from a replaceable keyword other than the default
|
||||
// search provider. If the user types a keyword (which also applies to
|
||||
// tab-to-search) in the omnibox this qualifier is applied to the transition
|
||||
// type of the generated url. TemplateURLModel then may generate an
|
||||
// additional visit with a transition type of TT_KEYWORD_GENERATED against the
|
||||
// url 'http://' + keyword. For example, if you do a tab-to-search against
|
||||
// wikipedia the generated url has a transition qualifer of TT_KEYWORD, and
|
||||
// TemplateURLModel generates a visit for 'wikipedia.org' with a transition
|
||||
// type of TT_KEYWORD_GENERATED. Chrome runtime only.
|
||||
///
|
||||
TT_KEYWORD = 9,
|
||||
|
||||
///
|
||||
// Corresponds to a visit generated for a keyword. See description of
|
||||
// TT_KEYWORD for more details. Chrome runtime only.
|
||||
///
|
||||
TT_KEYWORD_GENERATED = 10,
|
||||
|
||||
///
|
||||
// General mask defining the bits used for the source values.
|
||||
///
|
||||
@@ -1209,6 +1300,18 @@ typedef enum {
|
||||
///
|
||||
TT_DIRECT_LOAD_FLAG = 0x02000000,
|
||||
|
||||
///
|
||||
// User is navigating to the home page. Chrome runtime only.
|
||||
///
|
||||
TT_HOME_PAGE_FLAG = 0x04000000,
|
||||
|
||||
///
|
||||
// The transition originated from an external application; the exact
|
||||
// definition of this is embedder dependent. Chrome runtime and
|
||||
// extension system only.
|
||||
///
|
||||
TT_FROM_API_FLAG = 0x08000000,
|
||||
|
||||
///
|
||||
// The beginning of a navigation chain.
|
||||
///
|
||||
@@ -1893,6 +1996,17 @@ typedef enum {
|
||||
CM_EDITFLAG_CAN_EDIT_RICHLY = 1 << 8,
|
||||
} cef_context_menu_edit_state_flags_t;
|
||||
|
||||
///
|
||||
// Supported quick menu state bit flags.
|
||||
///
|
||||
typedef enum {
|
||||
QM_EDITFLAG_NONE = 0,
|
||||
QM_EDITFLAG_CAN_ELLIPSIS = 1 << 0,
|
||||
QM_EDITFLAG_CAN_CUT = 1 << 1,
|
||||
QM_EDITFLAG_CAN_COPY = 1 << 2,
|
||||
QM_EDITFLAG_CAN_PASTE = 1 << 3,
|
||||
} cef_quick_menu_edit_state_flags_t;
|
||||
|
||||
///
|
||||
// Key event types.
|
||||
///
|
||||
@@ -2134,26 +2248,6 @@ typedef enum {
|
||||
// already exists.
|
||||
///
|
||||
FILE_DIALOG_SAVE,
|
||||
|
||||
///
|
||||
// General mask defining the bits used for the type values.
|
||||
///
|
||||
FILE_DIALOG_TYPE_MASK = 0xFF,
|
||||
|
||||
// Qualifiers.
|
||||
// Any of the type values above can be augmented by one or more qualifiers.
|
||||
// These qualifiers further define the dialog behavior.
|
||||
|
||||
///
|
||||
// Prompt to overwrite if the user selects an existing file with the Save
|
||||
// dialog.
|
||||
///
|
||||
FILE_DIALOG_OVERWRITEPROMPT_FLAG = 0x01000000,
|
||||
|
||||
///
|
||||
// Do not display read-only files.
|
||||
///
|
||||
FILE_DIALOG_HIDEREADONLY_FLAG = 0x02000000,
|
||||
} cef_file_dialog_mode_t;
|
||||
|
||||
///
|
||||
@@ -2471,32 +2565,6 @@ typedef enum {
|
||||
SCALE_FACTOR_300P,
|
||||
} cef_scale_factor_t;
|
||||
|
||||
///
|
||||
// Plugin policies supported by CefRequestContextHandler::OnBeforePluginLoad.
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
// Allow the content.
|
||||
///
|
||||
PLUGIN_POLICY_ALLOW,
|
||||
|
||||
///
|
||||
// Allow important content and block unimportant content based on heuristics.
|
||||
// The user can manually load blocked content.
|
||||
///
|
||||
PLUGIN_POLICY_DETECT_IMPORTANT,
|
||||
|
||||
///
|
||||
// Block the content. The user can manually load blocked content.
|
||||
///
|
||||
PLUGIN_POLICY_BLOCK,
|
||||
|
||||
///
|
||||
// Disable the content. The user cannot load disabled content.
|
||||
///
|
||||
PLUGIN_POLICY_DISABLE,
|
||||
} cef_plugin_policy_t;
|
||||
|
||||
///
|
||||
// Policy for how the Referrer HTTP header value will be sent during navigation.
|
||||
// If the `--no-referrers` command-line flag is specified then the policy value
|
||||
@@ -3045,8 +3113,14 @@ typedef enum {
|
||||
// pass-through mode).
|
||||
CEF_CHANNEL_LAYOUT_BITSTREAM = 32,
|
||||
|
||||
// Front L, Front R, Front C, LFE, Side L, Side R,
|
||||
// Front Height L, Front Height R, Rear Height L, Rear Height R
|
||||
// Will be represented as six channels (5.1) due to eight channel limit
|
||||
// kMaxConcurrentChannels
|
||||
CEF_CHANNEL_LAYOUT_5_1_4_DOWNMIX = 33,
|
||||
|
||||
// Max value, must always equal the largest entry ever logged.
|
||||
CEF_CHANNEL_LAYOUT_MAX = CEF_CHANNEL_LAYOUT_BITSTREAM
|
||||
CEF_CHANNEL_LAYOUT_MAX = CEF_CHANNEL_LAYOUT_5_1_4_DOWNMIX
|
||||
} cef_channel_layout_t;
|
||||
|
||||
///
|
||||
@@ -3167,6 +3241,138 @@ typedef enum {
|
||||
CEF_SHOW_STATE_FULLSCREEN,
|
||||
} cef_show_state_t;
|
||||
|
||||
///
|
||||
// Values indicating what state of the touch handle is set.
|
||||
///
|
||||
typedef enum {
|
||||
CEF_THS_FLAG_NONE = 0,
|
||||
CEF_THS_FLAG_ENABLED = 1 << 0,
|
||||
CEF_THS_FLAG_ORIENTATION = 1 << 1,
|
||||
CEF_THS_FLAG_ORIGIN = 1 << 2,
|
||||
CEF_THS_FLAG_ALPHA = 1 << 3,
|
||||
} cef_touch_handle_state_flags_t;
|
||||
|
||||
typedef struct _cef_touch_handle_state_t {
|
||||
///
|
||||
// Touch handle id. Increments for each new touch handle.
|
||||
///
|
||||
int touch_handle_id;
|
||||
|
||||
///
|
||||
// Combination of cef_touch_handle_state_flags_t values indicating what state
|
||||
// is set.
|
||||
///
|
||||
uint32 flags;
|
||||
|
||||
///
|
||||
// Enabled state. Only set if |flags| contains CEF_THS_FLAG_ENABLED.
|
||||
///
|
||||
int enabled;
|
||||
|
||||
///
|
||||
// Orientation state. Only set if |flags| contains CEF_THS_FLAG_ORIENTATION.
|
||||
///
|
||||
cef_horizontal_alignment_t orientation;
|
||||
int mirror_vertical;
|
||||
int mirror_horizontal;
|
||||
|
||||
///
|
||||
// Origin state. Only set if |flags| contains CEF_THS_FLAG_ORIGIN.
|
||||
///
|
||||
cef_point_t origin;
|
||||
|
||||
///
|
||||
// Alpha state. Only set if |flags| contains CEF_THS_FLAG_ALPHA.
|
||||
///
|
||||
float alpha;
|
||||
} cef_touch_handle_state_t;
|
||||
|
||||
///
|
||||
// Media access permissions used by OnRequestMediaAccessPermission.
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
// No permission.
|
||||
///
|
||||
CEF_MEDIA_PERMISSION_NONE = 0,
|
||||
|
||||
///
|
||||
// Device audio capture permission.
|
||||
///
|
||||
CEF_MEDIA_PERMISSION_DEVICE_AUDIO_CAPTURE = 1 << 0,
|
||||
|
||||
///
|
||||
// Device video capture permission.
|
||||
///
|
||||
CEF_MEDIA_PERMISSION_DEVICE_VIDEO_CAPTURE = 1 << 1,
|
||||
|
||||
///
|
||||
// Desktop audio capture permission.
|
||||
///
|
||||
CEF_MEDIA_PERMISSION_DESKTOP_AUDIO_CAPTURE = 1 << 2,
|
||||
|
||||
///
|
||||
// Desktop video capture permission.
|
||||
///
|
||||
CEF_MEDIA_PERMISSION_DESKTOP_VIDEO_CAPTURE = 1 << 3,
|
||||
} cef_media_access_permission_types_t;
|
||||
|
||||
///
|
||||
// Permission types used with OnShowPermissionPrompt. Some types are
|
||||
// platform-specific or only supported with the Chrome runtime. Should be kept
|
||||
// in sync with Chromium's permissions::RequestType type.
|
||||
///
|
||||
typedef enum {
|
||||
CEF_PERMISSION_TYPE_NONE = 0,
|
||||
CEF_PERMISSION_TYPE_ACCESSIBILITY_EVENTS = 1 << 0,
|
||||
CEF_PERMISSION_TYPE_AR_SESSION = 1 << 1,
|
||||
CEF_PERMISSION_TYPE_CAMERA_PAN_TILT_ZOOM = 1 << 2,
|
||||
CEF_PERMISSION_TYPE_CAMERA_STREAM = 1 << 3,
|
||||
CEF_PERMISSION_TYPE_CLIPBOARD = 1 << 4,
|
||||
CEF_PERMISSION_TYPE_DISK_QUOTA = 1 << 5,
|
||||
CEF_PERMISSION_TYPE_LOCAL_FONTS = 1 << 6,
|
||||
CEF_PERMISSION_TYPE_GEOLOCATION = 1 << 7,
|
||||
CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 << 8,
|
||||
CEF_PERMISSION_TYPE_MIC_STREAM = 1 << 9,
|
||||
CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 << 10,
|
||||
CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 << 11,
|
||||
CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 << 12,
|
||||
CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 << 13,
|
||||
CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 << 14,
|
||||
CEF_PERMISSION_TYPE_SECURITY_ATTESTATION = 1 << 15,
|
||||
CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 << 16,
|
||||
CEF_PERMISSION_TYPE_U2F_API_REQUEST = 1 << 17,
|
||||
CEF_PERMISSION_TYPE_VR_SESSION = 1 << 18,
|
||||
CEF_PERMISSION_TYPE_WINDOW_PLACEMENT = 1 << 19,
|
||||
} cef_permission_request_types_t;
|
||||
|
||||
///
|
||||
// Permission request results.
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
// Accept the permission request as an explicit user action.
|
||||
///
|
||||
CEF_PERMISSION_RESULT_ACCEPT,
|
||||
|
||||
///
|
||||
// Deny the permission request as an explicit user action.
|
||||
///
|
||||
CEF_PERMISSION_RESULT_DENY,
|
||||
|
||||
///
|
||||
// Dismiss the permission request as an explicit user action.
|
||||
///
|
||||
CEF_PERMISSION_RESULT_DISMISS,
|
||||
|
||||
///
|
||||
// Ignore the permission request. If the prompt remains unhandled (e.g.
|
||||
// OnShowPermissionPrompt returns false and there is no default permissions
|
||||
// UI) then any related promises may remain unresolved.
|
||||
///
|
||||
CEF_PERMISSION_RESULT_IGNORE,
|
||||
} cef_permission_request_result_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@@ -69,7 +69,7 @@ extern "C" {
|
||||
// thread-safe and must only be accessed on the browser process UI thread.
|
||||
///
|
||||
#if defined(CEF_X11)
|
||||
CEF_EXPORT XDisplay* cef_get_xdisplay();
|
||||
CEF_EXPORT XDisplay* cef_get_xdisplay(void);
|
||||
#endif
|
||||
|
||||
///
|
||||
|
@@ -546,7 +546,6 @@ struct CefSettingsTraits {
|
||||
cef_string_clear(&s->locales_dir_path);
|
||||
cef_string_clear(&s->accept_language_list);
|
||||
cef_string_clear(&s->cookieable_schemes_list);
|
||||
cef_string_clear(&s->application_client_id_for_file_scanning);
|
||||
}
|
||||
|
||||
static inline void set(const struct_type* src,
|
||||
@@ -605,10 +604,6 @@ struct CefSettingsTraits {
|
||||
&target->cookieable_schemes_list, copy);
|
||||
target->cookieable_schemes_exclude_defaults =
|
||||
src->cookieable_schemes_exclude_defaults;
|
||||
|
||||
cef_string_set(src->application_client_id_for_file_scanning.str,
|
||||
src->application_client_id_for_file_scanning.length,
|
||||
&target->application_client_id_for_file_scanning, copy);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -704,7 +699,6 @@ struct CefBrowserSettingsTraits {
|
||||
target->javascript_close_windows = src->javascript_close_windows;
|
||||
target->javascript_access_clipboard = src->javascript_access_clipboard;
|
||||
target->javascript_dom_paste = src->javascript_dom_paste;
|
||||
target->plugins = src->plugins;
|
||||
target->image_loading = src->image_loading;
|
||||
target->image_shrink_standalone_to_fit =
|
||||
src->image_shrink_standalone_to_fit;
|
||||
@@ -719,6 +713,8 @@ struct CefBrowserSettingsTraits {
|
||||
cef_string_set(src->accept_language_list.str,
|
||||
src->accept_language_list.length,
|
||||
&target->accept_language_list, copy);
|
||||
|
||||
target->chrome_status_bubble = src->chrome_status_bubble;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -824,6 +820,25 @@ class CefTime : public CefStructBase<CefTimeTraits> {
|
||||
}
|
||||
};
|
||||
|
||||
struct CefTouchHandleStateTraits {
|
||||
typedef cef_touch_handle_state_t struct_type;
|
||||
|
||||
static inline void init(struct_type* s) {}
|
||||
|
||||
static inline void clear(struct_type* s) {}
|
||||
|
||||
static inline void set(const struct_type* src,
|
||||
struct_type* target,
|
||||
bool copy) {
|
||||
*target = *src;
|
||||
}
|
||||
};
|
||||
|
||||
///
|
||||
// Class representing the state of a touch handle.
|
||||
///
|
||||
typedef CefStructBase<CefTouchHandleStateTraits> CefTouchHandleState;
|
||||
|
||||
struct CefCookieTraits {
|
||||
typedef cef_cookie_t struct_type;
|
||||
|
||||
|
@@ -102,6 +102,9 @@ class CefWindowInfo : public CefStructBase<CefWindowInfoTraits> {
|
||||
explicit CefWindowInfo(const cef_window_info_t& r) : parent(r) {}
|
||||
explicit CefWindowInfo(const CefWindowInfo& r) : parent(r) {}
|
||||
|
||||
CefWindowInfo& operator=(const CefWindowInfo&) = default;
|
||||
CefWindowInfo& operator=(CefWindowInfo&&) = default;
|
||||
|
||||
///
|
||||
// Create the browser as a child window.
|
||||
///
|
||||
|
@@ -43,8 +43,10 @@
|
||||
class CefView;
|
||||
|
||||
///
|
||||
// Implement this interface to handle view events. The methods of this class
|
||||
// will be called on the browser process UI thread unless otherwise indicated.
|
||||
// Implement this interface to handle view events. All size and position values
|
||||
// are in density independent pixels (DIP) unless otherwise indicated. The
|
||||
// methods of this class will be called on the browser process UI thread unless
|
||||
// otherwise indicated.
|
||||
///
|
||||
/*--cef(source=client)--*/
|
||||
class CefViewDelegate : public virtual CefBaseRefCounted {
|
||||
|
@@ -63,6 +63,13 @@ class CefWindowDelegate : public CefPanelDelegate {
|
||||
/*--cef()--*/
|
||||
virtual void OnWindowDestroyed(CefRefPtr<CefWindow> window) {}
|
||||
|
||||
///
|
||||
// Called when |window| is activated or deactivated.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void OnWindowActivationChanged(CefRefPtr<CefWindow> window,
|
||||
bool active) {}
|
||||
|
||||
///
|
||||
// Return the parent for |window| or NULL if the |window| does not have a
|
||||
// parent. Windows with parents will not get a taskbar button. Set |is_menu|
|
||||
|
@@ -49,7 +49,7 @@ int cef_load_library(const char* path);
|
||||
// Unload the CEF library that was previously loaded. Returns true (1)
|
||||
// on success and false (0) on failure.
|
||||
///
|
||||
int cef_unload_library();
|
||||
int cef_unload_library(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -78,7 +78,7 @@
|
||||
// with an error code of -1.
|
||||
//
|
||||
// Queries can be either persistent or non-persistent. If the query is
|
||||
// persistent than the callbacks will remain registered until one of the
|
||||
// persistent then the callbacks will remain registered until one of the
|
||||
// following conditions are met:
|
||||
//
|
||||
// A. The query is canceled in JavaScript using the |window.cefQueryCancel|
|
||||
@@ -207,6 +207,10 @@ struct CefMessageRouterConfig {
|
||||
// Name of the JavaScript function that will be added to the 'window' object
|
||||
// for canceling a pending query. The default value is "cefQueryCancel".
|
||||
CefString js_cancel_function;
|
||||
|
||||
// Messages of size (in bytes) larger than this threshold will be sent via
|
||||
// shared memory region.
|
||||
size_t message_size_threshold;
|
||||
};
|
||||
|
||||
///
|
||||
|
@@ -22,6 +22,7 @@
|
||||
#include "base/strings/string_util.h"
|
||||
#include "chrome/browser/font_family_cache.h"
|
||||
#include "chrome/browser/media/media_device_id_salt.h"
|
||||
#include "chrome/browser/permissions/permission_manager_factory.h"
|
||||
#include "chrome/browser/plugins/chrome_plugin_service_filter.h"
|
||||
#include "chrome/browser/profiles/profile_key.h"
|
||||
#include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h"
|
||||
@@ -30,6 +31,7 @@
|
||||
#include "components/keyed_service/content/browser_context_dependency_manager.h"
|
||||
#include "components/keyed_service/core/simple_dependency_manager.h"
|
||||
#include "components/keyed_service/core/simple_key_map.h"
|
||||
#include "components/permissions/permission_manager.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/proxy_config/pref_proxy_config_tracker_impl.h"
|
||||
#include "components/user_prefs/user_prefs.h"
|
||||
@@ -380,7 +382,7 @@ content::SSLHostStateDelegate* AlloyBrowserContext::GetSSLHostStateDelegate() {
|
||||
|
||||
content::PermissionControllerDelegate*
|
||||
AlloyBrowserContext::GetPermissionControllerDelegate() {
|
||||
return nullptr;
|
||||
return PermissionManagerFactory::GetForProfile(this);
|
||||
}
|
||||
|
||||
content::BackgroundFetchDelegate*
|
||||
|
@@ -9,6 +9,7 @@
|
||||
#include <utility>
|
||||
|
||||
#include "libcef/browser/alloy/alloy_browser_context.h"
|
||||
#include "libcef/browser/alloy/browser_platform_delegate_alloy.h"
|
||||
#include "libcef/browser/audio_capturer.h"
|
||||
#include "libcef/browser/browser_context.h"
|
||||
#include "libcef/browser/browser_info.h"
|
||||
@@ -16,8 +17,7 @@
|
||||
#include "libcef/browser/browser_platform_delegate.h"
|
||||
#include "libcef/browser/context.h"
|
||||
#include "libcef/browser/devtools/devtools_manager.h"
|
||||
#include "libcef/browser/media_capture_devices_dispatcher.h"
|
||||
#include "libcef/browser/native/cursor_util.h"
|
||||
#include "libcef/browser/media_access_query.h"
|
||||
#include "libcef/browser/osr/osr_util.h"
|
||||
#include "libcef/browser/request_context_impl.h"
|
||||
#include "libcef/browser/thread_util.h"
|
||||
@@ -32,9 +32,9 @@
|
||||
#include "base/bind.h"
|
||||
#include "base/callback_helpers.h"
|
||||
#include "base/command_line.h"
|
||||
#include "chrome/browser/file_select_helper.h"
|
||||
#include "chrome/browser/picture_in_picture/picture_in_picture_window_manager.h"
|
||||
#include "content/browser/gpu/compositor_util.h"
|
||||
#include "content/browser/renderer_host/render_widget_host_impl.h"
|
||||
#include "content/public/browser/desktop_media_id.h"
|
||||
#include "content/public/browser/file_select_listener.h"
|
||||
#include "content/public/browser/host_zoom_map.h"
|
||||
@@ -46,12 +46,11 @@
|
||||
#include "content/public/browser/render_process_host.h"
|
||||
#include "content/public/browser/render_view_host.h"
|
||||
#include "content/public/browser/render_widget_host.h"
|
||||
#include "content/public/browser/render_widget_host_observer.h"
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "content/public/common/url_constants.h"
|
||||
#include "extensions/common/constants.h"
|
||||
#include "extensions/common/extension.h"
|
||||
#include "net/base/net_errors.h"
|
||||
#include "third_party/blink/public/mojom/widget/platform_widget.mojom-test-utils.h"
|
||||
#include "ui/events/base_event_utils.h"
|
||||
|
||||
using content::KeyboardEventProcessingResult;
|
||||
@@ -85,48 +84,6 @@ void ShowDevToolsWithHelper(ShowDevToolsHelper* helper) {
|
||||
delete helper;
|
||||
}
|
||||
|
||||
class CefWidgetHostInterceptor
|
||||
: public blink::mojom::WidgetHostInterceptorForTesting,
|
||||
public content::RenderWidgetHostObserver {
|
||||
public:
|
||||
CefWidgetHostInterceptor(AlloyBrowserHostImpl* browser,
|
||||
content::RenderViewHost* render_view_host)
|
||||
: browser_(browser),
|
||||
render_widget_host_(
|
||||
content::RenderWidgetHostImpl::From(render_view_host->GetWidget())),
|
||||
impl_(render_widget_host_->widget_host_receiver_for_testing()
|
||||
.SwapImplForTesting(this)) {
|
||||
render_widget_host_->AddObserver(this);
|
||||
}
|
||||
|
||||
CefWidgetHostInterceptor(const CefWidgetHostInterceptor&) = delete;
|
||||
CefWidgetHostInterceptor& operator=(const CefWidgetHostInterceptor&) = delete;
|
||||
|
||||
blink::mojom::WidgetHost* GetForwardingInterface() override { return impl_; }
|
||||
|
||||
// WidgetHostInterceptorForTesting method:
|
||||
void SetCursor(const ui::Cursor& cursor) override {
|
||||
if (cursor_util::OnCursorChange(browser_, cursor)) {
|
||||
// Don't change the cursor.
|
||||
return;
|
||||
}
|
||||
|
||||
GetForwardingInterface()->SetCursor(cursor);
|
||||
}
|
||||
|
||||
// RenderWidgetHostObserver method:
|
||||
void RenderWidgetHostDestroyed(
|
||||
content::RenderWidgetHost* widget_host) override {
|
||||
widget_host->RemoveObserver(this);
|
||||
delete this;
|
||||
}
|
||||
|
||||
private:
|
||||
AlloyBrowserHostImpl* const browser_;
|
||||
content::RenderWidgetHostImpl* const render_widget_host_;
|
||||
blink::mojom::WidgetHost* const impl_;
|
||||
};
|
||||
|
||||
static constexpr base::TimeDelta kRecentlyAudibleTimeout = base::Seconds(2);
|
||||
|
||||
} // namespace
|
||||
@@ -242,7 +199,15 @@ CefRefPtr<AlloyBrowserHostImpl> AlloyBrowserHostImpl::CreateInternal(
|
||||
// Notify that the browser has been created. These must be delivered in the
|
||||
// expected order.
|
||||
|
||||
// 1. Notify the browser's LifeSpanHandler. This must always be the first
|
||||
if (opener && opener->platform_delegate_) {
|
||||
// 1. Notify the opener browser's platform delegate. With Views this will
|
||||
// result in a call to CefBrowserViewDelegate::OnPopupBrowserViewCreated().
|
||||
// Do this first for consistency with the Chrome runtime.
|
||||
opener->platform_delegate_->PopupBrowserCreated(browser.get(),
|
||||
is_devtools_popup);
|
||||
}
|
||||
|
||||
// 2. Notify the browser's LifeSpanHandler. This must always be the first
|
||||
// notification for the browser. Block navigation to avoid issues with focus
|
||||
// changes being sent to an unbound interface.
|
||||
{
|
||||
@@ -250,17 +215,10 @@ CefRefPtr<AlloyBrowserHostImpl> AlloyBrowserHostImpl::CreateInternal(
|
||||
browser->OnAfterCreated();
|
||||
}
|
||||
|
||||
// 2. Notify the platform delegate. With Views this will result in a call to
|
||||
// 3. Notify the platform delegate. With Views this will result in a call to
|
||||
// CefBrowserViewDelegate::OnBrowserCreated().
|
||||
browser->platform_delegate_->NotifyBrowserCreated();
|
||||
|
||||
if (opener && opener->platform_delegate_) {
|
||||
// 3. Notify the opener browser's platform delegate. With Views this will
|
||||
// result in a call to CefBrowserViewDelegate::OnPopupBrowserViewCreated().
|
||||
opener->platform_delegate_->PopupBrowserCreated(browser.get(),
|
||||
is_devtools_popup);
|
||||
}
|
||||
|
||||
return browser;
|
||||
}
|
||||
|
||||
@@ -354,20 +312,6 @@ bool AlloyBrowserHostImpl::TryCloseBrowser() {
|
||||
return true;
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::SetFocus(bool focus) {
|
||||
// Always execute asynchronously to work around issue #3040.
|
||||
CEF_POST_TASK(CEF_UIT, base::BindOnce(&AlloyBrowserHostImpl::SetFocusInternal,
|
||||
this, focus));
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::SetFocusInternal(bool focus) {
|
||||
CEF_REQUIRE_UIT();
|
||||
if (focus)
|
||||
OnSetFocus(FOCUS_SOURCE_SYSTEM);
|
||||
else if (platform_delegate_)
|
||||
platform_delegate_->SetFocus(false);
|
||||
}
|
||||
|
||||
CefWindowHandle AlloyBrowserHostImpl::GetWindowHandle() {
|
||||
if (is_views_hosted_ && CEF_CURRENTLY_ON_UIT()) {
|
||||
// Always return the most up-to-date window handle for a views-hosted
|
||||
@@ -405,27 +349,6 @@ void AlloyBrowserHostImpl::SetZoomLevel(double zoomLevel) {
|
||||
}
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::RunFileDialog(
|
||||
FileDialogMode mode,
|
||||
const CefString& title,
|
||||
const CefString& default_file_path,
|
||||
const std::vector<CefString>& accept_filters,
|
||||
int selected_accept_filter,
|
||||
CefRefPtr<CefRunFileDialogCallback> callback) {
|
||||
if (!CEF_CURRENTLY_ON_UIT()) {
|
||||
CEF_POST_TASK(CEF_UIT,
|
||||
base::BindOnce(&AlloyBrowserHostImpl::RunFileDialog, this,
|
||||
mode, title, default_file_path, accept_filters,
|
||||
selected_accept_filter, callback));
|
||||
return;
|
||||
}
|
||||
|
||||
EnsureFileDialogManager();
|
||||
file_dialog_manager_->RunFileDialog(mode, title, default_file_path,
|
||||
accept_filters, selected_accept_filter,
|
||||
callback);
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::Print() {
|
||||
if (!CEF_CURRENTLY_ON_UIT()) {
|
||||
CEF_POST_TASK(CEF_UIT, base::BindOnce(&AlloyBrowserHostImpl::Print, this));
|
||||
@@ -450,21 +373,19 @@ void AlloyBrowserHostImpl::PrintToPDF(const CefString& path,
|
||||
}
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::Find(int identifier,
|
||||
const CefString& searchText,
|
||||
void AlloyBrowserHostImpl::Find(const CefString& searchText,
|
||||
bool forward,
|
||||
bool matchCase,
|
||||
bool findNext) {
|
||||
if (!CEF_CURRENTLY_ON_UIT()) {
|
||||
CEF_POST_TASK(CEF_UIT,
|
||||
base::BindOnce(&AlloyBrowserHostImpl::Find, this, identifier,
|
||||
searchText, forward, matchCase, findNext));
|
||||
base::BindOnce(&AlloyBrowserHostImpl::Find, this, searchText,
|
||||
forward, matchCase, findNext));
|
||||
return;
|
||||
}
|
||||
|
||||
if (platform_delegate_) {
|
||||
platform_delegate_->Find(identifier, searchText, forward, matchCase,
|
||||
findNext);
|
||||
platform_delegate_->Find(searchText, forward, matchCase, findNext);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -665,20 +586,6 @@ void AlloyBrowserHostImpl::SendCaptureLostEvent() {
|
||||
platform_delegate_->SendCaptureLostEvent();
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::NotifyMoveOrResizeStarted() {
|
||||
#if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_MAC))
|
||||
if (!CEF_CURRENTLY_ON_UIT()) {
|
||||
CEF_POST_TASK(
|
||||
CEF_UIT,
|
||||
base::BindOnce(&AlloyBrowserHostImpl::NotifyMoveOrResizeStarted, this));
|
||||
return;
|
||||
}
|
||||
|
||||
if (platform_delegate_)
|
||||
platform_delegate_->NotifyMoveOrResizeStarted();
|
||||
#endif
|
||||
}
|
||||
|
||||
int AlloyBrowserHostImpl::GetWindowlessFrameRate() {
|
||||
// Verify that this method is being called on the UI thread.
|
||||
if (!CEF_CURRENTLY_ON_UIT()) {
|
||||
@@ -710,6 +617,14 @@ bool AlloyBrowserHostImpl::IsWindowless() const {
|
||||
return is_windowless_;
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::IsVisible() const {
|
||||
CEF_REQUIRE_UIT();
|
||||
if (IsWindowless() && platform_delegate_) {
|
||||
return !platform_delegate_->IsHidden();
|
||||
}
|
||||
return CefBrowserHostBase::IsVisible();
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::IsPictureInPictureSupported() const {
|
||||
// Not currently supported with OSR.
|
||||
return !IsWindowless();
|
||||
@@ -722,6 +637,11 @@ void AlloyBrowserHostImpl::WindowDestroyed() {
|
||||
CloseBrowser(true);
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::WillBeDestroyed() const {
|
||||
CEF_REQUIRE_UIT();
|
||||
return destruction_state_ >= DESTRUCTION_STATE_ACCEPTED;
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::DestroyBrowser() {
|
||||
CEF_REQUIRE_UIT();
|
||||
|
||||
@@ -739,8 +659,6 @@ void AlloyBrowserHostImpl::DestroyBrowser() {
|
||||
OnBeforeClose();
|
||||
|
||||
// Destroy any platform constructs first.
|
||||
if (file_dialog_manager_.get())
|
||||
file_dialog_manager_->Destroy();
|
||||
if (javascript_dialog_manager_.get())
|
||||
javascript_dialog_manager_->Destroy();
|
||||
if (menu_manager_.get())
|
||||
@@ -823,13 +741,6 @@ void AlloyBrowserHostImpl::OnSetFocus(cef_focus_source_t source) {
|
||||
platform_delegate_->SetFocus(true);
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::RunFileChooser(
|
||||
const CefFileDialogRunner::FileChooserParams& params,
|
||||
CefFileDialogRunner::RunFileChooserCallback callback) {
|
||||
EnsureFileDialogManager();
|
||||
file_dialog_manager_->RunFileChooser(params, std::move(callback));
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::EnterFullscreenModeForTab(
|
||||
content::RenderFrameHost* requesting_frame,
|
||||
const blink::mojom::FullscreenOptions& options) {
|
||||
@@ -860,13 +771,21 @@ void AlloyBrowserHostImpl::FindReply(content::WebContents* web_contents,
|
||||
const gfx::Rect& selection_rect,
|
||||
int active_match_ordinal,
|
||||
bool final_update) {
|
||||
if (client_.get()) {
|
||||
CefRefPtr<CefFindHandler> handler = client_->GetFindHandler();
|
||||
if (handler.get()) {
|
||||
CefRect rect(selection_rect.x(), selection_rect.y(),
|
||||
selection_rect.width(), selection_rect.height());
|
||||
handler->OnFindResult(this, request_id, number_of_matches, rect,
|
||||
active_match_ordinal, final_update);
|
||||
auto alloy_delegate =
|
||||
static_cast<CefBrowserPlatformDelegateAlloy*>(platform_delegate());
|
||||
if (alloy_delegate->HandleFindReply(request_id, number_of_matches,
|
||||
selection_rect, active_match_ordinal,
|
||||
final_update)) {
|
||||
if (client_) {
|
||||
if (auto handler = client_->GetFindHandler()) {
|
||||
const auto& details = alloy_delegate->last_search_result();
|
||||
CefRect rect(details.selection_rect().x(), details.selection_rect().y(),
|
||||
details.selection_rect().width(),
|
||||
details.selection_rect().height());
|
||||
handler->OnFindResult(
|
||||
this, details.request_id(), details.number_of_matches(), rect,
|
||||
details.active_match_ordinal(), details.final_update());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1212,10 +1131,11 @@ bool AlloyBrowserHostImpl::TakeFocus(content::WebContents* source,
|
||||
return false;
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::HandleContextMenu(
|
||||
content::RenderFrameHost& render_frame_host,
|
||||
const content::ContextMenuParams& params) {
|
||||
return HandleContextMenu(web_contents(), params);
|
||||
void AlloyBrowserHostImpl::CanDownload(
|
||||
const GURL& url,
|
||||
const std::string& request_method,
|
||||
base::OnceCallback<void(bool)> callback) {
|
||||
contents_delegate_->CanDownload(url, request_method, std::move(callback));
|
||||
}
|
||||
|
||||
KeyboardEventProcessingResult AlloyBrowserHostImpl::PreHandleKeyboardEvent(
|
||||
@@ -1325,9 +1245,8 @@ void AlloyBrowserHostImpl::DidNavigatePrimaryMainFramePostCommit(
|
||||
|
||||
content::JavaScriptDialogManager*
|
||||
AlloyBrowserHostImpl::GetJavaScriptDialogManager(content::WebContents* source) {
|
||||
if (!javascript_dialog_manager_.get() && platform_delegate_) {
|
||||
javascript_dialog_manager_.reset(new CefJavaScriptDialogManager(
|
||||
this, platform_delegate_->CreateJavaScriptDialogRunner()));
|
||||
if (!javascript_dialog_manager_) {
|
||||
javascript_dialog_manager_.reset(new CefJavaScriptDialogManager(this));
|
||||
}
|
||||
return javascript_dialog_manager_.get();
|
||||
}
|
||||
@@ -1336,12 +1255,12 @@ void AlloyBrowserHostImpl::RunFileChooser(
|
||||
content::RenderFrameHost* render_frame_host,
|
||||
scoped_refptr<content::FileSelectListener> listener,
|
||||
const blink::mojom::FileChooserParams& params) {
|
||||
EnsureFileDialogManager();
|
||||
file_dialog_manager_->RunFileChooser(listener, params);
|
||||
// This will eventually call into CefFileDialogManager.
|
||||
FileSelectHelper::RunFileChooser(render_frame_host, std::move(listener),
|
||||
params);
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::HandleContextMenu(
|
||||
content::WebContents* web_contents,
|
||||
bool AlloyBrowserHostImpl::ShowContextMenu(
|
||||
const content::ContextMenuParams& params) {
|
||||
CEF_REQUIRE_UIT();
|
||||
if (!menu_manager_.get() && platform_delegate_) {
|
||||
@@ -1353,7 +1272,7 @@ bool AlloyBrowserHostImpl::HandleContextMenu(
|
||||
|
||||
void AlloyBrowserHostImpl::UpdatePreferredSize(content::WebContents* source,
|
||||
const gfx::Size& pref_size) {
|
||||
#if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_MAC))
|
||||
#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC))
|
||||
CEF_REQUIRE_UIT();
|
||||
if (platform_delegate_)
|
||||
platform_delegate_->SizeTo(pref_size.width(), pref_size.height());
|
||||
@@ -1379,68 +1298,18 @@ void AlloyBrowserHostImpl::RequestMediaAccessPermission(
|
||||
content::WebContents* web_contents,
|
||||
const content::MediaStreamRequest& request,
|
||||
content::MediaResponseCallback callback) {
|
||||
CEF_REQUIRE_UIT();
|
||||
|
||||
blink::MediaStreamDevices devices;
|
||||
|
||||
const base::CommandLine* command_line =
|
||||
base::CommandLine::ForCurrentProcess();
|
||||
if (!command_line->HasSwitch(switches::kEnableMediaStream)) {
|
||||
// Cancel the request.
|
||||
std::move(callback).Run(
|
||||
devices, blink::mojom::MediaStreamRequestResult::PERMISSION_DENIED,
|
||||
std::unique_ptr<content::MediaStreamUI>());
|
||||
return;
|
||||
}
|
||||
|
||||
// Based on chrome/browser/media/media_stream_devices_controller.cc
|
||||
bool microphone_requested =
|
||||
(request.audio_type ==
|
||||
blink::mojom::MediaStreamType::DEVICE_AUDIO_CAPTURE);
|
||||
bool webcam_requested = (request.video_type ==
|
||||
blink::mojom::MediaStreamType::DEVICE_VIDEO_CAPTURE);
|
||||
bool screen_requested =
|
||||
(request.video_type ==
|
||||
blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE);
|
||||
if (microphone_requested || webcam_requested || screen_requested) {
|
||||
// Pick the desired device or fall back to the first available of the
|
||||
// given type.
|
||||
if (microphone_requested) {
|
||||
CefMediaCaptureDevicesDispatcher::GetInstance()->GetRequestedDevice(
|
||||
request.requested_audio_device_id, true, false, &devices);
|
||||
}
|
||||
if (webcam_requested) {
|
||||
CefMediaCaptureDevicesDispatcher::GetInstance()->GetRequestedDevice(
|
||||
request.requested_video_device_id, false, true, &devices);
|
||||
}
|
||||
if (screen_requested) {
|
||||
content::DesktopMediaID media_id;
|
||||
if (request.requested_video_device_id.empty()) {
|
||||
media_id =
|
||||
content::DesktopMediaID(content::DesktopMediaID::TYPE_SCREEN,
|
||||
-1 /* webrtc::kFullDesktopScreenId */);
|
||||
} else {
|
||||
media_id =
|
||||
content::DesktopMediaID::Parse(request.requested_video_device_id);
|
||||
}
|
||||
devices.push_back(blink::MediaStreamDevice(
|
||||
blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE,
|
||||
media_id.ToString(), "Screen"));
|
||||
}
|
||||
}
|
||||
|
||||
std::move(callback).Run(devices, blink::mojom::MediaStreamRequestResult::OK,
|
||||
std::unique_ptr<content::MediaStreamUI>());
|
||||
auto returned_callback = media_access_query::RequestMediaAccessPermission(
|
||||
this, request, std::move(callback), /*default_disallow=*/true);
|
||||
// Callback should not be returned.
|
||||
DCHECK(returned_callback.is_null());
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::CheckMediaAccessPermission(
|
||||
content::RenderFrameHost* render_frame_host,
|
||||
const GURL& security_origin,
|
||||
blink::mojom::MediaStreamType type) {
|
||||
// Check media access permission without prompting the user.
|
||||
const base::CommandLine* command_line =
|
||||
base::CommandLine::ForCurrentProcess();
|
||||
return command_line->HasSwitch(switches::kEnableMediaStream);
|
||||
return media_access_query::CheckMediaAccessPermission(this, render_frame_host,
|
||||
security_origin, type);
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::IsNeverComposited(
|
||||
@@ -1449,15 +1318,13 @@ bool AlloyBrowserHostImpl::IsNeverComposited(
|
||||
}
|
||||
|
||||
content::PictureInPictureResult AlloyBrowserHostImpl::EnterPictureInPicture(
|
||||
content::WebContents* web_contents,
|
||||
const viz::SurfaceId& surface_id,
|
||||
const gfx::Size& natural_size) {
|
||||
content::WebContents* web_contents) {
|
||||
if (!IsPictureInPictureSupported()) {
|
||||
return content::PictureInPictureResult::kNotSupported;
|
||||
}
|
||||
|
||||
return PictureInPictureWindowManager::GetInstance()->EnterPictureInPicture(
|
||||
web_contents, surface_id, natural_size);
|
||||
return PictureInPictureWindowManager::GetInstance()
|
||||
->EnterVideoPictureInPicture(web_contents);
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::ExitPictureInPicture() {
|
||||
@@ -1470,26 +1337,14 @@ bool AlloyBrowserHostImpl::IsBackForwardCacheSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::IsPrerender2Supported() {
|
||||
bool AlloyBrowserHostImpl::IsPrerender2Supported(
|
||||
content::WebContents& web_contents) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// content::WebContentsObserver methods.
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
void AlloyBrowserHostImpl::RenderFrameCreated(
|
||||
content::RenderFrameHost* render_frame_host) {
|
||||
if (render_frame_host->GetParent() == nullptr) {
|
||||
auto render_view_host = render_frame_host->GetRenderViewHost();
|
||||
new CefWidgetHostInterceptor(this, render_view_host);
|
||||
platform_delegate_->RenderViewCreated(render_view_host);
|
||||
}
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::RenderViewReady() {
|
||||
platform_delegate_->RenderViewReady();
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::DidFinishNavigation(
|
||||
content::NavigationHandle* navigation_handle) {
|
||||
if (web_contents()) {
|
||||
@@ -1622,10 +1477,11 @@ bool AlloyBrowserHostImpl::CreateHostWindow() {
|
||||
return success;
|
||||
}
|
||||
|
||||
gfx::Point AlloyBrowserHostImpl::GetScreenPoint(const gfx::Point& view) const {
|
||||
gfx::Point AlloyBrowserHostImpl::GetScreenPoint(const gfx::Point& view,
|
||||
bool want_dip_coords) const {
|
||||
CEF_REQUIRE_UIT();
|
||||
if (platform_delegate_)
|
||||
return platform_delegate_->GetScreenPoint(view);
|
||||
return platform_delegate_->GetScreenPoint(view, want_dip_coords);
|
||||
return gfx::Point();
|
||||
}
|
||||
|
||||
@@ -1647,11 +1503,3 @@ void AlloyBrowserHostImpl::UpdateDragCursor(
|
||||
if (platform_delegate_)
|
||||
platform_delegate_->UpdateDragCursor(operation);
|
||||
}
|
||||
|
||||
void AlloyBrowserHostImpl::EnsureFileDialogManager() {
|
||||
CEF_REQUIRE_UIT();
|
||||
if (!file_dialog_manager_.get() && platform_delegate_) {
|
||||
file_dialog_manager_.reset(new CefFileDialogManager(
|
||||
this, platform_delegate_->CreateFileDialogRunner()));
|
||||
}
|
||||
}
|
||||
|
@@ -16,7 +16,6 @@
|
||||
#include "include/cef_frame.h"
|
||||
#include "libcef/browser/browser_host_base.h"
|
||||
#include "libcef/browser/browser_info.h"
|
||||
#include "libcef/browser/file_dialog_manager.h"
|
||||
#include "libcef/browser/frame_host_impl.h"
|
||||
#include "libcef/browser/javascript_dialog_manager.h"
|
||||
#include "libcef/browser/menu_manager.h"
|
||||
@@ -79,23 +78,15 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
// CefBrowserHost methods.
|
||||
void CloseBrowser(bool force_close) override;
|
||||
bool TryCloseBrowser() override;
|
||||
void SetFocus(bool focus) override;
|
||||
CefWindowHandle GetWindowHandle() override;
|
||||
CefWindowHandle GetOpenerWindowHandle() override;
|
||||
double GetZoomLevel() override;
|
||||
void SetZoomLevel(double zoomLevel) override;
|
||||
void RunFileDialog(FileDialogMode mode,
|
||||
const CefString& title,
|
||||
const CefString& default_file_path,
|
||||
const std::vector<CefString>& accept_filters,
|
||||
int selected_accept_filter,
|
||||
CefRefPtr<CefRunFileDialogCallback> callback) override;
|
||||
void Print() override;
|
||||
void PrintToPDF(const CefString& path,
|
||||
const CefPdfPrintSettings& settings,
|
||||
CefRefPtr<CefPdfPrintCallback> callback) override;
|
||||
void Find(int identifier,
|
||||
const CefString& searchText,
|
||||
void Find(const CefString& searchText,
|
||||
bool forward,
|
||||
bool matchCase,
|
||||
bool findNext) override;
|
||||
@@ -114,7 +105,6 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
void SendExternalBeginFrame() override;
|
||||
void SendTouchEvent(const CefTouchEvent& event) override;
|
||||
void SendCaptureLostEvent() override;
|
||||
void NotifyMoveOrResizeStarted() override;
|
||||
int GetWindowlessFrameRate() override;
|
||||
void SetWindowlessFrameRate(int frame_rate) override;
|
||||
void ImeSetComposition(const CefString& text,
|
||||
@@ -147,12 +137,16 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
// Returns true if windowless rendering is enabled.
|
||||
bool IsWindowless() const override;
|
||||
|
||||
bool IsVisible() const override;
|
||||
|
||||
// Returns true if this browser supports picture-in-picture.
|
||||
bool IsPictureInPictureSupported() const;
|
||||
|
||||
// Called when the OS window hosting the browser is destroyed.
|
||||
void WindowDestroyed() override;
|
||||
|
||||
bool WillBeDestroyed() const override;
|
||||
|
||||
// Destroy the browser members. This method should only be called after the
|
||||
// native browser window is not longer processing messages.
|
||||
void DestroyBrowser() override;
|
||||
@@ -164,9 +158,10 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
bool is_guest_view,
|
||||
const content::OpenURLParams& params) override;
|
||||
|
||||
// Convert from view coordinates to screen coordinates. Potential display
|
||||
// scaling will be applied to the result.
|
||||
gfx::Point GetScreenPoint(const gfx::Point& view) const;
|
||||
// Convert from view DIP coordinates to screen coordinates. If
|
||||
// |want_dip_coords| is true return DIP instead of device (pixel) coordinates
|
||||
// on Windows/Linux.
|
||||
gfx::Point GetScreenPoint(const gfx::Point& view, bool want_dip_coords) const;
|
||||
|
||||
void StartDragging(const content::DropData& drop_data,
|
||||
blink::DragOperationsMask allowed_ops,
|
||||
@@ -181,14 +176,7 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
|
||||
void OnSetFocus(cef_focus_source_t source) override;
|
||||
|
||||
// Run the file chooser dialog specified by |params|. Only a single dialog may
|
||||
// be pending at any given time. |callback| will be executed asynchronously
|
||||
// after the dialog is dismissed or if another dialog is already pending.
|
||||
void RunFileChooser(const CefFileDialogRunner::FileChooserParams& params,
|
||||
CefFileDialogRunner::RunFileChooserCallback callback);
|
||||
|
||||
bool HandleContextMenu(content::WebContents* web_contents,
|
||||
const content::ContextMenuParams& params);
|
||||
bool ShowContextMenu(const content::ContextMenuParams& params);
|
||||
|
||||
enum DestructionState {
|
||||
DESTRUCTION_STATE_NONE = 0,
|
||||
@@ -224,8 +212,9 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
bool proceed,
|
||||
bool* proceed_to_fire_unload) override;
|
||||
bool TakeFocus(content::WebContents* source, bool reverse) override;
|
||||
bool HandleContextMenu(content::RenderFrameHost& render_frame_host,
|
||||
const content::ContextMenuParams& params) override;
|
||||
void CanDownload(const GURL& url,
|
||||
const std::string& request_method,
|
||||
base::OnceCallback<void(bool)> callback) override;
|
||||
content::KeyboardEventProcessingResult PreHandleKeyboardEvent(
|
||||
content::WebContents* source,
|
||||
const content::NativeWebKeyboardEvent& event) override;
|
||||
@@ -284,17 +273,13 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
blink::mojom::MediaStreamType type) override;
|
||||
bool IsNeverComposited(content::WebContents* web_contents) override;
|
||||
content::PictureInPictureResult EnterPictureInPicture(
|
||||
content::WebContents* web_contents,
|
||||
const viz::SurfaceId& surface_id,
|
||||
const gfx::Size& natural_size) override;
|
||||
content::WebContents* web_contents) override;
|
||||
void ExitPictureInPicture() override;
|
||||
bool IsBackForwardCacheSupported() override;
|
||||
bool IsPrerender2Supported() override;
|
||||
bool IsPrerender2Supported(content::WebContents& web_contents) override;
|
||||
|
||||
// content::WebContentsObserver methods.
|
||||
using content::WebContentsObserver::BeforeUnloadFired;
|
||||
void RenderFrameCreated(content::RenderFrameHost* render_frame_host) override;
|
||||
void RenderViewReady() override;
|
||||
void DidFinishNavigation(
|
||||
content::NavigationHandle* navigation_handle) override;
|
||||
void OnAudioStateChanged(bool audible) override;
|
||||
@@ -333,14 +318,9 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
// Give the platform delegate an opportunity to create the host window.
|
||||
bool CreateHostWindow();
|
||||
|
||||
// Create the CefFileDialogManager if it doesn't already exist.
|
||||
void EnsureFileDialogManager();
|
||||
|
||||
void StartAudioCapturer();
|
||||
void OnRecentlyAudibleTimerFired();
|
||||
|
||||
void SetFocusInternal(bool focus);
|
||||
|
||||
CefWindowHandle opener_;
|
||||
const bool is_windowless_;
|
||||
CefWindowHandle host_window_handle_ = kNullWindowHandle;
|
||||
@@ -355,9 +335,6 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
|
||||
// on the UI thread.
|
||||
bool window_destroyed_ = false;
|
||||
|
||||
// Used for creating and managing file dialogs.
|
||||
std::unique_ptr<CefFileDialogManager> file_dialog_manager_;
|
||||
|
||||
// Used for creating and managing JavaScript dialogs.
|
||||
std::unique_ptr<CefJavaScriptDialogManager> javascript_dialog_manager_;
|
||||
|
||||
|
@@ -8,26 +8,30 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "libcef/browser/alloy/dialogs/alloy_constrained_window_views_client.h"
|
||||
#include "libcef/browser/browser_context.h"
|
||||
#include "libcef/browser/browser_context_keyed_service_factories.h"
|
||||
#include "libcef/browser/context.h"
|
||||
#include "libcef/browser/devtools/devtools_manager_delegate.h"
|
||||
#include "libcef/browser/extensions/extension_system_factory.h"
|
||||
#include "libcef/browser/file_dialog_runner.h"
|
||||
#include "libcef/browser/net/chrome_scheme_handler.h"
|
||||
#include "libcef/browser/printing/constrained_window_views_client.h"
|
||||
#include "libcef/browser/permission_prompt.h"
|
||||
#include "libcef/browser/thread_util.h"
|
||||
#include "libcef/common/app_manager.h"
|
||||
#include "libcef/common/extensions/extensions_util.h"
|
||||
#include "libcef/common/net/net_resource_provider.h"
|
||||
|
||||
#include "base/bind.h"
|
||||
#include "base/feature_list.h"
|
||||
#include "base/strings/string_number_conversions.h"
|
||||
#include "base/task/post_task.h"
|
||||
#include "base/task/thread_pool.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "chrome/browser/media/router/chrome_media_router_factory.h"
|
||||
#include "chrome/browser/net/system_network_context_manager.h"
|
||||
#include "chrome/browser/plugins/plugin_finder.h"
|
||||
#include "chrome/browser/ui/javascript_dialogs/chrome_javascript_app_modal_dialog_view_factory.h"
|
||||
#include "chrome/browser/ui/ui_features.h"
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
#include "components/constrained_window/constrained_window_views.h"
|
||||
#include "content/public/browser/gpu_data_manager.h"
|
||||
@@ -39,7 +43,7 @@
|
||||
#include "third_party/widevine/cdm/buildflags.h"
|
||||
#include "ui/base/resource/resource_bundle.h"
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
#include "ui/ozone/buildflags.h"
|
||||
#if defined(USE_AURA) && BUILDFLAG(OZONE_PLATFORM_X11)
|
||||
#include "ui/events/devices/x11/touch_factory_x11.h"
|
||||
@@ -48,34 +52,49 @@
|
||||
|
||||
#if defined(USE_AURA)
|
||||
#include "ui/aura/env.h"
|
||||
#include "ui/display/screen.h"
|
||||
#include "ui/views/widget/desktop_aura/desktop_screen.h"
|
||||
#include "ui/wm/core/wm_state.h"
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
#include "base/enterprise_util.h"
|
||||
#include "chrome/browser/chrome_browser_main_win.h"
|
||||
#include "chrome/browser/win/parental_controls.h"
|
||||
#include "components/os_crypt/os_crypt.h"
|
||||
#endif
|
||||
#endif // defined(USE_AURA)
|
||||
|
||||
#if defined(TOOLKIT_VIEWS)
|
||||
#if defined(OS_MAC)
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
#include "chrome/browser/ui/views/chrome_layout_provider.h"
|
||||
#include "chrome/browser/ui/views/chrome_views_delegate.h"
|
||||
#else
|
||||
#include "ui/views/test/desktop_test_views_delegate.h"
|
||||
#endif
|
||||
#endif // defined(TOOLKIT_VIEWS)
|
||||
|
||||
#if defined(USE_AURA) && defined(OS_LINUX)
|
||||
#if defined(USE_AURA) && BUILDFLAG(IS_LINUX)
|
||||
#include "ui/base/ime/init/input_method_initializer.h"
|
||||
#endif
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
#include "libcef/browser/printing/print_dialog_linux.h"
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
|
||||
#include "components/os_crypt/os_crypt.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
#include "base/path_service.h"
|
||||
#include "chrome/browser/themes/theme_service_aura_linux.h"
|
||||
#include "chrome/browser/ui/views/theme_profile_key.h"
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
#include "chrome/grit/chromium_strings.h"
|
||||
#include "components/os_crypt/key_storage_config_linux.h"
|
||||
#include "libcef/browser/printing/print_dialog_linux.h"
|
||||
#include "ui/base/cursor/cursor_factory.h"
|
||||
#include "ui/base/ime/input_method.h"
|
||||
#include "ui/base/ime/linux/fake_input_method_context_factory.h"
|
||||
#include "ui/base/l10n/l10n_util.h"
|
||||
#include "ui/base/linux/linux_ui_delegate.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
#include "ui/views/linux_ui/linux_ui.h"
|
||||
#include "ui/views/linux_ui/linux_ui_factory.h"
|
||||
#endif // BUILDFLAG(IS_LINUX)
|
||||
|
||||
#if BUILDFLAG(ENABLE_MEDIA_FOUNDATION_WIDEVINE_CDM)
|
||||
#include "chrome/browser/component_updater/media_foundation_widevine_cdm_component_installer.h"
|
||||
#endif
|
||||
@@ -84,50 +103,113 @@
|
||||
#include "chrome/browser/component_updater/widevine_cdm_component_installer.h"
|
||||
#endif
|
||||
|
||||
AlloyBrowserMainParts::AlloyBrowserMainParts(
|
||||
content::MainFunctionParams parameters)
|
||||
: BrowserMainParts(), parameters_(std::move(parameters)) {}
|
||||
namespace {
|
||||
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
|
||||
std::unique_ptr<views::LinuxUI> BuildLinuxUI() {
|
||||
// We can't use GtkUi in combination with multi-threaded-message-loop because
|
||||
// Chromium's GTK implementation doesn't use GDK threads.
|
||||
if (!!CefContext::Get()->settings().multi_threaded_message_loop)
|
||||
return nullptr;
|
||||
|
||||
// If the ozone backend hasn't provided a LinuxUiDelegate, don't try to create
|
||||
// a LinuxUi instance as this may result in a crash in toolkit initialization.
|
||||
if (!ui::LinuxUiDelegate::GetInstance())
|
||||
return nullptr;
|
||||
|
||||
return CreateLinuxUi();
|
||||
}
|
||||
|
||||
// Based on chrome_browser_main_extra_parts_views_linux.cc
|
||||
void ToolkitInitializedLinux() {
|
||||
if (auto linux_ui = BuildLinuxUI()) {
|
||||
linux_ui->SetUseSystemThemeCallback(
|
||||
base::BindRepeating([](aura::Window* window) {
|
||||
if (!window)
|
||||
return true;
|
||||
return ThemeServiceAuraLinux::ShouldUseSystemThemeForProfile(
|
||||
GetThemeProfileForWindow(window));
|
||||
}));
|
||||
|
||||
views::LinuxUI::SetInstance(std::move(linux_ui));
|
||||
|
||||
// Cursor theme changes are tracked by LinuxUI (via a CursorThemeManager
|
||||
// implementation). Start observing them once it's initialized.
|
||||
ui::CursorFactory::GetInstance()->ObserveThemeChanges();
|
||||
} else {
|
||||
// In case if the toolkit is not used, input method factory won't be set for
|
||||
// X11 and Ozone/X11. Set a fake one instead to avoid crashing browser
|
||||
// later.
|
||||
DCHECK(!ui::LinuxInputMethodContextFactory::instance());
|
||||
// Try to create input method through Ozone so that the backend has a chance
|
||||
// to set factory by itself.
|
||||
ui::OzonePlatform::GetInstance()->CreateInputMethod(
|
||||
nullptr, gfx::kNullAcceleratedWidget);
|
||||
}
|
||||
// If factory is not set, set a fake instance.
|
||||
if (!ui::LinuxInputMethodContextFactory::instance()) {
|
||||
ui::LinuxInputMethodContextFactory::SetInstance(
|
||||
new ui::FakeInputMethodContextFactory());
|
||||
}
|
||||
|
||||
auto create_print_dialog_func =
|
||||
printing::PrintingContextLinux::SetCreatePrintDialogFunction(
|
||||
&CefPrintDialogLinux::CreatePrintDialog);
|
||||
auto pdf_paper_size_func =
|
||||
printing::PrintingContextLinux::SetPdfPaperSizeFunction(
|
||||
&CefPrintDialogLinux::GetPdfPaperSize);
|
||||
CefPrintDialogLinux::SetDefaultPrintingContextFuncs(create_print_dialog_func,
|
||||
pdf_paper_size_func);
|
||||
}
|
||||
|
||||
#endif // BUILDFLAG(IS_LINUX)
|
||||
|
||||
} // namespace
|
||||
|
||||
AlloyBrowserMainParts::AlloyBrowserMainParts() = default;
|
||||
|
||||
AlloyBrowserMainParts::~AlloyBrowserMainParts() {
|
||||
constrained_window::SetConstrainedWindowViewsClient(nullptr);
|
||||
}
|
||||
|
||||
int AlloyBrowserMainParts::PreEarlyInitialization() {
|
||||
#if defined(USE_AURA) && defined(OS_LINUX)
|
||||
// TODO(linux): Consider using a real input method or
|
||||
// views::LinuxUI::SetInstance.
|
||||
ui::InitializeInputMethodForTesting();
|
||||
#endif
|
||||
|
||||
return content::RESULT_CODE_NORMAL_EXIT;
|
||||
}
|
||||
|
||||
void AlloyBrowserMainParts::ToolkitInitialized() {
|
||||
SetConstrainedWindowViewsClient(CreateCefConstrainedWindowViewsClient());
|
||||
SetConstrainedWindowViewsClient(CreateAlloyConstrainedWindowViewsClient());
|
||||
#if defined(USE_AURA)
|
||||
CHECK(aura::Env::GetInstance());
|
||||
|
||||
wm_state_.reset(new wm::WMState);
|
||||
#endif // defined(USE_AURA)
|
||||
|
||||
#if defined(TOOLKIT_VIEWS)
|
||||
#if defined(OS_MAC)
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
views_delegate_ = std::make_unique<ChromeViewsDelegate>();
|
||||
layout_provider_ = ChromeLayoutProvider::CreateLayoutProvider();
|
||||
#else
|
||||
views_delegate_ = std::make_unique<views::DesktopTestViewsDelegate>();
|
||||
#endif
|
||||
#endif // defined(TOOLKIT_VIEWS)
|
||||
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
ToolkitInitializedLinux();
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
if (base::FeatureList::IsEnabled(features::kViewsJSAppModalDialog))
|
||||
InstallChromeJavaScriptAppModalDialogViewFactory();
|
||||
else
|
||||
InstallChromeJavaScriptAppModalDialogViewCocoaFactory();
|
||||
#else
|
||||
InstallChromeJavaScriptAppModalDialogViewFactory();
|
||||
#endif
|
||||
}
|
||||
|
||||
void AlloyBrowserMainParts::PreCreateMainMessageLoop() {
|
||||
#if defined(OS_LINUX)
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
#if defined(USE_AURA) && BUILDFLAG(OZONE_PLATFORM_X11)
|
||||
ui::TouchFactory::SetTouchDeviceListFromCommandLine();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Initialize the OSCrypt.
|
||||
PrefService* local_state = g_browser_process->local_state();
|
||||
DCHECK(local_state);
|
||||
@@ -137,22 +219,39 @@ void AlloyBrowserMainParts::PreCreateMainMessageLoop() {
|
||||
// installer_util references strings that are normally compiled into
|
||||
// setup.exe. In Chrome, these strings are in the locale files.
|
||||
ChromeBrowserMainPartsWin::SetupInstallerUtilStrings();
|
||||
#endif // defined(OS_WIN)
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
media_router::ChromeMediaRouterFactory::DoPlatformInit();
|
||||
}
|
||||
|
||||
void AlloyBrowserMainParts::PostCreateMainMessageLoop() {
|
||||
#if defined(OS_LINUX)
|
||||
printing::PrintingContextLinux::SetCreatePrintDialogFunction(
|
||||
&CefPrintDialogLinux::CreatePrintDialog);
|
||||
printing::PrintingContextLinux::SetPdfPaperSizeFunction(
|
||||
&CefPrintDialogLinux::GetPdfPaperSize);
|
||||
#endif
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
const base::CommandLine* command_line =
|
||||
base::CommandLine::ForCurrentProcess();
|
||||
|
||||
// Set up crypt config. This needs to be done before anything starts the
|
||||
// network service, as the raw encryption key needs to be shared with the
|
||||
// network service for encrypted cookie storage.
|
||||
// Based on ChromeBrowserMainPartsLinux::PostCreateMainMessageLoop.
|
||||
std::unique_ptr<os_crypt::Config> config =
|
||||
std::make_unique<os_crypt::Config>();
|
||||
// Forward to os_crypt the flag to use a specific password store.
|
||||
config->store = command_line->GetSwitchValueASCII(switches::kPasswordStore);
|
||||
// Forward the product name (defaults to "Chromium").
|
||||
config->product_name = l10n_util::GetStringUTF8(IDS_PRODUCT_NAME);
|
||||
// OSCrypt may target keyring, which requires calls from the main thread.
|
||||
config->main_thread_runner = content::GetUIThreadTaskRunner({});
|
||||
// OSCrypt can be disabled in a special settings file.
|
||||
config->should_use_preference =
|
||||
command_line->HasSwitch(switches::kEnableEncryptionSelection);
|
||||
base::PathService::Get(chrome::DIR_USER_DATA, &config->user_data_path);
|
||||
DCHECK(!config->user_data_path.empty());
|
||||
OSCrypt::SetConfig(std::move(config));
|
||||
#endif // BUILDFLAG(IS_LINUX)
|
||||
}
|
||||
|
||||
int AlloyBrowserMainParts::PreCreateThreads() {
|
||||
#if defined(OS_WIN)
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
PlatformInitialize();
|
||||
#endif
|
||||
|
||||
@@ -169,7 +268,9 @@ int AlloyBrowserMainParts::PreCreateThreads() {
|
||||
int AlloyBrowserMainParts::PreMainMessageLoopRun() {
|
||||
#if defined(USE_AURA)
|
||||
screen_ = views::CreateDesktopScreen();
|
||||
display::Screen::SetScreenInstance(screen_.get());
|
||||
#endif
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
screen_ = std::make_unique<display::ScopedNativeScreen>();
|
||||
#endif
|
||||
|
||||
if (extensions::ExtensionsEnabled()) {
|
||||
@@ -205,16 +306,24 @@ int AlloyBrowserMainParts::PreMainMessageLoopRun() {
|
||||
|
||||
CefDevToolsManagerDelegate::StartHttpHandler(browser_context);
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Windows parental controls calls can be slow, so we do an early init here
|
||||
// that calculates this value off of the UI thread.
|
||||
InitializeWinParentalControls();
|
||||
#endif
|
||||
|
||||
// These methods may call LoadLibrary and could trigger
|
||||
// AssertBlockingAllowed() failures if executed at a later time on the UI
|
||||
// thread.
|
||||
base::IsManagedDevice();
|
||||
base::IsEnterpriseDevice();
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
// Triggers initialization of the singleton instance on UI thread.
|
||||
PluginFinder::GetInstance()->Init();
|
||||
PluginFinder::GetInstance();
|
||||
|
||||
scheme::RegisterWebUIControllerFactory();
|
||||
file_dialog_runner::RegisterFactory();
|
||||
permission_prompt::RegisterCreateCallback();
|
||||
|
||||
#if BUILDFLAG(ENABLE_MEDIA_FOUNDATION_WIDEVINE_CDM) || \
|
||||
BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
|
||||
@@ -247,10 +356,8 @@ void AlloyBrowserMainParts::PostMainMessageLoopRun() {
|
||||
}
|
||||
|
||||
void AlloyBrowserMainParts::PostDestroyThreads() {
|
||||
#if defined(TOOLKIT_VIEWS)
|
||||
views_delegate_.reset();
|
||||
#if defined(OS_MAC)
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
layout_provider_.reset();
|
||||
#endif
|
||||
#endif // defined(TOOLKIT_VIEWS)
|
||||
}
|
||||
|
@@ -13,38 +13,32 @@
|
||||
#include "build/build_config.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "content/public/browser/browser_main_parts.h"
|
||||
#include "content/public/common/main_function_params.h"
|
||||
#include "ui/display/screen.h"
|
||||
|
||||
#if defined(USE_AURA)
|
||||
namespace display {
|
||||
class Screen;
|
||||
}
|
||||
namespace wm {
|
||||
class WMState;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(TOOLKIT_VIEWS)
|
||||
namespace views {
|
||||
class ViewsDelegate;
|
||||
#if defined(OS_MAC)
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
class LayoutProvider;
|
||||
#endif
|
||||
} // namespace views
|
||||
#endif // defined(TOOLKIT_VIEWS)
|
||||
|
||||
class CefDevToolsDelegate;
|
||||
|
||||
class AlloyBrowserMainParts : public content::BrowserMainParts {
|
||||
public:
|
||||
explicit AlloyBrowserMainParts(content::MainFunctionParams parameters);
|
||||
AlloyBrowserMainParts();
|
||||
|
||||
AlloyBrowserMainParts(const AlloyBrowserMainParts&) = delete;
|
||||
AlloyBrowserMainParts& operator=(const AlloyBrowserMainParts&) = delete;
|
||||
|
||||
~AlloyBrowserMainParts() override;
|
||||
|
||||
int PreEarlyInitialization() override;
|
||||
void ToolkitInitialized() override;
|
||||
void PreCreateMainMessageLoop() override;
|
||||
void PostCreateMainMessageLoop() override;
|
||||
@@ -70,11 +64,9 @@ class AlloyBrowserMainParts : public content::BrowserMainParts {
|
||||
}
|
||||
|
||||
private:
|
||||
#if defined(OS_WIN)
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
void PlatformInitialize();
|
||||
#endif // defined(OS_WIN)
|
||||
|
||||
content::MainFunctionParams parameters_;
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
CefRefPtr<CefRequestContextImpl> global_request_context_;
|
||||
CefDevToolsDelegate* devtools_delegate_ = nullptr; // Deletes itself.
|
||||
@@ -92,12 +84,11 @@ class AlloyBrowserMainParts : public content::BrowserMainParts {
|
||||
std::unique_ptr<wm::WMState> wm_state_;
|
||||
#endif
|
||||
|
||||
#if defined(TOOLKIT_VIEWS)
|
||||
std::unique_ptr<views::ViewsDelegate> views_delegate_;
|
||||
#if defined(OS_MAC)
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
std::unique_ptr<display::ScopedNativeScreen> screen_;
|
||||
std::unique_ptr<views::LayoutProvider> layout_provider_;
|
||||
#endif
|
||||
#endif // defined(TOOLKIT_VIEWS)
|
||||
};
|
||||
|
||||
#endif // CEF_LIBCEF_BROWSER_ALLOY_ALLOY_BROWSER_MAIN_H_
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user