chore: bump chromium to 149.0.7811.0 (main)#51300
Conversation
Electron still depends on the synchronous os_crypt API. Revert upstream CL 7765593 until migration to async is complete. Followup: #51301 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7765593 Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7780978 Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7773143 Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
aeb4882 to
2dec28f
Compare
| @@ -1,6 +1,10 @@ | |||
| chromedriver | |||
| icudtl.dat | |||
| libEGL.dylib | |||
There was a problem hiding this comment.
not blocking: Have we traced where this new dependency chain came from? Feel like chromedriver shouldn't need swiftshader 😅
There was a problem hiding this comment.
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.
jkleinsc
left a comment
There was a problem hiding this comment.
I'm not 100% sure, but I think we should drop our implementation of the Scripting API in favor of Chromium's implementation
jkleinsc
left a comment
There was a problem hiding this comment.
Looks like there were unnecessary patch changes made
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)
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)
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7748618 Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7713176 Co-Authored-By: GitHub Copilot (Claude Opus 4.6)
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7755340 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.
2dec28f to
cb7c4ce
Compare
|
Release Notes Persisted
|
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.