* refactor: avoid redundant GetIsolate() calls in NodeBindings::CreateEnvironment()
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/6563615
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: use v8::Isolate::GetCurrent() in Initialize() methods
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: add v8::Isolate* arg to NodeBindings::CreateEnvironment()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fixup! refactor: use v8::Isolate::GetCurrent() in Initialize() methods
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: add v8::Isolate* arg to RendererClientBase::DidCreateScriptContext()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fixup! refactor: add v8::Isolate* arg to NodeBindings::CreateEnvironment()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fixup! fixup! refactor: use v8::Isolate::GetCurrent() in Initialize() methods
refactor: prefer JavascriptEnvironment::GetIsolate() in the browser layer
Co-authored-by: Charles Kerr <charles@charleskerr.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 139.0.7258.6
* chore: bump chromium in DEPS to 139.0.7258.5
* chore: bump chromium in DEPS to 140.0.7270.1
* chore: bump chromium in DEPS to 140.0.7271.1
* chore: bump chromium in DEPS to 140.0.7273.0
* chore: bump chromium in DEPS to 140.0.7273.1
* chore: bump chromium in DEPS to 140.0.7275.1
* chore: bump chromium in DEPS to 140.0.7275.4
* chore: bump chromium in DEPS to 140.0.7277.1
* chore: bump chromium in DEPS to 140.0.7279.1
* chore: bump chromium in DEPS to 140.0.7281.1
* chore: bump chromium in DEPS to 140.0.7283.1
* chore: bump chromium in DEPS to 140.0.7285.1
* chore: bump chromium in DEPS to 140.0.7287.1
* chore: bump chromium in DEPS to 140.0.7289.0
* chore: bump chromium in DEPS to 140.0.7289.1
* chore: bump chromium in DEPS to 140.0.7291.1
* chore: bump chromium in DEPS to 140.0.7293.1
* chore: bump chromium in DEPS to 140.0.7295.1
* chore: bump chromium in DEPS to 140.0.7296.0
* chore: bump chromium to 140.0.7281.0 (main) (#47616)
cherry picked from 603cafad7e
* chore: bump chromium in DEPS to 140.0.7269.2
* chore: bump chromium in DEPS to 140.0.7270.0
* chore: bump chromium in DEPS to 140.0.7271.0
* chore: bump chromium in DEPS to 140.0.7273.0
* 6516731: [ExclusiveAccessForAndroid] remove unneeded includes & deps | https://chromium-review.googlesource.com/c/chromium/src/+/6516731
* 6694809: dbus: Ensure systemd scope is started before using any portal services | https://chromium-review.googlesource.com/c/chromium/src/+/6694809
* chore: patch chromium
* chore: export patches
* chore: bump chromium in DEPS to 140.0.7275.0
* 6677511: [pepper] More pepper removal | https://chromium-review.googlesource.com/c/chromium/src/+/6677511
* 6513641: [gin] Rename gin::Wrappable to gin::DeprecatedWrappable | https://chromium-review.googlesource.com/c/chromium/src/+/6513641
* chore: export chromium patches
* 6513641: [gin] Rename gin::Wrappable to gin::DeprecatedWrappable | https://chromium-review.googlesource.com/c/chromium/src/+/6513641
* chore: bump chromium in DEPS to 140.0.7277.0
* chore: bump chromium in DEPS to 140.0.7279.0
* chore: bump chromium in DEPS to 140.0.7281.0
* 6677314: Plumb enabled client hints in the network requestion to network layer
https://chromium-review.googlesource.com/c/chromium/src/+/6677314
* 6351556: [source-phase-imports] Support Wasm Source Phase Imports
https://chromium-review.googlesource.com/c/chromium/src/+/6351556
* 6700077: [renderer] Avoid calls to deprecated GetIsolate methods
https://chromium-review.googlesource.com/c/chromium/src/+/6700077
* 6692873: Reland "Reland "FSA: Only normalize the hardcoded rules once during initialization""
https://chromium-review.googlesource.com/c/chromium/src/+/6692873
* 6686234: [gin] Cleanup NamedPropertyInterceptor for Wrappable
https://chromium-review.googlesource.com/c/chromium/src/+/6686234
* chore: export patches
* 6667723: Remove content_enable_legacy_ipc GN arg.
https://chromium-review.googlesource.com/c/chromium/src/+/6667723
* 6646566: ui: Move NativeWindowTracker to its own directory
https://chromium-review.googlesource.com/c/chromium/src/+/6646566
* fix: add missing includes
* 6580522: [WAR, DNR] Fix unsafe redirect error to web accessible resource
https://chromium-review.googlesource.com/c/chromium/src/+/6580522
* 6680477: Implement `completeCode` endpoint and expose to DevTools
https://chromium-review.googlesource.com/c/chromium/src/+/6680477
* 6677511: [pepper] More pepper removal
https://chromium-review.googlesource.com/c/chromium/src/+/6677511
* 6696689: Rename views::WidgetFocusManager -> NativeViewFocusManager
https://chromium-review.googlesource.com/c/chromium/src/+/6696689
* 6702812: Move wtf/text/string_impl*.* to "blink" namespace
https://chromium-review.googlesource.com/c/chromium/src/+/6702812
* chore: fix dialog patch
* 6702431: [animation-trigger] Parse timeline-trigger-name
https://chromium-review.googlesource.com/c/chromium/src/+/6702431
* chore: fixup patch indices
* feat: replace webFrame.routingId with webFrame.frameToken
* feat: WebFrameMain.prototype.frameToken
* test: refactor to use replacement APIs
* chore: fixup pip patch
* test: adjust webFrame tests for frameToken changes
* 6703757: Reland "Enable -fsanitize=array-bounds in non-UBSan builds"
https://chromium-review.googlesource.com/c/chromium/src/+/6703757
* test: switch to frameTokens
* test: routingId is fine to test in the main process
* docs: add routingId to breaking changes
* docs: update plugin-crashed event
* chore: fixup linux dialog patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
(cherry picked from commit 603cafad7e)
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* chore: bump chromium in DEPS to 139.0.7242.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: update render_widget_host_view_mac.patch
no code changes; just updating patch context
Do a cleanup pass on the history swiper code | https://chromium-review.googlesource.com/c/chromium/src/+/6604367
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: update mas_avoid_private_macos_api_usage.patch.patch
no code changes; just updating patch context
[tracing] Delete base/trace_event/base_tracing.h | https://chromium-review.googlesource.com/c/chromium/src/+/6624012
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: update chore_provide_iswebcontentscreationoverridden_with_full_params.patch
no manual changes; just updating patch context
[ActorFramework] Refactor Actor Task Management | https://chromium-review.googlesource.com/c/chromium/src/+/6618684
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: update fix_move_autopipsettingshelper_behind_branding_buildflag.patch
[pip] Tuck picture-in-picture windows when a file dialog is open | https://chromium-review.googlesource.com/c/chromium/src/+/6449682
Reland "[document pip] Restrict the size that a website can request" | https://chromium-review.googlesource.com/c/chromium/src/+/6372104
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: update feat_corner_smoothing_css_rule_and_blink_painting.patch
Xref: corner-shape: constraint radii based on opposite corner overlap | https://chromium-review.googlesource.com/c/chromium/src/+/6592572
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: update revert_code_health_clean_up_stale_macwebcontentsocclusion.patch
no manual changes; just updating patch context
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: update fix_rename_sqlite_win32_exports_to_avoid_conflicts_with_node_js.patch
no code changes; just updating patch context
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: e patches all
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* Plumb Verify2QwacBinding and hook it up in QwacWebContentsObserver
https://chromium-review.googlesource.com/c/chromium/src/+/6624719
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Remove host delegate OnMainFrameCreatedForBackgroundPage
https://chromium-review.googlesource.com/c/chromium/src/+/6631123
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Extensions: Rename GetResourceURL to ResolveExtensionURL
https://chromium-review.googlesource.com/c/chromium/src/+/6625053
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Consolidate NativeFrameViewMac
https://chromium-review.googlesource.com/c/chromium/src/+/6614239
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* ICWYU
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Remove dead code WidgetAXTreeIDMap
https://chromium-review.googlesource.com/c/chromium/src/+/6619701
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Reland "extensions: Add `WillPrepareForEvaluation` to setup MojoJS"
https://chromium-review.googlesource.com/c/chromium/src/+/6630056
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* NavigationThrottleRunner2: Remove MaybeAddThrottle
https://chromium-review.googlesource.com/c/chromium/src/+/6628079
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Tuck picture-in-picture windows when a file dialog is open
https://chromium-review.googlesource.com/c/chromium/src/+/6449682
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* build: fix snapshot_blob.bin build error
xref: https://issues.chromium.org/issues/416540976
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: e patches all
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* build: freeup disk space on macos
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: bump chromium in DEPS to 139.0.7244.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: update printing.patch
no manual changes; just updating patch context
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: remove upstreamed ignore_parse_errors_for_resolveshortcutproperties.patch
Prevent Windows crash on unexpected shortcut type | https://chromium-review.googlesource.com/c/chromium/src/+/6633298
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: e patches all
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* Revert "Reland "extensions: Add `WillPrepareForEvaluation` to setup MojoJS""
This reverts commit 77c4f967a637f7e8970114f91311f9fddede0f7c.
Revert CL for the high confidence crash culprit for http://crash/28f897bb9743dfe0 | https://chromium-review.googlesource.com/c/chromium/src/+/6641819
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* Fix spec's expected base64-encoded PNG strings to match upstream changes.
[rust png] Enable by default. | https://chromium-review.googlesource.com/c/chromium/src/+/6085801
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 139.0.7246.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: e patches all
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 139.0.7248.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: update patches
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* siso: Enable Siso by default for non-Google builds
https://chromium-review.googlesource.com/c/chromium/src/+/6638830
Disabling for now until we are ready to build siso on all platforms.
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Revert "revert Don't use static variable for UseExternalPopupMenus"
This reverts commit e91e3894e6c34cc0ffe69ed45417c0ebec882fb1.
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Update mac_sdk_min to match minimum required SDK version
https://chromium-review.googlesource.com/c/chromium/src/+/6493969
(cherry picked from commit 3e7cbe912d8fe1062d68ed06968aaee22013985f)
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Use default window styling on Mac
https://chromium-review.googlesource.com/c/chromium/src/+/6648665
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Reland "Force the unintentional renderer process creation check by default"
https://chromium-review.googlesource.com/c/chromium/src/+/6626905
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* fixup: Reland "Force the unintentional renderer process creation check by default
https://chromium-review.googlesource.com/c/chromium/src/+/6626905
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: bump chromium in DEPS to 139.0.7249.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* fixup: Reland "Force the unintentional renderer process creation check by default
https://chromium-review.googlesource.com/c/chromium/src/+/6626905
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: update patches
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: bump chromium in DEPS to 139.0.7250.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: bump chromium in DEPS to 139.0.7252.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: bump chromium in DEPS to 139.0.7254.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* 6638187: browser level TOCTOU check for coordinate target
https://chromium-review.googlesource.com/c/chromium/src/+/6638187
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* chore: fixup patch indices
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* chore: add missing base/notimplemented includes
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* 6652910: [Frame Cleanup] Push down/hide implementation-specific API
https://chromium-review.googlesource.com/c/chromium/src/+/6652910
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* chore: bump chromium in DEPS to 139.0.7256.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: fix lint
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* fixup! 6652910: [Frame Cleanup] Push down/hide implementation-specific API
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* fix: move HandleScope location
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* chore: bump chromium in DEPS to 139.0.7258.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* fixup! [NonClientFrameView] Consolidate NativeFrameViewMac
Co-authored-by: deepak1556 <hop2deep@gmail.com>
* Revert "chore: bump chromium in DEPS to 139.0.7258.0"
This reverts commit 264b2e934f4b2705c47d9761010052b95d9dd5de.
Co-authored-by: deepak1556 <hop2deep@gmail.com>
* chore: update patches
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: patchup[bot] <73610968+patchup[bot]@users.noreply.github.com>
* refactor: local functions GetPrivate(), SetPrivate() now take std::string_views
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: make local keys std::string_views instead of C-style char arrays
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: make local keys constexpr
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: move local keys into local anonymous namespace
Co-authored-by: Charles Kerr <charles@charleskerr.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fix: add back fallback wasm-trap handling
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5372409
This change sets up wasm-trap handling for the case where content_shell
has not enabled crash reporting but moves the responsibility to
ElectronRendererClient. The default ContentRendererClient assumes
that crash reporting is enabled (crashpad enabled by default) and does
not set up its own handler.
* chore: fix build
---------
Co-authored-by: deepak1556 <hop2deep@gmail.com>
* Remove microtasks_scope.h and microtasks_scope.cc
* Use v8::MicrotasksScope when ignoring browser checkpoint
These call always skip the browser checkpoint, so they are equivalent to using v8::MicrotasksScope directly (modulo the optional wrapper behavior).
* Remove MicrotasksScope from node_bindings.cc
This code seems contradictory: it explicitly specifies "do not run microtasks" yet runs a microtask checkpoint in the browser process.
Looking at its history, it [was introduced][1] with the intention to not run microtasks, but a [subtle C++ language behavior][2] caused it to do the opposite later in the same roll. Since the original intention was to not run microtasks, and since that is also the simplest explanation, we can assume `ignore_browser_checkpoint` should be true and migrate this to `v8::MicrotasksScope` as it is equivalent (modulo the optional wrapper behavior).
[1]: https://github.com/electron/electron/pull/29058/commits/a4ea80dd47b1f13e10e218d298e70d6dd6b4fd0a#diff-efe58cf03c97028f37f801db044d396a5f428686da6595d2c692f1c052bbd09c
[2]: https://github.com/electron/electron/pull/43185
* Migrate gin_helper/promise.h and gin_helper/promise.cc to v8::MicrotasksScope
Restores the [original][1] behavior of running the microtask checkpoint at destruction, but preserves the behavior of running microtasks in the browser process. This had last changed in the migration to gin_helper::MicroTasks.
[1]: https://github.com/electron/electron/pull/16401
* fix: do not run microtasks in V8Serializer in browser process
* Remove no-op MicrotasksScope in `shell/browser/api/electron_api_auto_updater.cc`
This call was added in https://github.com/electron/electron/pull/40576 as an expansion of `gin_helper::EmitEvent`.
Since this only runs in the browser process and `bool ignore_browser_checkpoint = true` this code is a no-op.
Node should perform a microtask checkpoint if necessary in `node::MakeCallback`.
* Remove no-op MicrotasksScope in `shell/common/api/electron_bindings.cc`
This method is only called by the browser process. The containing function, `ElectronBindings::DidReceiveMemoryDump`, is only used in two places:
* `ElectronBindings::GetProcessMemoryInfo` in the same file, which has a `CHECK` that it's running in the browser process at the top.
* From `shell/browser/api/electron_api_web_contents.cc`, which is only run in the browser process.
Added a DCHECK for clarity and validation.
* Replace `gin_helper::MicrotasksScope` with `v8::MicrotasksScope` in `shell/renderer/`
The browser check is unnecessary in the renderer. Since `gin_helper::MicrotasksScope` will always act exactly like `v8::MicrotasksScope`, it's clear to just use the v8 object directly. This also brings them in line with the many other uses of `v8::MicrotasksScope` in `shell/renderer/`.
* perf: use an absl::flat_hash_set for UsbChooserContext::ephemeral_devices_
* perf: use an absl::flat_hash_set for GlobalMenuBarRegistrarX11::live_windows_
* perf: use an absl::flat_hash_set for NativeWindowViews::forwarding_windows_
* perf: use an absl::flat_hash_set for OffScreenRenderWidgetHostView::guest_host_views_
perf: use an absl::flat_hash_set for OffScreenRenderWidgetHostView::proxy_views_
* perf: use an absl::flat_hash_set for NativeWindow::injected_frames_
* perf: use an absl::flat_hash_set for NativeWindow::background_throttling_sources_
* feat: Corner Smoothing CSS rule (Reland)
Reland of #45185
* Fix patch conflicts
* fixup! Fix patch conflicts
* Update expected image
The dashed border is subtly different. The new version is correct and the old one was incorrect.
refactor: small refactor to WebWorkerObserver::WorkerScriptReadyForEvaluation()
- replace a std::vector<std::string> local with a compile-time array
of std::string_view
- remove .c_str() pessimization when making v8 Strings from string_views
* perf: make ElectronUsbDelegate::controller_map_ an absl::flat_hash_map
* perf: make ElectronSerialDelegate::controller_map_ an absl::flat_hash_map
* perf: make ElectronHidDelegate::controller_map_ an absl::flat_hash_map
* perf: make FrameTreeNodeIdMap an absl::flat_hash_map
* perf: make AutofillDriverFactory::driver_map_ an absl::flat_hash_map
* perf: make asar::Archive::external_files_ an absl::flat_hash_map
* perf: make VersionIdMap an absl::flat_hash_map
* perf: make ObjectCache::proxy_map_ an absl::flat_hash_map
* docs: add TODO to investigate absl map in KeyWeakMap
* chore: bump chromium in DEPS to 136.0.7052.0
* chore: update mas_avoid_private_macos_api_usage.patch.patch
https://chromium-review.googlesource.com/c/chromium/src/+/6318359
patch applied manually due to context shear
* chore: update preconnect_manager.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6318420
patch applied manually due to context shear
* chore: e patches all
* chore: bump chromium to 136.0.7053.1
* chore: update fix_remove_profiles_from_spellcheck_service.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6326575
patch applied manually due to context shear
* chore: e patches all
* chore: revert removal of v8 API used by Node.js
* devtools: Remove DevToolsUIBindings::SendJsonRequest() | https://chromium-review.googlesource.com/c/chromium/src/+/6326236
* 6244461: Merge //content/common/user_agent.cc into //components/embedder_support:user_agent | https://chromium-review.googlesource.com/c/chromium/src/+/6244461
* 6313744: Migrate views::Background factory methods to ColorVariant | https://chromium-review.googlesource.com/c/chromium/src/+/6313744
* 6314545: Remove multiple argument support from base::ToString() | https://chromium-review.googlesource.com/c/chromium/src/+/6314545
* 6317362: [Extensions] Inline MessagingDelegate::CreateReceiverForTab() | https://chromium-review.googlesource.com/c/chromium/src/+/6317362
* 6308998: Add SettingAccess structured metrics event for DevTools | https://chromium-review.googlesource.com/c/chromium/src/+/6308998
* 6295214: Remove redundant state field in per-extension preferences | https://chromium-review.googlesource.com/c/chromium/src/+/6295214
NB: this change is copied from the upstream change to extensions/shell/browser/shell_extension_loader.cc
* fix: ui/ linter error
This is showing up in an eslint build step in Electron:
> /__w/electron/electron/src/out/Default/gen/ui/webui/resources/cr_elements/preprocessed/cr_menu_selector/cr_menu_selector.ts
> 77:23 error This assertion is unnecessary since the receiver accepts the original type of the expression @typescript-eslint/no-unnecessary-type-assertion
>
> ✖ 1 problem (1 error, 0 warnings)
> 1 error and 0 warnings potentially fixable with the `--fix` option.
However, removing the assertion causes a typescript build failure:
> gen/ui/webui/resources/cr_elements/preprocessed/cr_menu_selector/cr_menu_selector.ts:77:23 - error TS2345: Argument of type 'HTMLElement | null' is not assignable to parameter of type 'HTMLElement'.
> Type 'null' is not assignable to type 'HTMLElement'.
>
> 77 items.indexOf(this.querySelector<HTMLElement>(':focus'));
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
So I think the two different steps may be picking up typescript definitions.
This patch should be removed after the issue is tracked down
and fixed in a followup task.
* fix: -Wnonnull warning
Fixes this warning:
> 2025-03-07T01:05:01.8637705Z ../../third_party/electron_node/src/debug_utils.cc(257,12): error: null passed to a callee that requires a non-null argument [-Werror,-Wnonnull]
> 2025-03-07T01:05:01.8638267Z 257 | return nullptr;
> 2025-03-07T01:05:01.8638481Z | ^~~~~~~
> 2025-03-07T01:05:01.8638700Z 1 error generated.
Not sure why this warning was never triggered before; `git blame`
indicates this code hasn't changed in ages:
> c40a8273ef2 (Michaël Zasso 2024-05-10 09:50:20 +0200 255) #endif // DEBUG
> 8e2d33f1562 (Anna Henningsen 2018-06-07 16:54:29 +0200 256) }
> 247b5130595 (Refael Ackermann 2018-10-22 15:07:00 -0400 257) return nullptr;
> 247b5130595 (Refael Ackermann 2018-10-22 15:07:00 -0400 258) }
Presumably this is failing in this Chromium roll due to a
clang version bump.
We should remove this patch after upstreaming it.
* docs: add upstream pr link for Node patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
`ReadUnicodeCharacter` updates index to the last character read, and not after it. We need to manually increment it to move to the next character.
It also doesn't validate that the index is valid, so we need to check that index is within bounds.
Refs: #44336
* refactor: more return-braced-init-list, this time for v8 and gin objects
* refactor: more return-braced-init-list, this time for v8, gin, std, and base objects
* refactor: misc-use-internal-linkage warnings in context bridge
move impl functions into anonymous namespace so that they're not visible
to other compilation units:
- ExposeAPIInWorld()
- IsCalledFromMainWorld()
- OverrideGlobalPropertyFromIsolatedWorld()
- OverrideGlobalValueFromIsolatedWorld()
- TraceKeyPath()
* refactor: misc-use-internal-linkage warnings in skia util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- struct ScaleFactorPair
- kScaleFactorPairs[]
- GetScaleFactorFromPath()
- AddImageSkiaRepFromPath()
* refactor: misc-use-internal-linkage warnings in printing util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetFullPagePlugin()
* refactor: misc-use-internal-linkage warnings in blijnk converter
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetKeyLocationCode()
- ModifiersToArray()
* refactor: misc-use-internal-linkage warnings in extrension system
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- ParseManifest()
* refactor: misc-use-internal-linkage warnings in skia util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetFrameTokenMap()
- GetFrameTreeNodeIdMap()
* refactor: misc-use-internal-linkage warnings in electron_api_utility_process.cc
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- GetAllUtilityProcessWrappers()
* refactor: misc-use-internal-linkage warnings in electron_api_menu
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- InvokeBoolMethod()
* refactor: misc-use-internal-linkage warnings in platform util
move impl details into anonymous namespace so that they're not visible
to other compilation units:
- struct TrashItemResult
- TrashItemOnBlockingThread()
* refactor: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list]
* refactor: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list]
NB: using the braced-initializer list uncovered an error here:
the float returned by std::floor() can't be implicitly cast to
an int. This is solved by using base::ClampFloor<int>() instead.
std::floor()
* perf: prefer NewFromUtf8Literal() over NewFromUtf8() for string literals
the string length is known at compile time and no need to call ToLocalChecked()
* perf: string length is known when calling NewFromUtf8(), so use it
* perf: remove unnecessary calls to c_str()
these just force the code being called to have to recalculate the string length