Right now DelayedNativeViewHost attaches its underlying native view
when it's being attached to a widget but it doesn't detach it when
it's being detached. It may lead to use-after-free and crash.
Add a `base::WeakPtr<WebContents>` field to SerialChooserController and
stop subclassing from WebContentsObserver. This follows the Observer docs:
> don't create a `WebContentsObserver` just to be able to check
> for a null `WebContentsObserver::web_contents()`.
> Use a `base::WeakPtr<WebContents>` instead.
prefactor: prefer member initializers in asar::Archive
prefactor: prefer member initializers in asar::Archive::FileInfo
prefactor: prefer member initializers in asar::IntegrityPayload
* refactor: CallMethodWithArgs() now takes a span of value handles
* perf: use std::array instead of std::vector to hold Emit arg parameter packs
* chore: remove unused gin_helper::EmitEvent(iso, obj, name, span<Local>)
* chore: bump chromium in DEPS to 130.0.6673.0
* chore: bump chromium in DEPS to 130.0.6675.0
* chore: bump chromium in DEPS to 130.0.6677.2
* chore: bump chromium in DEPS to 130.0.6679.0
* 5802981: [Partitioned Popins] UKM
5802981
* 5799275: ash: Create //chrome/browser/ui/ash/web_view
5799275
* 5791853: [PWA] Allow WebContentsImpl::CreateNewWindow() to use new web contents for loading url
5791853
* 5805208: Move third_party/jacoco to a cipd/ subdirectory.
5805208
* chore: fixup patch indices
* 5771091: Introduce InputManager class for handling input in Viz.
5771091
* 5498921: [Permission] Remove SubscribeToPermissionStatusChange from PermissionManager
5498921
* 5791853: [PWA] Allow WebContentsImpl::CreateNewWindow() to use new web contents for loading url
5791853
* 5801311: Don't use int for bindings
5801311
* 5548827: [Web Install] Define the web-app-installation PermissionPolicy
5548827
* 5786325: Add Infrastructure for Hand tracking permission
5786325
* chore: fixup patch indices
* chore: bump chromium in DEPS to 130.0.6681.0
* [Views AX] Move BrowserAccessibility* to //ui/accessibility/platform
Xref: 5520052
* chore: e patches all
* Don't have default arguments on virtual functions in render_frame_host.h
5809399
* test: log if loadURL fails in base url test
* chore: bump chromium in DEPS to 130.0.6683.2
* chore: fix support_mixed_sandbox_with_zygote.patch
content: restore old DisableJit behavior
5804255
* chore: update patch indices
* chore: bump chromium in DEPS to 130.0.6685.0
* Parallel process launching
Xref: 5015584
* chore: update feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch
No manual changes; patch applied with fuzz 1
* chore: e patches all
* chore: bump chromium in DEPS to 130.0.6687.0
* chore: bump chromium in DEPS to 130.0.6689.0
* chore: bump chromium in DEPS to 130.0.6691.0
* chore: bump chromium in DEPS to 130.0.6693.0
* chore: update patches
* chore: bump chromium in DEPS to 130.0.6695.0
* chore: free up macos disk space as soon as possible
* 5824143: Use checked in source lists for third_party/boringssl
5824143
* chore: update patches
* 5824122: Extensions: Add a new view type enum for developer tools contexts
5824122
* 5806109: Option for JavaScriptExecuteRequestForTests() to ignore content settings
5806109
* build: free up disk space on gn check too
* 5799369: [Refactoring] Make allow_http1_for_streaming_upload flags false.
5799369
* fixup! 5015584: Parallel process launching | 5015584
* Disable failing test for short-term
See: https://github.com/electron/electron/issues/43730
* oops
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: clavin <clavin@electronjs.org>
* chore: iwyu mojom.h headers
* fixup! chore: iwyu mojom.h headers
make previously-indirect include dependency direct
* fixup! fixup! chore: iwyu mojom.h headers
make previously-indirect include dependency direct
Closes https://github.com/electron/electron/issues/43714.
Fixes an issue where the resizing border was not being handled correctly on Linux WCO
caption buttons. This is now taken into account as a part of the NonClientHitTest.
* refactor: move scope scaffolding into SettletScope
idea stolen from SpellCheckScope
* refactor: move impl of PromiseBase::RejectPromise() to the cc file
* chore: remove unused #include
* feat: hide menu bar on windows fullscreen
* test: state prior to html fullscreen transition
* refactor: restore `#ifdef` for readability
Reference: https://github.com/electron/electron/pull/43402#discussion_r1729356262
* docs: menu bar behavior changed
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
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.
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.
Use v8::ArrayBufferView::CopyContents() instead of doing the pointer
math + memcpy() ourselves. This not only solves the buffer warnings,
but may also avoid some additional overhead:
> Copy the contents of the ArrayBufferView's buffer to an
> embedder defined memory without additional overhead that
> calling ArrayBufferView::Buffer might incur.
* fix: Launch apps with XDG_ACTIVATION_TOKEN in ozone/wayland
Ensure apps are launched with the activation token received from
xdg_activation_v1 protocol.
* add focus_launched_process option
chore: migrate to v8::Object::SetPrototypeV2().
Xref: 5600627
[api] Mark v8::Object::GetPrototype() for deprecation
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* 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: 5667299kkk
v8::String::Value() implementation:
20226b740b/src/api/api.cc (10883)
History on why we used it:
80c1a9739df49ed30f72
* Update shell/common/gin_converters/file_path_converter.h
Co-authored-by: Robo <hop2deep@gmail.com>
* fixup! Update shell/common/gin_converters/file_path_converter.h
do not return success for all non-Null non-Strings
---------
Co-authored-by: Robo <hop2deep@gmail.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.
* fix: systemMediaPermissionDenied: should check for screen capture perms instead of camera
* Revert "fix: systemMediaPermissionDenied: should check for screen capture perms instead of camera"
This reverts commit e9cc67216558263402867056ed332f8781da3153.
* should only do these checks for audio or video, but not screenshare
* no service
* oops
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* fix: -Wunsafe-buffer-usage warnings in IsUrlArg()
* chore: improve code comments for CheckCommandLineArguments()
* chore: reduce diffs from main
* refactor: CheckCommandLineArguments takes a StringVector arg
Fixes another buffer warning!