* feat: Use DIR_ASSETS path to locate resource bundles
Co-authored-by: Will Anderson <andersonw@dropbox.com>
* Use DIR_ASSETS for calculating ASAR relative paths
Co-authored-by: Will Anderson <andersonw@dropbox.com>
* Add test to verify 'assets' matches parent dir of 'exe'
Co-authored-by: Will Anderson <andersonw@dropbox.com>
* Add Mac-specific test for assets path (but it is failing)
Co-authored-by: Will Anderson <andersonw@dropbox.com>
* test: Update app.getPath('assets') to expect an exception on Mac
Co-authored-by: Will Anderson <andersonw@dropbox.com>
* docs: Update docs for 'assets' path to indicate that it's only available on Windows + Linux
Co-authored-by: Will Anderson <andersonw@dropbox.com>
* fix: Don't define 'assets' mapping on macOS
Co-authored-by: Will Anderson <andersonw@dropbox.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Will Anderson <andersonw@dropbox.com>
* 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>
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
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Zeeker <13848632+zeeker999@users.noreply.github.com>
* chore: bump chromium in DEPS to 138.0.7180.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* 6546797: Add a metric for the overall success of the "safe storage" item retrieval.
Refs https://chromium-review.googlesource.com/c/chromium/src/+/6546797
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* 6548078: extensions: Fix TODO in ScriptInjectionTracker for desktop Android
Refs https://chromium-review.googlesource.com/c/chromium/src/+/6548078
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* 6544950: Revert "FSA: Only normalize the hardcoded rules once during initialization"
Refs https://chromium-review.googlesource.com/c/chromium/src/+/6544950
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* chore: bump chromium in DEPS to 138.0.7181.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: update patches
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* fix: correctly clamp HSL shift values between 0 and 1
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* chore: bump DEPS to 138.0.7183.0
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* 6553142: Remove SelectFileDialogLinuxKde | https://chromium-review.googlesource.com/c/chromium/src/+/6553142
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* chore: update patches
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* chore: bump chromium in DEPS to 138.0.7184.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: bump chromium in DEPS to 138.0.7186.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: bump chromium in DEPS to 138.0.7190.0
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* chore: update patches
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* 6547778: Remove some superfluous //ui/gfx includes from //chrome headers | https://chromium-review.googlesource.com/c/chromium/src/+/6547778
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* 6556022: Reland FSA: Only normalize the hardcoded rules once during initialization | https://chromium-review.googlesource.com/c/chromium/src/+/6556022
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* fix: remove pdf_extension_util::AddAdditionalData https://chromium-review.googlesource.com/c/chromium/src/+/4099130
This was removed 2 years ago in Chrome.
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* fix: provide BrowserContext to pdf_extension_util::AddAdditionalData https://chromium-review.googlesource.com/c/chromium/src/+/6558173
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* fixup! 6556022: Reland FSA: Only normalize the hardcoded rules once during initialization | https://chromium-review.googlesource.com/c/chromium/src/+/6556022
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* fix: pass in navigation throttle registry https://chromium-review.googlesource.com/c/chromium/src/+/6536175
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* fixup! 6556022: Reland "FSA: Only normalize the hardcoded rules once during initialization" | https://chromium-review.googlesource.com/c/chromium/src/+/6556022
This partially reverts commit 20d709dd15ba0ff332e24ee314149d642dc5d47c.
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* 6545984: corner-shape: render dashed & dotted borders Refs https://chromium-review.googlesource.com/c/chromium/src/+/6545984
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* Update corner smoothing expected images
Co-authored-by: clavin <clavin@electronjs.org>
* 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 | https://chromium-review.googlesource.com/c/chromium/src/+/6494836
"Future" revert CL: 6565622: Revert "[webgl] Add stub WebGL[2]RenderingContextWebGPU" | https://chromium-review.googlesource.com/c/chromium/src/+/6565622
This patch should automatically disappear when we roll the revert.
Co-authored-by: clavin <clavin@electronjs.org>
* 6533919: win: don't add WS_CAPTION style to popup windows https://chromium-review.googlesource.com/c/chromium/src/+/6533919
This mirrors the change made earlier to the code ours is based on: 6374074: [headless] Provide headless aware window metrics on Windows | https://chromium-review.googlesource.com/c/chromium/src/+/6374074
Co-authored-by: clavin <clavin@electronjs.org>
* 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: 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>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* refactor: use base::circular_deque in ResolveProxyHelper
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* 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.
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>
* refactor: make TrackableObject::weak_map_id() constexpr
refactor: make BaseWindow::GetID() inline and constexpr
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: make NativeWindow::window_id() constexpr too
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>
feat: enable innerWidth and innerHeight for window open (#46749)
* 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
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Michaela Laurencin <35157522+mlaurencin@users.noreply.github.com>
refactor: use `gin_helper::Dictionary::ValueOrDefault()` (#46982)
* 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: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* feat: add gin_helper::Dictionary::ValueOrDefault()
A convenience function for using a default value if the
specified key isn't present in the dictionary.
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: use ValueOrDefault() in native_window.cc
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: use ValueOrDefault() in native_window_mac.mm
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: use ValueOrDefault() in native_window_views.cc
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: use ValueOrDefault() in electron_api_native_image.cc
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>
refactor: pass gfx::ResizeEdge by value
It is an enum class, so no reason to pass by reference
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: add EmitDeprecationWarning helper
Also switches EmitWarning to using Node's ProcessEmitWarningGeneric
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* chore: use node namespace for function call
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
* 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>
* 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