Skip to content

chore: bump chromium to 149.0.7811.0 (main)#51300

Merged
ckerr merged 19 commits intomainfrom
roller/chromium/main
Apr 28, 2026
Merged

chore: bump chromium to 149.0.7811.0 (main)#51300
ckerr merged 19 commits intomainfrom
roller/chromium/main

Conversation

@electron-roller
Copy link
Copy Markdown
Contributor

@electron-roller electron-roller Bot commented Apr 23, 2026

Updating Chromium to 149.0.7811.0.

See all changes in 149.0.7798.0..149.0.7811.0

Notes: Updated Chromium to 149.0.7811.0.

@electron-roller electron-roller Bot added no-backport semver/patch backwards-compatible bug fixes labels Apr 23, 2026
@electron-roller electron-roller Bot requested a review from a team as a code owner April 23, 2026 21:32
@electron-roller electron-roller Bot added semver/patch backwards-compatible bug fixes no-backport labels Apr 23, 2026
@electron-cation electron-cation Bot added the new-pr 🌱 PR opened recently label Apr 23, 2026
@electron-roller electron-roller Bot changed the title chore: bump chromium to 149.0.7809.0 (main) chore: bump chromium to 149.0.7810.2 (main) Apr 24, 2026
@electron-cation electron-cation Bot removed the new-pr 🌱 PR opened recently label Apr 24, 2026
@electron-roller electron-roller Bot changed the title chore: bump chromium to 149.0.7810.2 (main) chore: bump chromium to 149.0.7811.0 (main) Apr 25, 2026
@ckerr ckerr requested a review from a team as a code owner April 26, 2026 02:52
@ckerr ckerr force-pushed the roller/chromium/main branch 6 times, most recently from aeb4882 to 2dec28f Compare April 26, 2026 22:34
@@ -1,6 +1,10 @@
chromedriver
icudtl.dat
libEGL.dylib
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not blocking: Have we traced where this new dependency chain came from? Feel like chromedriver shouldn't need swiftshader 😅

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a transitive dependency, chromedriver isn't directly using swiftshader 😸

CL 7774111, "Add VRP Flags for controlled read and controlled write" added //components/vrp_flags to network_service when enable_vrp_flags is true. That same CL also introduced //components/vrp_flags, whose implementation depends on //gpu/config.

From GN, the relevant path is:

//chrome/test/chromedriver:chromedriver_server
//chrome/test/chromedriver:lib
//services/network:network_service
//components/vrp_flags:vrp_flags
//gpu/config:config
//ui/gl:gl
//third_party/angle:libEGL

Similar answer for libGLESv2 and SwiftShader. On macOS, //ui/gl has copy targets for libEGL.dylib, libGLESv2.dylib, libvk_swiftshader.dylib, and vk_swiftshader_icd.json.

Copy link
Copy Markdown
Member

@jkleinsc jkleinsc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not 100% sure, but I think we should drop our implementation of the Scripting API in favor of Chromium's implementation

Copy link
Copy Markdown
Member

@jkleinsc jkleinsc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there were unnecessary patch changes made

Comment thread patches/chromium/chore_patch_out_profile_methods.patch Outdated
Comment thread shell/browser/net/system_network_context_manager.cc
Comment thread shell/browser/tracing/electron_tracing_delegate.cc Outdated
Re-add OSCryptImpl as a friend of crypto::SubtlePassKey (removed by
https://chromium-review.googlesource.com/c/chromium/src/+/7759877)
since Electron still uses the sync backend.

Followup: #51301

Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
ckerr added 11 commits April 27, 2026 14:59
CL 7784831 moved the Scripting API from //chrome to //extensions,
which caused duplicate symbols with Electron's own implementation.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7784831

Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
No replacement code is needed: Electron already uses the async path.
CookieEncryptionProviderImpl (backed by OSCryptAsync) supplies
encryption to the network service via the cookie_encryption_provider
NetworkContext param, making SetEncryptionKey redundant.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7765593

Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
CL 7757742 moved cloud_content_scanning from unconditional deps into
a conditional block gated on enterprise_cloud_content_analysis,
safe_browsing_mode, or is_android. Since Electron sets
safe_browsing_mode = 1, the dep is still included regardless, but
explicitly overriding enterprise_cloud_content_analysis to false now
causes other targets (e.g. chrome/browser/download) to omit enterprise
connectors code that the rest of the build expects to find.

It is simpler to let it default to true than to patch around it.
Electron does not use this feature — our PerformContentAnalysisIfNeeded
is a no-op passthrough that skips straight to NotifyListenerAndEnd.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7757742

Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
Chromedriver now has transitive runtime dependencies on libEGL,
libGLESv2, and vk_swiftshader on macOS and Windows. These are
transitive deps pulled through chromedriver_server's dependency
on //mojo/core/embedder and //net.
a39108c (#47244) replaced gin_helper::EmitEvent with a direct
`v8::Function::Call()` in `WebWorkerObserver::ContextWillDestroy`
to avoid re-entering the microtask checkpoint during worker teardown.

V8 `DCHECK()`s that a policy is set. Under the old code path, this
happened with a node::CallbackScope. Under the new code path, it's
possible for a policy to not be set, causing that `DCHECK()` to fail.

This PR copies a39108c's changes in `ShareEnvironmentWithContext()`:
it explicitly adds a `kDoNotRunMicrotasks` scope.
https://chromium-review.googlesource.com/c/chromium/src/+/7770189
product-version, os-name, and channel metadata from the legacy
ChromeEventBundle path to a new ChromeMetadataPacket recorder callback.
Override the new TracingDelegate virtual so Electron still emits these fields.
@ckerr ckerr force-pushed the roller/chromium/main branch from 2dec28f to cb7c4ce Compare April 27, 2026 20:03
@ckerr ckerr merged commit 76c5257 into main Apr 28, 2026
123 of 125 checks passed
@release-clerk
Copy link
Copy Markdown

release-clerk Bot commented Apr 28, 2026

Release Notes Persisted

Updated Chromium to 149.0.7811.0.

@ckerr ckerr deleted the roller/chromium/main branch April 28, 2026 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-backport roller/pause semver/patch backwards-compatible bug fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants