468 Commits
Author SHA1 Message Date
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 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
Amr Bashir fa874acb9d mac: Support customization of keychain names (fixes #2692) (#4247) 2026-09-09 14:40:12 -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 4ec0bddb69 Update to Chromium version 152.0.7977.0 (#1669021) 2026-08-19 13:37:28 -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 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 6bdd5a4aa7 Fix crash during shutdown in TaskManagerImpl::OnReceivedMemoryDump 2026-04-17 14:52:44 -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
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 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 d7ea7aa349 Disable GCM to avoid DEPRECATED_ENDPOINT errors (fixes #4078) 2026-01-26 14:26:13 -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
Marshall Greenblatt 300426d4f9 Fix dangling pointer crashes
During browser window closing, the ToolbarView is destroyed before
BrowserView, causing views in the toolbar to be freed while
WebUIBubbleManagerImpl and TabSearchBubbleHost still hold raw_ptr
references to them. When BrowserView is later destroyed, these
classes trigger dangling pointer errors.

Replace raw_ptr with views::ViewTracker in both classes:
- WebUIBubbleManagerImpl::anchor_view_ -> anchor_view_tracker_
- TabSearchBubbleHost::button_ -> button_tracker_

ViewTracker safely clears its internal pointer when the tracked
view is destroyed, preventing the dangling pointer situation.
2026-01-20 11:41:44 -05:00
Marshall Greenblatt da12acb8d5 Fix issues with always-enabled SideBySide feature (see #3980)
When BrowserViewLayoutImpl::Layout is called before the frame view
has been laid out, GetBrowserLayoutParams returns empty params.
The early return allowed View::Layout's for-loop to trigger child
layouts with 0x0 bounds, causing ContentsLayoutManager to receive
invalid size. Fall back to using the host's local bounds as
visual_client_area when frame params are empty, allowing layout to
proceed with valid bounds.

Call UpdateDialogTopInsetInBrowserView in GetDialogTop() to match
the behavior of BrowserViewLayoutImplOld::GetDialogTopY(), allowing
CEF to adjust dialog positioning.
2026-01-20 11:41:44 -05:00
Marshall Greenblatt bfb74aa1a4 Update to Chromium version 145.0.7632.0 (#1568190) 2026-01-20 11:41:44 -05:00
Nik Pavlov ce8465d1bf Add resizable option to Document Picture-in-Picture cefOptions
Add support for controlling window resizability via:
documentPictureInPicture.requestWindow({ cefOptions: { resizable: false } })


Approved-by: Marshall Greenblatt
2026-01-08 10:37:38 +00:00
Nik Pavlov deed57f604 Fix Picture-in-Picture window icon in Windows taskbar
Update Browser::GetCurrentPageIcon() to use the favicon from the opener
WebContents for document picture-in-picture windows, instead of the PiP
window's own WebContents. This ensures the correct icon is displayed in
the Windows taskbar preview and matches the existing behavior for
window titles, where PiP windows use the opener's title.
2025-12-31 14:51:03 +00:00
Nik Pavlov 310139f878 Add configurable initial window position for Document Picture-in-Picture
Usage:
  documentPictureInPicture.requestWindow({
    width: 400,
    height: 300,
    cefOptions: { position: { x: 100, y: 200 } }
  });

The feature is gated by Blink RuntimeEnabled flag and must be
explicitly enabled with:
  --enable-blink-features=DocumentPictureInPictureCefOptions


Approved-by: Marshall Greenblatt
2025-12-31 14:49:34 +00:00
Marshall Greenblatt 9d6bdcbb28 Fix dangling raw_ptr in net::ConnectionManagementConfig
See https://crbug.com/450464276. This fix is a cherry-pick of
https://crrev.com/16a8078b66.
2025-12-18 11:39:04 -05:00
Nik Pavlov b9d5a7f881 Add configuration to bypass user activation for Document PiP 2025-12-10 20:49:42 +00:00
Nik Pavlov 99e7f41a46 win: Fix nullptr crash in AXPlatformNodeWin::accLocation
Cherry picked from 49f5d095ac with
GetDelegate replaced with IsDestroyed.
2025-12-09 17:53:51 +00:00
Marshall Greenblatt 9bacca5ec9 win: Fix "Symbols not available" stack traces
Call EnableInProcessStackDumping for all processes during Chromium
initialization. This is necessary after https://crrev.com/0bbe87d347
to fix "Symbols not available" output when printing stack traces in
the main process. For comparison, Chromium test code calls this
explicitly from TestSuite::Initialize. This change only impacts
non-Official builds.

Note that there are also timing considerations with GTest calling
absl::InitializeSymbolizer. That call must occur before the
Chromium call to EnableInProcessStackDumping.

See https://crbug.com/462160529 for additional background.
2025-11-19 18:08:02 -05:00
Marshall Greenblatt bc8ca18f1b linux: Fix undefined symbol: MigratableSyncServiceCoordinatorImpl 2025-10-15 15:20:03 -04:00
Marshall Greenblatt aa8462367a Avoid crash showing MV2 disabled dialog with hidden toolbar 2025-08-26 11:53:17 -04:00
Marshall Greenblatt 565a8196e2 osr: Avoid crash in ShowCertificateViewerForClientAuth (fixes #3989) 2025-08-26 11:46:44 -04:00
Marshall Greenblatt 6e534f2ac7 Reduce JS minimum window size to 52px (see #3714)
Allow JavaScript resize down to kMinWindowSize (52px) which is the
hard-coded minimum height for Document Picture-in-Picture windows.
The minimum size is now the same for both manual and JS resize.
2025-08-19 16:21:04 -04:00
Marshall Greenblatt 0f5222dc94 bootstrap: Use crashpad API directly for LOG_FATAL (fixes #3951)
Additionally use bootstrap[c].exe to set the LOG_FATAL crash key
(via exported SetLogFatalCrashKey) for consistent handling.
2025-08-13 13:47:52 -04:00
Marshall Greenblatt 5d89782bc5 Update to Chromium version 140.0.7339.0 (#1496484)
mac: Switch to Xcode 16.4 (16F6) and SDK 15.5 (24F74)
2025-08-13 13:08:12 -04:00
Marshall Greenblatt 18c5467845 Read src/tarball_args.gn for angle commit details (fixes #3974)
This file will exist when building with a source tarball and
contain GN args that will be merged into the build-specific
args.gn file to configure angle commit details.
2025-08-05 13:58:34 -04:00
Marshall Greenblatt 4578f9c12a alloy: Fix autofill crash after form submission (fixes #3796) 2025-07-16 14:17:36 -04:00
Marshall Greenblatt 9bf4452094 Update to Chromium version 139.0.7258.0 (#1477651)
mac: Update minimum system version to 12.0
2025-07-09 16:24:20 -04:00
Marshall Greenblatt a7125a3ba9 linux: Fix static TLS relocations (fixes #3803) 2025-07-07 12:36:28 -04:00
Marshall Greenblatt f21b32c81c Add patches for Chromium tarball support (see #3944) 2025-06-11 13:53:47 -04:00
Marshall Greenblatt f8a746373e Update to Chromium version 138.0.7204.0 (#1465706)
Mac: Require Xcode 16.3 (16E140) and SDK 15.4 (24E241)
2025-06-03 14:20:59 -04:00
Marshall Greenblatt d009f6e1ee patch: Remove build.patch (see #3928)
This patch is no longer required after removing cef_sandbox
static linking on macOS.
2025-05-19 11:50:33 -04:00