cef/libcef/browser
Marshall Greenblatt 3000bc8748 chrome: win/linux: Add support for browser with native parent (see issue #3294)
This change adds Chrome runtime support on Windows and Linux for creating a
browser parented to a native window supplied by the client application.
Expected API usage and window behavior is similar to what already exists with
the Alloy runtime. The parent window handle should be specified by using
CefWindowInfo::SetAsChild in combination with the CefBrowserHost::CreateBrowser
and CefLifeSpanHandler::OnBeforePopup callbacks.

The previously existing behavior of creating a fully-featured Chrome browser
window when empty CefWindowInfo is used with CreateBrowser remains unchanged
and Views is still the preferred API for creating top-level Chrome windows
with custom styling (e.g. title bar only, frameless, etc).

The cefclient Popup Window test with a native parent window continues to crash
on Linux with both the Alloy and Chrome runtimes (see issue #3165).

Also adds Chrome runtime support for CefDisplayHandler::OnCursorChange.

To test:
- Run `cefclient --enable-chrome-runtime [--use-views]` for the default (and
  previously existing) Views-based behavior.
- Run `cefclient --enable-chrome-runtime --use-native` for the new native
  parent window behavior.
- Run `cefclient --enable-chrome-runtime --use-native --no-activate` and the
  window will not be activated (take input focus) on launch (Windows only).
- Run `cefclient --enable-chrome-runtime [--use-views|--use-native]
  --mouse-cursor-change-disabled` and the mouse cursor will not change on
  mouseover of DOM elements.
2022-04-12 11:49:26 -04:00
..
alloy chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
chrome chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
devtools chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
extensions chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
gpu Convert defined(OS_XXX) to BUILDFLAG(IS_XXX) in libcef 2022-01-24 12:58:04 -05:00
media_router Update to Chromium version 99.0.4844.0 (#961656) 2022-01-26 21:10:29 -05:00
native chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
net Update to Chromium version 101.0.4951.0 (#982481) 2022-03-30 19:54:09 -04:00
net_service Update to Chromium version 101.0.4951.0 (#982481) 2022-03-30 19:54:09 -04:00
osr Update to Chromium version 101.0.4951.0 (#982481) 2022-03-30 19:54:09 -04:00
prefs Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
printing Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
views chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
audio_capturer.cc Update to Chromium version 93.0.4577.0 (#902210) 2021-07-27 19:03:09 -04:00
audio_capturer.h Update to Chromium version 93.0.4577.0 (#902210) 2021-07-27 19:03:09 -04:00
audio_loopback_stream_creator.cc Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
audio_loopback_stream_creator.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
browser_contents_delegate.cc chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
browser_contents_delegate.h Add permission callback for user-initated downloads (fixes issue #3183) 2022-03-22 17:46:44 -04:00
browser_context.cc Fix possible use after shutdown of BrowserContext (fixes issue #3193) 2022-01-10 17:21:07 -05:00
browser_context.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
browser_context_keyed_service_factories.cc Update to Chromium version 87.0.4280.0 (#812852) 2020-10-15 14:21:06 -04:00
browser_context_keyed_service_factories.h Initialize required KeyedServiceFactories when extensions are disabled (issue #2359) 2018-02-02 17:44:08 -05:00
browser_frame.cc Support reconnect of the mojo frame channel (fixes issue #3260) 2022-02-14 20:31:04 -05:00
browser_frame.h Support reconnect of the mojo frame channel (fixes issue #3260) 2022-02-14 20:31:04 -05:00
browser_host_base.cc chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
browser_host_base.h chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
browser_host_create.cc chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
browser_info.cc chrome: Update expectations with same-site BFCache enabled (fixes issue #3301) 2022-04-05 15:30:30 -04:00
browser_info.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
browser_info_manager.cc chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
browser_info_manager.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
browser_manager.cc Remove usage of FrameTreeNode IDs (see issue #2421) 2021-08-19 19:41:44 -04:00
browser_manager.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
browser_message_loop.cc Update to Chromium version 101.0.4951.0 (#982481) 2022-03-30 19:54:09 -04:00
browser_message_loop.h Refactor process execution logic (see issue #2969) 2020-06-29 16:17:13 -04:00
browser_platform_delegate.cc chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
browser_platform_delegate.h alloy: Implement Find() using find_in_page::FindTabHelper (fixes issue #3098, see issue #3047) 2022-02-17 13:59:25 -05:00
browser_platform_delegate_create.cc chrome: win/linux: Add support for browser with native parent (see issue #3294) 2022-04-12 11:49:26 -04:00
browser_util.cc Translate additional CEF modifiers to EF_* flags (see issue #2597) 2021-07-19 15:52:36 +00:00
browser_util.h Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00
chrome_crash_reporter_client_stub.cc Convert defined(OS_XXX) to BUILDFLAG(IS_XXX) in libcef 2022-01-24 12:58:04 -05:00
context.cc Convert defined(OS_XXX) to BUILDFLAG(IS_XXX) in libcef 2022-01-24 12:58:04 -05:00
context.h Rename CefBrowserHostImpl to AlloyBrowserHostImpl (see issue #2969) 2020-09-22 17:36:06 -04:00
context_menu_params_impl.cc Update to Chromium version 91.0.4472.0 (#870763) 2021-04-23 11:38:51 -04:00
context_menu_params_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
download_item_impl.cc libcef: Convert NULL to nullptr (see issue #2861) 2020-01-15 14:49:22 +01:00
download_item_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
download_manager_delegate.cc Update to Chromium version 101.0.4951.0 (#982481) 2022-03-30 19:54:09 -04:00
download_manager_delegate.h Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
extension_impl.cc Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
extension_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
file_dialog_manager.cc Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
file_dialog_manager.h Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
file_dialog_runner.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
frame_host_impl.cc Fix dismissal of select popups on NotifyMoveOrResizeStarted (see issue #3294) 2022-04-11 13:11:08 -04:00
frame_host_impl.h Fix dismissal of select popups on NotifyMoveOrResizeStarted (see issue #3294) 2022-04-11 13:11:08 -04:00
frame_service_base.h Convert defined(OS_XXX) to BUILDFLAG(IS_XXX) in libcef 2022-01-24 12:58:04 -05:00
image_impl.cc Update to Chromium version 101.0.4951.0 (#982481) 2022-03-30 19:54:09 -04:00
image_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
iothread_state.cc Remove usage of FrameTreeNode IDs (see issue #2421) 2021-08-19 19:41:44 -04:00
iothread_state.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
javascript_dialog_manager.cc Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
javascript_dialog_manager.h Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
javascript_dialog_runner.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
main_runner.cc Linux: Migrate from breakpad to crashpad (see issue #3249) 2022-03-17 15:34:49 -04:00
main_runner.h Update to Chromium version 98.0.4758.0 (#950365) 2021-12-18 15:57:34 -05:00
media_capture_devices_dispatcher.cc libcef: Convert NULL to nullptr (see issue #2861) 2020-01-15 14:49:22 +01:00
media_capture_devices_dispatcher.h Update to Chromium version 77.0.3865.0 (#681094) 2019-09-04 15:13:32 +00:00
menu_manager.cc Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
menu_manager.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
menu_model_impl.cc Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
menu_model_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
menu_runner.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
navigation_entry_impl.cc libcef: Convert NULL to nullptr (see issue #2861) 2020-01-15 14:49:22 +01:00
navigation_entry_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
origin_whitelist_impl.cc Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
origin_whitelist_impl.h Update to Chromium version 92.0.4515.0 (#885287) 2021-06-10 16:42:44 -04:00
path_util_impl.cc Convert defined(OS_XXX) to BUILDFLAG(IS_XXX) in libcef 2022-01-24 12:58:04 -05:00
print_settings_impl.cc Convert legacy IPC messages to Mojo (fixes issue #3123) 2021-05-18 21:59:48 -04:00
print_settings_impl.h Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
process_util_impl.cc Update to Chromium version 85.0.4183.0 (#782793) 2020-07-16 19:11:12 -04:00
request_context_handler_map.cc Remove usage of FrameTreeNode IDs (see issue #2421) 2021-08-19 19:41:44 -04:00
request_context_handler_map.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
request_context_impl.cc Update to Chromium version 99.0.4844.0 (#961656) 2022-01-26 21:10:29 -05:00
request_context_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
scheme_impl.cc Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00
server_impl.cc Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
server_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
simple_menu_model_impl.cc Update to Chromium version 92.0.4515.0 (#885287) 2021-06-10 16:42:44 -04:00
simple_menu_model_impl.h Update to Chromium version 101.0.4951.0 (#982481) 2022-03-30 19:54:09 -04:00
speech_recognition_manager_delegate.cc Update to Chromium version 78.0.3904.0 (#693954) 2019-10-01 13:55:16 +00:00
speech_recognition_manager_delegate.h Update to Chromium version 100.0.4896.0 (#972766) 2022-02-22 19:22:39 -05:00
ssl_host_state_delegate.cc Update to Chromium version 95.0.4638.0 (#920003) 2021-09-22 12:08:24 +03:00
ssl_host_state_delegate.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
ssl_info_impl.cc Update to Chromium version 78.0.3904.0 (#693954) 2019-10-01 13:55:16 +00:00
ssl_info_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
ssl_status_impl.cc Add callback for custom certificate selection (issue #1824) 2016-10-27 14:04:48 -04:00
ssl_status_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
stream_impl.cc Convert defined(OS_XXX) to BUILDFLAG(IS_XXX) in libcef 2022-01-24 12:58:04 -05:00
stream_impl.h Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00
thread_util.h Update to Chromium version 96.0.4664.0 (#929512) 2021-10-21 15:43:15 -04:00
trace_impl.cc Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00
trace_subscriber.cc Increase priority of the EndTracing task (fixes issue #3288) 2022-03-23 17:31:09 -04:00
trace_subscriber.h Update to Chromium revision 2b3ae3b8 (#394939) 2016-05-25 08:10:01 -07:00
web_contents_dialog_helper.cc Mac: Add Views API support (see issue #1749) 2021-02-27 12:31:45 -05:00
web_contents_dialog_helper.h Add print preview support (see issue #123) 2019-07-19 21:55:30 -04:00
x509_cert_principal_impl.cc Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00
x509_cert_principal_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
x509_certificate_impl.cc Update to Chromium version 81.0.4044.0 (#737173) 2020-03-04 19:31:54 -05:00
x509_certificate_impl.h Remove DISALLOW_ macro from libcef/ (see issue #3234) 2021-12-07 15:02:28 -05:00
xml_reader_impl.cc Update to Chromium version 89.0.4389.0 (#843830) 2021-02-08 14:15:38 -05:00
xml_reader_impl.h Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00
zip_reader_impl.cc Update to Chromium version 85.0.4183.0 (#782793) 2020-07-16 19:11:12 -04:00
zip_reader_impl.h Apply clang-format to all C, C++ and ObjC files (issue #2171) 2017-05-18 12:30:05 +02:00