721 Commits
Author SHA1 Message Date
Marshall Greenblatt 6497b876b1 Fix srcdoc origin inheritance from opaque parents (fixes #4298)
Preserve existing opaque origins in the custom-scheme security policy
patch instead of deriving a new origin. This keeps srcdoc frames'
inherited origins consistent between the browser and renderer while
retaining distinct origins for sandboxed frames.

Add regression coverage for data URLs, document-written about:blank,
HTTPS, and nested data frames, including sandbox isolation. Disable
the sandboxed initial about:blank case pending resolution of
https://crbug.com/570981950.
2026-10-07 13:42:43 -04:00
Marshall Greenblatt 124316c82d linux: wayland: Fix shadow artifacts with multi-threaded-message-loop
With multi-threaded-message-loop there is no GTK-backed LinuxUi, so
Views windows use the fallback FrameViewLinux with client-drawn
shadows. DesktopWindowTreeHostLinux only updates the opaque region from
OnBoundsChanged(), which runs before the FrameView exists. The surface
keeps its initial full-size opaque region, shadow included, so the
compositor leaves trails behind the window when it moves.

Call UpdateFrameRegions() from OnWidgetInitDone() so that the opaque and
input regions are set once the FrameView exists.
2026-10-07 12:25:37 -04:00
Marshall Greenblatt a26ddfd279 Update to Chromium version 156.0.8078.0
win: dxil.dll is no longer distributed
mac: Xcode 27 (macOS 26.6+) is now required
2026-10-07 12:25:37 -04:00
Marshall Greenblatt ff57d4eae1 Disable background Gaia ListAccounts by default (fixes #4276)
Skip ListAccounts when browser sign-in is disabled, default new
profiles to sign-in disabled, and disable the sign-in promo on the
avatar button by default. Embedders can still opt in via
OnRegisterCustomPreferences.
2026-09-29 15:17:04 -04:00
Marshall Greenblatt 6d9f51a7bc Fix custom preference registration timing (fixes #4281)
Register CEF profile preferences after Chromium keyed-service
preferences. Add GetDefaultPreference and SetDefaultPreference
to CefPreferenceRegistrar so applications can inspect, override,
and restore registered defaults.
2026-09-29 14:10:34 -04:00
Marshall Greenblatt e048aa005c chrome UI: Fix crash on new tab button (fixes #4285) 2026-09-28 15:28:50 -04:00
Marshall Greenblatt afe9f1b890 Fix component path provider registration (fixes #4291) 2026-09-28 14:53:31 -04:00
Marshall Greenblatt f05ead39c5 mac: Fix print preview saving, resizing and focus (fixes #3410)
Preserve the preview WebContents in the file-selection policy so
CEF can resolve the originating browser when saving a PDF.

Use the hosted BrowserView bounds for dialog sizing, and let AppKit
handle native resize edges without child-modal input blocking.

Restore focus to the topmost visible child-modal dialog after
resizing, provided the app is active and the parent still owns
keyboard focus.
2026-09-12 15:47:18 -04:00
Marshall Greenblatt 0d05970b8c osr: Fix Viz refresh capture stall (see #3826)
Always complete oracle bookkeeping for failed copies and obsolete
capture versions so pending captures cannot block refresh retries.
Reject cached frames from obsolete capture versions and allow newer
versions to replace them.

Add regression coverage for refresh recovery after copy failures
and capture-version changes.
2026-09-11 15:31:20 -04:00
Marshall Greenblatt 6e5a72b1af alloy: Fix potential chrome.tabs.update() crashes (fixes #4256) 2026-09-09 15:26:00 -04:00
Amr Bashir fa874acb9d mac: Support customization of keychain names (fixes #2692) (#4247) 2026-09-09 14:40:12 -04:00
Marshall Greenblatt 2040e5a67c chrome: Extend BrowserWCD instead of patching
BrowserWebContentsDelegate was split from Browser in recent
refactoring and can now be extended instead of patched. This
change is strictly structural.
2026-09-06 13:10:23 -04:00
Marshall Greenblatt 213fbca5aa linux: Don't show Chromium eula dialog on startup 2026-09-06 13:10:23 -04:00
Marshall Greenblatt ee71fa268b views: Skip omnibox WebUI when no Chrome toolbar is configured
Avoid creating unused omnibox WebContents for Views-hosted browsers
with CEF_CTT_NONE. Preserve WebUI popups for configured toolbars.
2026-09-06 13:10:23 -04:00
Marshall Greenblatt 33624e6bc2 Update to Chromium version 154.0.8037.0
- Windows SDK 10.0.28000.2270 is now required
- CefRegisterExtension is deprecated due to https://crbug.com/40347662
2026-09-06 13:10:22 -04:00
Marshall Greenblatt cd89341bfe chrome: Preserve request context for Inspect Element (fixes #4168)
Keep CEF-created unique OTR profiles when resolving the DevTools
profile so Inspect Element does not create the popup with the parent
profile. Add coverage for a non-global request context and verify that
the DevTools popup shares it.
2026-08-19 18:05:13 -04:00
Marshall Greenblatt f8a915f046 alloy: Fix crash in ReadAnythingSoftNavigationObserver::OnSoftNavigation (fixes #4234) 2026-08-19 14:08:21 -04:00
Marshall Greenblatt df31007ab6 osr: Fix file chooser crash due to null native view
Guard the owning-window lookup in FileSelectHelper::RunFileChooserOnUIThread.

Add ceftests DialogTest.FileInputOSR test for triggering and canceling a file
input in OSR mode.
2026-08-19 13:37:28 -04:00
Marshall Greenblatt 4ec0bddb69 Update to Chromium version 152.0.7977.0 (#1669021) 2026-08-19 13:37:28 -04:00
Brian Dupuis 5f7e87bf0c Fix BrowserWidget::OnTouchUiChanged crash (fixes #3941) (#4227)
Chrome-style browsers with a native parent use TYPE_CONTROL widgets,
which have no NonClientView, so client_view() returns nullptr. Guard
that InvalidateLayout call; the earlier non_client_view() check alone
was insufficient.
2026-07-30 16:32:54 -04:00
Marshall Greenblatt 8eb9634fa1 Don't depend on histograms.xml when not in a git checkout
Cherry-pick of https://crrev.com/27f8690db9
2026-07-09 15:02:35 -04:00
Marshall Greenblatt e8e83e2b92 linux: Fix Wayland crash at startup with multi-threaded message loop
Disable creation of GtkUi on Wayland when using multi-threaded-message-loop,
matching the existing X11 behavior (see #3610). GtkUi connects GDK signals
(e.g. GdkMonitor notify::scale-factor) on the CEF UI thread, but GDK sources
run on the default GMainContext owned by the application's main thread, so
signal emission fails a ScopedGSignal sequence checker DCHECK.
2026-07-09 12:26:23 -04:00
Marshall Greenblatt 30839cad1d win: Fix CHECK failure on shutdown with multi-threaded message loop
With an external parent window owned by a different thread the OS may
deliver WM_DESTROY multiple times for the same HWND during
DestroyWindow. Guard DesktopWindowTreeHostWin::HandleDestroying so that
Widget::OnNativeWidgetDestroying is only called once, matching the
equivalent upstream guard added for Mac. Otherwise the new
CHECK(!widget_destroying_handled_) in Widget::HandleWidgetDestroying
(https://crrev.com/41b2d8f9dd821) fails when closing a browser window
with `--use-native --multi-threaded-message-loop`.
2026-07-08 16:05:23 -04:00
Marshall Greenblatt f31f51eb73 Update to Chromium version 151.0.7922.0 (#1654411) 2026-07-08 12:10:52 -04:00
Marshall Greenblatt 0727f286a7 Update to Chromium version 150.0.7871.0 (#1639810) 2026-06-02 16:46:54 -04:00
Marshall Greenblatt 096e9e5d7e Lazy-seed InsecureRandomGenerator to fix network process crash
In CEF dcheck_always_on=true builds on Windows, the network process
crashes with reentrant malloc on first allocation. Outer trigger:
CheckedLockImpl::Acquire (DCHECK-only) allocates on PostTask -> enters
PartitionAlloc -> ThreadCache::Get; on this path the `static
thread_local MetricsSubSampler g_shared_subsampler` (added by
https://crrev.com/c/6202281) is constructed, and its ctor seeds
InsecureRandomGenerator via base::RandUint64() -> BoringSSL RAND_bytes
-> OPENSSL_malloc, tripping ScopedDisallowAllocations.

Defer seeding to the first RandUint64() call. (0, 0) is XorShift128+'s
unique fixed point, so it doubles as the unseeded sentinel without a
flag (no size change). ReseedForTesting(0) now CHECKs; no caller
passes 0. Tactical fix: any other dynamic-init thread_local in
libcef.dll whose ctor allocates could crash similarly in DCHECK
builds.
2026-05-22 12:12:14 -04:00
Marshall Greenblatt 3a81f13bf0 win: Source dxil.dll / dxcompiler.dll from Redist/D3D
Recent Windows 11 SDK installs (10.0.26100.7xxx+) no longer duplicate
dxil.dll into bin/<ver>/<arch>/; only the canonical Redist/D3D/<arch>/
copy is present. Switch Dawn's copy_dxil_dll and copy_dxc_binary GN
rules to use the Redist path, matching what ANGLE already does for
d3dcompiler_47.dll.
2026-05-22 12:12:14 -04:00
Marshall Greenblatt a04a021b54 Restore FileSelectionCanceled notification on cancelled dialog
Chromium 1624993 (https://crrev.com/c/7810279, "Fix FileSelectHelper
double-release Use-After-Free") migrated FileSelectHelper from manual
AddRef/Release to a WebContents-scoped ActiveHelpers manager, and in
the process removed the listener_->FileSelectionCanceled() notification
from RunFileChooserEnd(). FileSelectHelper::FileSelectionCanceled() now
just calls RunFileChooserEnd(), which unregisters from ActiveHelpers
without ever telling the wrapped content::FileSelectListener. The CEF
listener's callback never fires, and DialogTest.FileOpenCancelSkipFirstCallback
and DialogTest.FileOpenAsyncCancelSkipFirstCallback time out waiting for
OnFileDialogDismissed.

This was already reverted upstream as https://crrev.com/c/7836491 in
149.0.7827.11. Carry the revert in chrome_browser_dialogs_native.patch
for branches pinned before that point. Restores manual AddRef/Release,
the listener_->FileSelectionCanceled() call in RunFileChooserEnd(), the
CleanUp() helper, and the WebContentsDestroyed() cleanup path. The
file_select_helper_unittest.cc parts of the upstream revert are
intentionally skipped.
2026-05-22 12:12:14 -04:00
Marshall Greenblatt b11fc801a3 Fix Origin header for custom-standard-scheme navigation POSTs
Chromium 491783215 (https://crrev.com/c/7617635, cherry-picked to the
M148.40 branch) removed Blink's SetHTTPOriginToMatchReferrerPolicyIfNeeded
call on navigation requests, on the premise that the browser process
would add the Origin header in AddAdditionalRequestHeaders() in
content/browser/renderer_host/navigation_request.cc. That premise holds
for http(s) but not for embedder-registered schemes, because the
function early-returns on !SchemeIsHTTPOrHTTPS(). As a result, form
POSTs from custom standard schemes (SECURE/CORS_ENABLED) no longer had
an Origin header, and POSTs from non-standard schemes no longer had
Origin: null. CorsTest.RedirectPost* was failing in 30 configurations.

Drop the early-return so the Origin / User-Agent / referrer-policy
logic runs uniformly; each inner block is already guarded by its own
condition (enable_do_not_track, SetHeaderIfMissing, NeedsHTTPOrigin,
feature flags, prerender/preview state) and is a no-op for schemes
that don't need it.

Update the CorsTest.RedirectPost* expectations to stop treating
CUSTOM_STANDARD_SCHEME as an always-null-origin scheme; its actual
origin is now sent (matching http(s)), while truly non-standard
schemes still serialize to "null" via their opaque origin.

Forward-port of 68aa5a908 from the M148 stable branch.
2026-05-22 12:12:14 -04:00
Marshall Greenblatt 2b74a789fb Update to Chromium version 149.0.7827.0 (#1625079)
- Win: Update to Windows SDK 10.0.26100.7705
2026-05-22 12:12:14 -04:00
Marshall Greenblatt 11e7b998ab Fix tarball builds failing on CIPD deps with missing version_file
CipdDependency.__init__ unconditionally reads version_file from disk,
even for deps excluded by condition (e.g. checkout_android). When
building from a source tarball that prunes android_webview, this causes
a FileNotFoundError. Skip reading the version_file when should_process
is False since the dep won't be fetched anyway.
2026-05-11 12:19:55 -04:00
Marshall Greenblatt 6bdd5a4aa7 Fix crash during shutdown in TaskManagerImpl::OnReceivedMemoryDump 2026-04-17 14:52:44 -04:00
Marshall Greenblatt a114f3d515 Update to Chromium version 148.0.7778.0 (#1610480) 2026-04-16 15:48:58 -04:00
Marshall Greenblatt b6e302c3aa Add per-browser ax_viewport_collapse setting
Adds role-aware collapsing of off-screen nodes to CDP accessibility tree
serialization (Accessibility.getFullAXTree). When enabled, off-screen
landmarks and headings are serialized as summaries (role + name only)
and other off-screen nodes are pruned. Position:fixed/sticky descendants
of off-screen parents are still discovered and fully serialized.

Reduces snapshot size for AI agents using Playwright ariaSnapshot().
Platform screen readers are unaffected — they use a separate code path.
CDP nodesUpdated events are suppressed when active.

The setting is a per-browser CefBrowserSettings field threaded through
WebPreferences, with a runtime override via SetAxViewportCollapse().
Both APIs are guarded with CEF_API_ADDED(CEF_EXPERIMENTAL).
2026-03-27 19:05:51 -04:00
Marshall Greenblatt 58033f5d93 Update to Chromium version 147.0.7727.0 (#1596535) 2026-03-23 14:01:41 -04:00
[OBIGO] Bruce Lee / 이병준 d29a3ecf28 patch: assign unique value to DO_NOT_SEND_COOKIES (fixes #4128) 2026-03-19 11:30:50 -04:00
Nik Pavlov cb9bab3e3f Add CefComponentUpdater API (fixes #4087)
Exposes component update functionality in CEF, allowing clients to
trigger on-demand updates for registered components.
2026-02-17 13:05:03 -05:00
Marshall Greenblatt 9a6ff9d5d8 Fix crash with BrowserWidgetCacheThemeService feature enabled
When BrowserWidgetCacheThemeService is enabled via field trials,
GetThemeService() returns cached theme_service_ which may be null
if SetBrowserView() was called before browser_view->browser() was
valid. Add null check to fall back to direct lookup.
2026-02-17 12:35:11 -05:00
Marshall Greenblatt 571ac2e493 Build with default enable_glic=true (see #3982)
Chromium is missing ENABLE_GLIC guards in too many places.
2026-02-17 12:08:47 -05:00
Marshall Greenblatt 58fa5d380a Update to Chromium version 146.0.7680.0 (#1582197) 2026-02-16 12:58:10 -05:00
Marshall Greenblatt b00d59c2b4 docs: Rewrite blob md links to GitHub Pages (isse #4085) 2026-01-29 18:13:59 -05:00
Marshall Greenblatt 2415738c75 docs: Rewrite Bitbucket Wiki links to docs/ (see #4085) 2026-01-29 16:44:54 -05:00
Marshall Greenblatt 0b57129f7f Fix DevTools crash when inspecting via chrome://inspect (fixes #4029)
When using chrome://inspect to inspect a remote debugging target,
both opener and inspected_web_contents may be null because the
DevTools window is not inspecting the WebContents that launched it.
Add null check before calling GetBrowserForContents to prevent
DCHECK failure.

Also update the patch for devtools_window.cc to check for null
inspected_web_contents before calling FindBrowserWithTab.
2026-01-27 16:18:23 -05:00
Marshall Greenblatt e1acc8973e osr: win: Fix context submenu positioning (fixes #3640)
Exclude menu windows from the child window bounds modification that
sets origin to (0,0). This was causing submenus to appear in the
top-left corner of the screen on subsequent showings.

The Init function already excluded TYPE_MENU from this treatment, but
SetBoundsInDIP did not. Added is_menu_ member to track the widget type
and apply consistent exclusion in both locations.
2026-01-27 13:12:19 -05:00
Marshall Greenblatt a898df841c osr: linux: Fix context menu display and positioning (fixes #2640)
Context menus were being clipped to the parent window bounds and
positioned incorrectly.

The fix has two parts:

1. X11 window creation (via patch): Menu windows are now parented to the
   root window instead of the parent_widget to prevent clipping. Other
   window types maintain their normal parent relationship.

2. Coordinate conversion: GetScreenPoint returns coordinates relative to
   the parent window, so convert to screen coordinates by adding the
   parent window's screen origin. The translation accounts for display
   scale factor since X11 TranslateCoordinates returns pixel coordinates
   while the menu system expects DIP coordinates.
2026-01-27 13:02:23 -05:00
Marshall Greenblatt d7ea7aa349 Disable GCM to avoid DEPRECATED_ENDPOINT errors (fixes #4078) 2026-01-26 14:26:13 -05:00
Marshall Greenblatt 5b381cea44 Fix missing build dependency (fixes #4077) 2026-01-23 14:23:49 -05:00
Marshall Greenblatt a4f9c48f00 win: Fix crash opening multiple file dialogs (fixes #4063)
This change disables the AutoCloseFileDialogs feature by default.
2026-01-23 13:56:54 -05:00
Marshall Greenblatt 394067730b alloy: Fix autofill crash during credit card payment (fixes #4075) 2026-01-23 13:15:02 -05:00
Nik Pavlov e8854979b0 win: Disable TPM metrics collection to avoid crash
TPM metrics collection via MaybeMeasureTpmOperations() can crash on
some Windows machines due to a null pointer dereference in the Windows
TPM Platform Crypto Provider (PCPKsp.dll) when calling
NCryptIsAlgSupported().
2026-01-23 15:37:23 +00:00