* perf: replace string temporary with string_view in GetXdgAppId()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: replace string temporary with string_view in ToV8(WindowOpenDisposition)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: replace string temporary with string_view in ToV8(electron::api::WebContents::Type)
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.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 | 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 | 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 | 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 | 6449682
Reland "[document pip] Restrict the size that a website can request" | 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 | 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
6624719
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Remove host delegate OnMainFrameCreatedForBackgroundPage
6631123
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Extensions: Rename GetResourceURL to ResolveExtensionURL
6625053
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Consolidate NativeFrameViewMac
6614239
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* ICWYU
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Remove dead code WidgetAXTreeIDMap
6619701
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Reland "extensions: Add `WillPrepareForEvaluation` to setup MojoJS"
6630056
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* NavigationThrottleRunner2: Remove MaybeAddThrottle
6628079
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Tuck picture-in-picture windows when a file dialog is open
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 | 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 | 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. | 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
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
6493969
(cherry picked from commit 3e7cbe912d8fe1062d68ed06968aaee22013985f)
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Use default window styling on Mac
6648665
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Reland "Force the unintentional renderer process creation check by default"
6626905
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* fixup: Reland "Force the unintentional renderer process creation check by default
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
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
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
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>
* chore: bump chromium in DEPS to 138.0.7180.0
* 6546797: Add a metric for the overall success of the "safe storage" item retrieval.
Refs 6546797
* 6548078: extensions: Fix TODO in ScriptInjectionTracker for desktop Android
Refs 6548078
* 6544950: Revert "FSA: Only normalize the hardcoded rules once during initialization"
Refs 6544950
* chore: bump chromium in DEPS to 138.0.7181.0
* chore: update patches
* fix: correctly clamp HSL shift values between 0 and 1
* chore: bump DEPS to 138.0.7183.0
* 6553142: Remove SelectFileDialogLinuxKde | 6553142
* chore: update patches
* chore: bump chromium in DEPS to 138.0.7184.0
* chore: bump chromium in DEPS to 138.0.7186.0
* chore: bump chromium in DEPS to 138.0.7190.0
* chore: update patches
* 6547778: Remove some superfluous //ui/gfx includes from //chrome headers | 6547778
* 6556022: Reland FSA: Only normalize the hardcoded rules once during initialization | 6556022
* fix: remove pdf_extension_util::AddAdditionalData
4099130
This was removed 2 years ago in Chrome.
* fix: provide BrowserContext to pdf_extension_util::AddAdditionalData
6558173
* fixup! 6556022: Reland FSA: Only normalize the hardcoded rules once during initialization | 6556022
* fix: pass in navigation throttle registry
6536175
* fixup! 6556022: Reland "FSA: Only normalize the hardcoded rules once during initialization" | 6556022
This partially reverts commit 20d709dd15ba0ff332e24ee314149d642dc5d47c.
* 6545984: corner-shape: render dashed & dotted borders
Refs 6545984
* Update corner smoothing expected images
* Apply "future" revert commit to fix windows build
> Reason for revert: Multiple eng reporting that this is causing build failures due to too-long pathnames, with no immediate feasible workaround
This issue also affects our CI builds.
Problematic CL in current roll: 6494836: [webgl] Add stub WebGL[2]RenderingContextWebGPU | 6494836
"Future" revert CL: 6565622: Revert "[webgl] Add stub WebGL[2]RenderingContextWebGPU" | 6565622
This patch should automatically disappear when we roll the revert.
* 6533919: win: don't add WS_CAPTION style to popup windows
6533919
This mirrors the change made earlier to the code ours is based on: 6374074: [headless] Provide headless aware window metrics on Windows | 6374074
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
Co-authored-by: clavin <clavin@electronjs.org>
document the default value of priority option
Update the priority test to not use the httpbin.org as server
Fixed the lint errors
Fixed the build error
* refactor: use base::circular_deque in ResolveProxyHelper
* refactor: use base::circular_deque in GetExtraCrashKeys()
refactor: reduce visibility of kMaxCrashKeyValueSize
This change is to match Chromium's usage advice from
base/containers/README.md: `base:circular_deque` is preferred over
`std::deque` to provide consistent performance across platforms.
* refactor: make TrackableObject::weak_map_id() constexpr
refactor: make BaseWindow::GetID() inline and constexpr
* refactor: make NativeWindow::window_id() constexpr too
* feat: enable innerWidth and innerHeight for window open
* update comment for added special innerWidth and innerHeight
* update 100 min spec requirement handling
* update testing to include getContentSize
* update macOS min requirement handling
* adjust refactored consts
* update const values from nativewindowviews
* refactor: use ValueOrDefault() in electron_api_web_contents.cc
* refactor: use ValueOrDefault() in electron_api_url_loader.cc
* refactor: use ValueOrDefault() in electron_download_manager_delegate.cc
* refactor: use ValueOrDefault() in electron_touch_bar.mm
* refactor: use ValueOrDefault() in electron_url_loader_factory.cc
* refactor: use ValueOrDefault() in electron_browser_context.cc
* refactor: use ValueOrDefault() in electron_touch_bar.mm
* refactor: use ValueOrDefault() in blink_converter.cc
* feat: add ValueOrDefault() to PersistentDictionary
* empty commit
* refactor: use ValueOrDefault() in blink_converter.cc
* refactor: inline the rectangle base::Value::Dict
* refactor: remove has_scroll temporary
---------
Co-authored-by: Deepak Mohan <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]: a4ea80dd47 (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
* feat: add gin_helper::Dictionary::ValueOrDefault()
A convenience function for using a default value if the
specified key isn't present in the dictionary.
* refactor: use ValueOrDefault() in native_window.cc
* refactor: use ValueOrDefault() in native_window_mac.mm
* refactor: use ValueOrDefault() in native_window_views.cc
* refactor: use ValueOrDefault() in electron_api_native_image.cc
* fix: prevent log files being written to current directory on Windows
* Update shell/common/logging.cc
Co-authored-by: Robo <hop2deep@gmail.com>
* chore: add test
* chore: update includes
Refs 6418805
* chore: address review feedback
---------
Co-authored-by: Robo <hop2deep@gmail.com>
* refactor: add EmitDeprecationWarning helper
Also switches EmitWarning to using Node's ProcessEmitWarningGeneric
* chore: use node namespace for function call
* refactor: add electron::Buffer namespace; move the Buffer as_byte_span() into it
* feat: add electron::Buffer::Copy()
a span-friendly version of node::Buffer::Copy()
* refactor: use electron::Buffer::Copy() in electron_api_base_window.cc
* refactor: use electron::Buffer::Copy() in electron_api_data_pipe_holder.cc
* refactor: use electron::Buffer::Copy() in electron_api_safe_storage.cc
* refactor: use electron::Buffer::Copy() in electron_api_clipboard.cc
* refactor: use electron::Buffer::Copy() in osr_converter.cc
* refactor: use electron::Buffer::Copy() in electron_api_native_image.cc
* refactor: use electron::Buffer::Copy() in net_converter.cc
* refactor: use electron::Buffer::Copy() in electron_api_web_contents.cc
* refactor: make NewEmptyBuffer() return a Local<Value>
* chore: bump chromium in DEPS to 137.0.7107.0
* chore: bump chromium in DEPS to 137.0.7109.0
* chore: bump chromium in DEPS to 137.0.7111.0
* chore: bump chromium in DEPS to 137.0.7113.0
* 6384240: Remove double-declaration for accessibility on macOS | 6384240
* 6422872: Remove unused includes in isolation_info_mojom_traits.h | 6422872
* chore: update patches
* 6400733: Avoid ipc_message_macros.h usage in some foo_param_traits_macros.h files | 6400733
* chore: update patches
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
* chore: iwyu
* refactor: prefer value initialization over memset()
From the looks up upstream commits in base/, it looks like memset()
could trigger `-Wunsafe-buffer-usage` warnings soon?
Value initialization is more C++ish and less error-prone anyway,
due to memset()'s easily swappable parameters.
* refactor: NotifyIcon::InitIconData() returns a NOTIFYICONDATA
This follows F.20 in the C++ Core Guidelines and also removes the need
for memset()
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
remove all uses of:
- strcmp()
* fixup! 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
* 6433203: Add a PassKey to RegisterDeleteDelegateCallback(). | 6433203
* chore: bump chromium in DEPS to 137.0.7115.0
* 6387077: [PermissionOptions] Generalize PermissionRequestDescription | 6387077
* chore: update patches
* 6387077: [PermissionOptions] Generalize PermissionRequestDescription | 6387077
* fix: add pragma for MacSDK unsafe buffers | 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
* chore: bump chromium in DEPS to 137.0.7117.0
* chore: update patches
* chore: update filesnames.libcxx.gni
* 6431756: Replace SetOwnedByWidget() bool arg with a PassKey. | 6431756
* 6387077: [PermissionOptions] Generalize PermissionRequestDescription | 6387077
* 6428345: Remove ExtensionService usage from ChromeExtensionRegistrarDelegate | 6428345
* 6384315: Migrate extensions_enabled from ExtensionService to Registrar | 6384315
* 6428749: [extensions] Refactor ExtensionService for AddNewAndUpdateExtension. | 6428749
* chore: bump chromium in DEPS to 137.0.7119.0
* 6440290: corner-shape: support inset shadow | 6440290
* 6429230: FSA: Move blocked paths to the PermissionContext class | 6429230
* chore: update patches
* chore: bump chromium in DEPS to 137.0.7121.0
* chore: update patches
* fix: partially revert 6443473: Remove ItemDelete from the Mac version of AppleKeychain | 6443473
* fix: update filenames.libcxx.gni
* chore: bump chromium in DEPS to 137.0.7123.0
* chore: update patches
* chore: "grandfather in" electron views too
Lock further access to View::set_owned_by_client() | 6448510
* chore: update feat_corner_smoothing_css_rule_and_blink_painting.patch
corner-shape: support inset shadow | 6440290
* refactor: grandfather in AutofillPopupView as a subclass of WidgetDelegateView
Add a PassKey for std::make_unique<WidgetDelegateView>() | 6442265
* Provide dbus appmenu information on Wayland | 6405535
* [extensions] Move OnExtensionInstalled out of ExtensionService. | 6443325
* refactor: grandfather in NativeWindowViews for delete callbacks
6433203: Add a PassKey to RegisterDeleteDelegateCallback(). | 6433203
* chore: merge the four "grandfather" patches into one
* [A11yPerformance] Remove IsAccessibilityAllowed() | 6404386: [A11yPerformance] Remove IsAccessibilityAllowed() | 6404386
NB: the changes here are copied from the upstream changes in
chrome/browser/ui/webui/accessibility/accessibility_ui.cc
* 6420753: [PermissionOptions] Use PermissionDescriptorPtr in PermissionController | 6420753
* 6429573: [accessibility] Move mode change out of AccessibilityNotificationWaiter | 6429573
* chore: e patches all
* 6419936: [win] Change ScreenWin public static methods to virtual | 6419936
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
remove all uses of:
- fprintf()
- fputs()
- snprintf()
- vsnprintf()
* fix: size conversion FTBFS on Win
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
remove all uses of:
- wcscpy_s()
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
remove all uses of:
- wcsncpy_s()
* chore: update mas_avoid_private_macos_api_usage.patch.patch
6394283: Remove double-declaration for accessibility on iOS | 6394283
Lots of context shear in this commit but the only interesting part is:
-+ return nullptr;
++ return {};
Which is needed because the return type is sometimes not a pointer.
* chore: e patches all
* chore: disable -Wmacro-redefined warning in electron_main_win.cc
* chore: bump chromium in DEPS to 137.0.7123.5
* refactor: patch electron PermissionTypes into blink
6387077: [PermissionOptions] Generalize PermissionRequestDescription | 6387077
* chore: e patches all
* chore: remove the box_painter_base.cc part of feat_corner_smoothing_css_rule_and_blink_painting.patch
as per code review @ https://github.com/electron/electron/pull/46482#pullrequestreview-2777338370
* test: enable window-smaller-than-64x64 test on Linux
* chore: bump chromium in DEPS to 137.0.7124.1
* chore: bump chromium in DEPS to 137.0.7125.1
* chore: bump chromium in DEPS to 137.0.7127.3
* 6459201: [Extensions] Remove ExtensionSystem::FinishDelayedInstallationIfReady() | 6459201
* 6454796: [Extensions] Move (most) registrar delayed install logic to //extensions | 6454796
* chore: bump chromium in DEPS to 137.0.7128.1
* chore: e patches all
* chore: node ./script/gen-libc++-filenames.js
* [views] Gate DesktopWindowTreeHostWin::window_enlargement_ behind flag
Refs 6428649
* feat: allow opt-out animated_content_sampler.
Refs 6438681
* Trigger CI
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* 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: do not clone the map each time we call Archive::HeaderIntegrity()
* perf: use absl::flat_hash_map for the integrity cache
* perf: do not clone the JSON payload string
* perf: preallocate capacity for the integrity cache
* perf: use move variant of insert_or_assign()
* refactor: simplify integrity cache building
remove unnecessary std::optional<>
* refactor: use base::FindOrNull()
* refactor: remove unused #includes
* refactor: make variable types explicit
* fix: make res_size unsigned
* refactor: put GetIntegrityConfigCache() in an unnamed namespace
refator: put LoadIntegrityConfig() in an unnamed namespace
* fix: oops, missing rel_path_utf8 key
* fix: oops, fix Wunreachable-code-return
* chore: bump chromium in DEPS to 136.0.7076.0
* chore: bump chromium in DEPS to 136.0.7077.0
* 6368856: Migrate absl variant.h and utility.h in content (part 2/2) | 6368856
* 6356528: Clean up LegacyRenderWidgetHostHWND code | 6356528
* chore: export patches
* 6339113: [Viewport Segments] Add CDP commands to override Viewport Segments without overriding other device properties. | 6339113
* 6352169: [DevTools][MultiInstance] Support new tab in another window on Android | 6352169
* 6368856: Migrate absl variant.h and utility.h in content (part 2/2) | 6368856
* 6360858:Clickiness: Wire response from URLLoader to DB, add e2e tests| 6360858
* chore: bump chromium in DEPS to 136.0.7079.0
* chore: export patches
* chore: bump chromium in DEPS to 136.0.7081.0
* chore: export patches
* chore: bump chromium in DEPS to 136.0.7083.0
* 6361987: Remove double-declaration with gfx::NativeView and gfx::NativeWindow | 6361987
* chore: export patches
* chore: bump chromium in DEPS to 136.0.7087.0
* chore: export patches
* fix: include node patch for missing AtomicsWaitEvent
6385540
* build: add depot_tools python to path
* fix: cppgc init and unregistering v8 isolate
6333562
CppGc is now initialized earlier so Node can skip reinitializing it.
Additionally, gin::IsolateHandle was attempting to destruct an already destructed
v8::Isolate upon electron::JavaScriptEnvironment destruction. By removing the call
to NodePlatform::UnregisterIsolate, this fixes the crash on app shutdown.
* fix: unregister isolate after destruction
See code comment.
* chore: bump chromium in DEPS to 136.0.7095.0
* chore: sync patches
* fix: add script_parsing::ContentScriptType parameter
6298395
* fix: migrate content::BrowserAccessibilityState methods
64014376383275
* feat: enableHappyEyeballs option for host resolver
6332599
* fix: add new cookie exclusion reason
6343479
* fix: add new url loader method
6337340
* fix: add new cppgc header file for electron_node headers
6348644
* fix: disable CREL on Linux ARM64
https://chromium-review.googlesource.com/q/I3a62f02f564f07be63173b0773b4ecaffbe939b9
* fixup! fix: add new cppgc header file for electron_node headers 6348644
* chore: update corner smoothing patch
* fixup! chore: update corner smoothing patch
* chore: disable NAN weak tests
These two tests are incompatible with a V8 change that disallows running JS code from a weak finalizer callback.
Ref: 4733273
* test: fix task starvation in node test
A V8 change makes these contexts get collected in a task that is posted
and run asynchronously. The tests were synchronously GC'ing in an
infinite loop, preventing the task loop from running the task that would
GC these contexts.
This change should be upstreamed in some way.
Ref: 4733273
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: clavin <clavin@electronjs.org>
perf: have ErrorThrower lazy-lookup the current isolate
ErrorThrower's default constructor is marked as "should rarely if ever
be used" because it's expensive to call.
Unfortunately, nearly every instance of ErrorThrower comes as an argument
in gin_helper's JS-->C++ function marshalling where a thrower is
default-constructed and then populated in gin_helper::GetNextArgument()
with an assignment operator to a temporary ErrorThrower constructed
with the gin::Arguments' isolate.
tldr: most of the time we use the slow constructor first, then throw
that work away unused by overwriting with a fast-constructed one.
This refactor avoids that cost by deferring the expensive work to
`ErrorThrower::isolate()`, where it happens only as a fallback iff
isolate_ hasn't been set.
* 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: migrate AsarFileValidator to crypto::hash
This change migrates AsarFileValidator's uses of crypto::secure_hash
to the new crypto::hash API, which has more memory safety and less
heap allocations.
Xref: 6287609
* refactor: migrate ValidateIntegrityOrDie to crypto::hash
This change migrates ValidateIntegrityOrDie's use of crypto::SHA256Hash
to the new crypto::hash API, which has more memory safety and less heap
allocations.
Xref: 6287609