* fix: restore Chromium default Content-Disposition header parsing
Co-authored-by: Milan Burda <milan.burda@gmail.com>
* Update api-web-request-spec.ts
Co-authored-by: Milan Burda <milan.burda@gmail.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Milan Burda <milan.burda@gmail.com>
refactor: use an EscapableHandleScope
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
reassign the uv_handle_t of the source
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
refactor: avoid redundant Promise.GetContext calls
Several Promise methods call `GetContext()` multiple times. From looking
at the assembly in obj/electron/electron_lib/promise.o, these redundant
calls are actually being made -- they aren't optmized out.
This PR keeps the return value in a local variable to avoid extra calls.
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
refactor: take a uint8_t span in ValidateIntegrityOrDie()
Doing some groundwork for fixing unsafe base::File() APIs:
- Change ValidateIntegrityOrDie() to take a span<const uint8_t> arg.
We'll need this to migrate asar's base::File API calls away from the
ones tagged `UNSAFE_BUFFER_USAGE` because the safe counterparts use
span<uint8_t> too.
- Simplify ValidateIntegrityOrDie()'s implementation by using
crypto::SHA256Hash() instead of reinventing the wheel.
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
fix: confirm a v8::Value is a v8::Object before casting it
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
fix: ensure version of xdg-dialog-portal with defaultPath support
Closes https://github.com/electron/electron/issues/43310
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* fix: free UvTaskRunner timers only after they are closed
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: UvTaskRunner now holds UvHandles
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: Launch apps with XDG_ACTIVATION_TOKEN in ozone/wayland
Ensure apps are launched with the activation token received from
xdg_activation_v1 protocol.
Co-authored-by: Orko Garai <orko@igalia.com>
* add focus_launched_process option
Co-authored-by: Orko Garai <orko@igalia.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Orko Garai <orko@igalia.com>
* perf: use v8::Object* as direct keys instead of using hash + a linked list
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: use v8::Local<v8::Object> as the key
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: systemMediaPermissionDenied: should check for screen capture perms instead of camera
Co-authored-by: George Xu <george.xu@slack-corp.com>
* Revert "fix: systemMediaPermissionDenied: should check for screen capture perms instead of camera"
This reverts commit e9cc67216558263402867056ed332f8781da3153.
Co-authored-by: George Xu <george.xu@slack-corp.com>
* should only do these checks for audio or video, but not screenshare
Co-authored-by: George Xu <george.xu@slack-corp.com>
* no service
Co-authored-by: George Xu <george.xu@slack-corp.com>
* oops
Co-authored-by: George Xu <george.xu@slack-corp.com>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: George Xu <george.xu@slack-corp.com>
* fix: -Wunsafe-buffer-usage warnings in IsUrlArg()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: improve code comments for CheckCommandLineArguments()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: reduce diffs from main
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: CheckCommandLineArguments takes a StringVector arg
Fixes another buffer warning!
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>
As per the gin docs: "Wrappable<T> explicitly does not support further
subclassing of T. Subclasses of Wrappable<T> should be declared final."
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
fix: don't run symbol generation on PS
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
* fix: remove use of deprecated v8::String::Value
Upstream marked v8::String::Value as `V8_DEPRECATE_SOON` last month,
so let's stop using it.
The replacement code mostly does the same as v8::String::Value();
but since our test only cares about the length and not the contents,
we get a small perf win of not needing to allocate a char array and
not needing to call Local::String::Write().
Upstream V8_DEPRECATE_SOON:
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5667299kkk
v8::String::Value() implementation:
20226b740b/src/api/api.cc (10883)
History on why we used it:
80c1a9739df49ed30f72
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* Update shell/common/gin_converters/file_path_converter.h
Co-authored-by: Robo <hop2deep@gmail.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fixup! Update shell/common/gin_converters/file_path_converter.h
do not return success for all non-Null non-Strings
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>
When an electron app is launched by another app ensure that the
XDG_ACTIVATION_TOKEN env var is read and used for activation using
xdg_activation_v1 protocol.
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Orko Garai <orko@igalia.com>
* chore: free up macos disk space as soon as possible
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* build: free up disk space on gn check too
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
added in Aug 2021 (41646d11, #29600) but never used
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: avoid double-call to url.scheme() in WebContentsZoomController::SetZoomMode()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: use gurl.scheme_piece() in GetAppInfoHelperForProtocol()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: use gurl.scheme_piece() in Browser::GetApplicationNameForProtocol()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: add std::less<> to HandlersMap
This lets us search it using string_view keys
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: ProtocolRegistry::FindRegistered() now takes a std::string_view
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: use gurl.scheme_piece() in InspectableWebContents::LoadNetworkResource()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* refactor: ProtocolRegistry::FindIntercepted() now takes a std::string_view
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: use gurl.scheme_piece() in SimpleURLLoaderWrapper::GetURLLoaderFactoryForURL()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: use gurl.scheme_piece() in ProxyingURLLoaderFactory::CreateLoaderAndStart()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: use gurl.host_piece() in ElectronWebUIControllerFactory::GetWebUIType()
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* perf: use gurl.host_piece() in ElectronWebUIControllerFactory::CreateWebUIControllerForURL()
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: remove unused asar::ClearArchives()
last use removed in Jun 2021 (b1d1ac65, #29293)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
docs: titleBarOverlay is defined as a BaseWindow ctor option
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>