Commit Graph

498 Commits

Author SHA1 Message Date
aa348cb3de Update to Chromium version 115.0.5790.99 2023-07-20 15:28:39 -04:00
89aff51c04 chrome: linux: Fix NativeWidgetType for bubble popups 2023-07-04 20:57:03 +03:00
4e9a80a23d chrome: mac: Keep bubble popups on-screen 2023-07-04 20:56:52 +03:00
5dbfe13ac8 views: Add support for modal browser dialogs
A modal dialog is a child CefWindow that implements some special behaviors
relative to a parent CefWindow. Like any CefWindow it can be framed with
titlebar or frameless, and optionally contain draggable regions (subject to
platform limitations described below). Modal dialogs are shown centered on
the parent window (inside a single display) and always stay on top of the
parent window in z-order. Sizing behavior and available window buttons are
controlled via the usual CefWindowDelegate callbacks. For example, the dialog
can have a preferred size with resize, minimize and maximize disabled (via
GetPreferredSize, CanResize, CanMinimize and CanMaximize respectively).

This change adds support for two modality modes. With window modality all
controls in the parent window are disabled. With browser modality only the
browser view in the parent window is disabled.

Both modality modes require that a valid parent window be returned via
GetParentWindow. For window modality return true from IsWindowModalDialog
and call CefWindow::Show. For browser modality return false from
IsWindowModalDialog (the default value) and call
CefWindow::ShowAsBrowserModalDialog with a reference to the parent window's
browser view.

Window modal dialog behavior depends on the platform. On Windows and
Linux these dialogs have a titlebar and can be moved independent of the
parent window. On macOS these dialogs do not have a titlebar, move with
the parent window, and do not support draggable regions (because they are
implemented using sheets). On Linux disabling the parent window controls
requires a window manager the supports _NET_WM_STATE_MODAL.

Browser modal dialog behavior is similar on all platforms. The dialog will
be automatically sized and positioned relative to the parent window's
browser view. Closing the parent window or navigating the parent browser
view will dismiss the dialog. The dialog can also be moved independent of
the parent window though it will be recentered when the parent window
itself is resized or redisplayed. On MacOS the dialog will move along with
the parent window while on Windows and Linux the parent window can be moved
independently.

To test: Use the Tests > Dialog Window menu option in cefclient with Views
enabled (`--use-views` or `--enable-chrome-runtime` command-line flag).
Browser modal dialog is the default behavior. For window modal dialog add
the `--use-window-modal-dialog` command-line flag.
2023-06-21 11:59:11 +03:00
cf87de98bc Update to Chromium version 115.0.5790.32 2023-06-16 07:35:27 +00:00
ed5af5272d Update to Chromium version 115.0.5790.24 2023-06-12 07:45:13 +00:00
82da225a9f mac: chrome: Fix crash in BrowserView::ShouldHideUIForFullscreen (fixes #3527) 2023-06-06 12:22:58 +03:00
e43eab3229 Update to Chromium version 115.0.5790.13 2023-06-03 12:22:04 +03:00
695ee2a041 Update to Chromium version 115.0.5790.0 (#1148114)
- Mac: 13.3 SDK (Xcode 14.3) is now required
2023-06-01 13:44:39 +03:00
df4dddee0b win: Fix MSVC compile errors in registry.cc (fixes #3519) 2023-05-30 11:57:41 +03:00
5e80ea3371 mac: Remove libtest_trace_processor.dylib as a runtime dependency 2023-05-05 22:53:16 +03:00
ab94a13522 Update to Chromium version 114.0.5735.0 (#1135570)
- Mac: 13.3 SDK (Xcode 14.3) is now supported (see https://crbug.com/1431897).
- Mac: Removed UnderlayOpenGLHostingWindow which is no longer used.
2023-05-05 22:53:16 +03:00
7ade772e0b chrome: mac: Support dispatch of window commands (see #3462) 2023-04-20 12:26:07 -04:00
a39c2a0068 chrome: Improve positioning of the "Find" widget (fixes #3461)
The "Find" widget will be excluded from regions near the edges of the window
that contain overlays, draggable regions or titlebar.
2023-04-20 12:26:07 -04:00
4b3c3132cb Update to Chromium version 113.0.5672.0 (#1121455) 2023-04-05 17:48:51 -04:00
14dd0c0d06 chrome: Add ability to hide toolbar and app menu contents (see issue #3280)
This change adds new CefCommandHandler callbacks for optionally hiding
specific Chrome toolbar icons, buttons and app menu items.

To test: Run `cefclient --enable-chrome-runtime --filter-chrome-commands`.
Most icons, buttons and app/context menu items will be hidden.
2023-03-08 12:02:49 -05:00
3e4f8d1b9c win: Copy dbghelp.dll/dbgcore.dll from the Windows SDK (fixes issue #3356) 2023-03-03 18:26:06 -05:00
ae9ede9aa6 win: Add windows_sdk_version GN arg (see https://crbug.com/1420723) 2023-03-03 09:59:30 -05:00
584b19967a Update to Chromium version 112.0.5615.0
- Windows: VS2022 and Win11 SDK 10.0.22621.0 are now required.
2023-03-03 09:59:30 -05:00
3c85154faf Remove renderer process CefURLRequest support
The CefFrame::CreateURLRequest method is no longer supported in the renderer
process. Usage of this method was already limited to same-origin requests due
to renderer process CORS restrictions, and the underlying Blink API has now
been removed in https://crbug.com/1413912 (M112+).

Existing alternatives include CefURLRequest usage in the browser process, or
JavaScript XMLHttpRequest/fetch API usage in the renderer process.
2023-02-28 13:36:15 -05:00
ff68c01543 chrome: Use default Browser creation for picture-in-picture popups (see issue #3448)
Note: In current master (based on M111), document PiP partially works when
run with the `--enable-features=DocumentPictureInPictureAPI` command-line
flag. However, the document PiP implementation at this Chromium version is
missing fixes that have already been cherry-picked to the 5563 release
branch. Those fixes will only be available in master after the next Chromium
update (to M112).
2023-02-10 15:42:37 -05:00
dc2231cdfb Update to Chromium version 111.0.5563.0 (#1097615) 2023-02-03 13:00:26 -05:00
47d2651ea4 Fix patched chrome build with enable_cef=false 2023-01-23 14:20:11 -05:00
aae420aa8b linux: Fix component build errors (fixes issue #3424) 2023-01-12 16:49:21 +00:00
2b2c6aa143 win: osr: Fix context menu popup placement (fixes issue 3433) 2023-01-06 15:51:22 -05:00
e65da8fab8 alloy: Avoid initialization of privacy sandbox and identity manager (fixes issue #3434, fixes issue #3401) 2023-01-06 12:12:19 -05:00
aef474b909 alloy: Fix crashes when extensions are disabled (fixes issue #3430) 2023-01-05 14:00:22 -05:00
d04b5d4f87 Update to Chromium version 110.0.5481.0 (#1084008) 2023-01-04 21:36:29 -05:00
30a321b1ce win: Add ENABLE_BASE_TRACING check to fix cef_sandbox build 2022-11-17 12:50:15 -05:00
47d69a842a Update to Chromium version 109.0.5414.0 (#1070088)
- mac: Xcode 14.0 with macOS SDK 13.0 is now required.
- Remove CefRequestHandler::OnQuotaRequest because persistent quota is no
  longer supported (see https://crbug.com/1208141)
2022-11-17 12:50:15 -05:00
74fc5d5573 win: Fix 1px gap with maximized frameless windows on Win11 (fixes issue #3414) 2022-11-09 13:08:16 -05:00
09bb643ef6 Support registration of custom preferences.
Custom global and request context preferences can now be registered via
CefBrowserProcessHandler::OnRegisterCustomPreferences. CefRequestContext
now extends CefPreferenceManager and global preferences can be accessed
via CefPreferenceManager::GetGlobalPreferenceManager.
2022-10-26 16:54:33 -04:00
767c4422ac windows: Fix size/placement with multi-DPI screen setup (fixes issue #3359)
Use ScreenWin functions to correctly compute DIP/pixel conversions for
CEF-created top-level windows.

Fix incorrect DIPToScreenRect usage in DesktopWindowTreeHostWin when
|has_external_parent_| is true.
2022-10-24 19:53:05 -04:00
1e4e18240d Linux: Fix deprecated-volatile error with older glib version
Fix "error: use of result of assignment to object of volatile-
qualified type 'volatile gsize' (aka 'volatile unsigned long') is
deprecated [-Werror,-Wdeprecated-volatile]" when building with
use_sysroot=false on Ubuntu 18.04.
2022-10-18 17:58:41 -04:00
8b45f32b33 Update to Chromium version 108.0.5359.0 (#1058933) 2022-10-18 17:58:41 -04:00
25c75c5fc4 Use new PrintViewManagerBase::PrintToPdf method (fixes issue #3377) 2022-10-14 14:10:30 -04:00
497e0d2d98 Support GN configuration of enable_rlz (see issue #3404) 2022-10-04 12:52:48 -04:00
5433d9fe5c alloy: Fix crash after file dialog selection (fixes issue #3401) 2022-09-30 14:09:37 -04:00
4e43f90244 chrome: Fix shutdown crashes with multi-threaded-message-loop (fixes issue #3403) 2022-09-29 13:09:35 -04:00
4d1fd05740 Update to Chromium version 107.0.5304.0 (#1047731) 2022-09-29 13:09:35 -04:00
0089378a0a alloy: Fix crash when requesting periodic-background-sync permission (fixes issue #3393) 2022-09-09 11:58:22 -04:00
27d4f1fc97 alloy: Fix crashes related to permissions checks (fixes issue #3379, fixes issue #3381) 2022-08-26 12:23:48 -04:00
713297ee04 Windows: Fix unresolved dependencies error on ARM64 2022-08-25 18:33:24 -04:00
5dc69c6cdb alloy: Remove optimization/prediction service usage (see issue #3352)
This service is required by the "PermissionOnDeviceNotificationPredictions"
feature which is enabled by default in https://crbug.com/1350956. It uses a
Google backend service as described at https://go.dev/solutions/google/chrome.

This change removes the usage of PredictionBasedPermissionUiSelector, which
triggered this dependency, along with related startup complexity that was added
to support the optimization/prediction service in the M106 update.
2022-08-25 14:09:20 -04:00
7659dd60ba Update to Chromium version 106.0.5249.0 (#1036826) 2022-08-25 14:09:20 -04:00
8908465546 Fix browser focus assignment on mouse click (fixes issue #3306)
DesktopWindowTreeHostWin ("Chrome_WidgetWin_0") focus needs to be set before
the associated call to WebContents::Focus. In the case of mouse click events,
this means ::SetFocus needs to be called explicitly. See updated comments in
CefBrowserPlatformDelegateNativeWin::SetFocus.
2022-08-10 13:52:42 -04:00
7ce139bd2c chrome: cefclient: Fix crash on launch with --enable-chrome-runtime 2022-08-09 15:42:18 -04:00
3b90a084b4 Linux: Fix Debug build v8_context_snapshot_generator failure (fixes issue #3371) 2022-08-08 17:13:18 +00:00
f24dd61329 Add CefTestServer that supports both HTTP and HTTPS (see issue #3348) 2022-08-01 16:20:03 -04:00
8353564d92 Move testonly support for UI input events to libcef_test_support 2022-07-29 20:15:10 -04:00