cef/tests/cefclient
Marshall Greenblatt 2ea7459a89 Use Chrome file dialogs on all platforms and runtimes (fixes issue #3314)
All file dialogs irrespective of source, platform and runtime will now be
routed through CefFileDialogManager and trigger CefDialogHandler callbacks
(see issue #3293).

Adds Chrome runtime support for CefBrowserHost::RunFileDialog and
CefDialogHandler callbacks.

Adds Alloy runtime support for internal GTK file and print dialogs on Linux
subject to the following limitations:

1. Internal GTK implementation:
   - Cannot be used with multi-threaded-message-loop because Chromium's
     internal GTK implementation is not thread-safe (does not use GDK threads).
   - Dialogs will not be modal to application windows when used with off-screen
     rendering due to lack of access to the client's top-level GtkWindow.
2. Cefclient CefDialogHandler implementation:
   - Cannot be used with Views because it requires a top-level GtkWindow.

Due to the above limitations no dialog implementation is currently provided for
Views + multi-threaded-message-loop on Linux. In cases where both
implementations are supported the cefclient version is now behind an optional
`--use-client-dialogs` command-line flag.

Expressly forbids multiple simultaneous file dialogs with the internal platform
implementation which uses modal dialogs. CefDialogHandler will still be notified
and can optionally handle each request without a modal dialog (see issue #3154).

Removes some RunFileDialog parameters that are not supported by the Chrome file
dialog implementation (selected_accept_filter parameter, cef_file_dialog_mode_t
overwrite/read-only flags).
2022-04-19 18:52:26 -04:00
..
browser Use Chrome file dialogs on all platforms and runtimes (fixes issue #3314) 2022-04-19 18:52:26 -04:00
common Move cookieable scheme configuration to settings (see issue #2969) 2021-04-09 15:04:24 -04:00
renderer Replace OVERRIDE with override (see issue #3140) 2021-06-17 16:16:53 -04:00
resources Use Chrome file dialogs on all platforms and runtimes (fixes issue #3314) 2022-04-19 18:52:26 -04:00
CMakeLists.txt.in Linux: cefclient: Port to GTK3 (see issue #2969) 2021-03-01 15:25:09 -05:00
cefclient_gtk.cc tests: Convert usage of base::Bind to Once or Repeating (see issue #3140) 2021-06-19 17:19:32 -04:00
cefclient_mac.mm mac: cefclient: Use RootWindowManager to track key window status (fixes issue #3307) 2022-04-12 16:37:01 -04:00
cefclient_win.cc alloy: Use chrome's value for ApplicationClientIdForFileScanning (fixes issue #3030) 2022-03-24 12:16:11 -04:00