Charles Kerr
a974b74e82
fix: replace deprecated libnotify API calls ( #43962 )
...
notify_notification_set_hint_string() is deprecated, so let's use
notify_notification_set_hint() instead.
Xref: 2fe1748295
2024-09-26 11:21:45 -05:00
Shelley Vohr
da6ab92353
fix: ensure correct WebContents
when checking PDFReadyToPrint
( #43943 )
...
* fix: ensure correct WebContents when checking PDFReadyToPrint
* test: fix paths on Windows
2024-09-26 10:54:13 -04:00
Charles Kerr
ddd45db6ca
fix: -Wunsafe-buffer-usage warnings in GdkPixbufFromSkBitmap() ( #43956 )
...
* fix: -Wunsafe-buffer-usage warnings in GdkPixbufFromSkBitmap()
* refactor: don't change previous behavior for 0-height images
Is a 0x0 image even a thing? I'm not sure; but just in case, let's
treat it the same way the previous implementation did.
2024-09-26 08:32:43 -05:00
John Beutner
c8895d0547
fix: close all open sheets before closing window on macOS ( #43706 )
2024-09-25 13:23:49 +02:00
Charles Kerr
1d3b1284c4
test: ensure sender-pid
hint is set in Linux notifications ( #43928 )
...
test: expect a `sender-pid` hint in Linux notifications.
This PR ensures that the `sender-pid` hint is set for new notifications.
It also updates the spec to confirm that DBus receives the hint and that
it has the correct value.
This fixes a spec failure when running libnotify >= 0.7.12 (2022-05-05).
Starting with that version, libnotify started injecting `sender-pid` if
not provided by the client. So our tests received a slightly different
DBus payload depending on what version of libnotify was installed,
causing our deep-equals tests to fail.
By always providing and testing the `sender-pid` hint, our behavior and
tests should be consistent across distros.
2024-09-25 13:20:36 +02:00
electron-roller[bot]
30fbeec036
chore: bump chromium to 131.0.6734.0 (main) ( #43769 )
...
* chore: bump chromium in DEPS to 130.0.6723.4
* chore: bump chromium in DEPS to 131.0.6724.0
* chore: update patches
* chore: update libc++ filenames
* 5844369: controlledframe: Disable Web Bluetooth for <webview> & <controlledframe>
https://chromium-review.googlesource.com/c/chromium/src/+/5844369
* (multiple CLs): Use an opaque type for FrameTreeNode IDs
5807683: Use an opaque type for FrameTreeNode IDs, part 1 | https://chromium-review.googlesource.com/c/chromium/src/+/5807683
5829746: Use an opaque type for FrameTreeNode IDs, part 2 | https://chromium-review.googlesource.com/c/chromium/src/+/5829746
5836903: Use an opaque type for FrameTreeNode IDs, part 7 | https://chromium-review.googlesource.com/c/chromium/src/+/5836903
5837249: Use an opaque type for FrameTreeNode IDs, part 8 | https://chromium-review.googlesource.com/c/chromium/src/+/5837249
5836564: Use an opaque type for FrameTreeNode IDs, part 12 | https://chromium-review.googlesource.com/c/chromium/src/+/5836564
5837180: Use an opaque type for FrameTreeNode IDs, part 15 | https://chromium-review.googlesource.com/c/chromium/src/+/5837180
* 5822889: [task] Make GetForegroundTaskRunner non-virtual
https://chromium-review.googlesource.com/c/v8/v8/+/5822889
* 5833297: Remove unused inner WebContents attach params
https://chromium-review.googlesource.com/c/chromium/src/+/5833297
* 5806403: Shift PowerMonitor to non static
https://chromium-review.googlesource.com/c/chromium/src/+/5806403
* 5666874: [3/N] Remove old OnPowerChange in PowerObserver
https://chromium-review.googlesource.com/c/chromium/src/+/5666874
* 5829085: [v8] Differentiate between UserVisible and BestEffort task runners
https://chromium-review.googlesource.com/c/chromium/src/+/5829085
* 5791112: [webrtc] Use `c/b/permissions/system` for system permissions
https://chromium-review.googlesource.com/c/chromium/src/+/5791112
* 5825636: [Extensions] Create WebContentsObservers with ExtensionsBrowserClient
https://chromium-review.googlesource.com/c/chromium/src/+/5825636
* fixup! (multiple CLs): Use an opaque type for FrameTreeNode IDs
* fixup! 5791112: [webrtc] Use `c/b/permissions/system` for system permissions https://chromium-review.googlesource.com/c/chromium/src/+/5791112
* chore: bump chromium in DEPS to 131.0.6726.0
* chore: update patches
* chore: update libc++ filenames
* 5858119: Declutter: Allow opening to a specific feature
https://chromium-review.googlesource.com/c/chromium/src/+/5858119
* fix: macOS SDK 15 error
Not sure exactly what changed in the upgrade to macOS SDK 15, but it triggered a new error:
```
electron/shell/browser/ui/message_box_mac.mm:84:7: error: multiple methods named 'highlight:' found with mismatched result, parameter type or attributes
```
The `highlight:` selector a few lines down was ambiguous because the object type of the `NSArray` was not specified. Specifying `NSButton` as the element type makes the selector unambiguous for type checking.
* 5854143: [File Download Access Prevention] Obfuscate download file for enterprise deep scan
https://chromium-review.googlesource.com/c/chromium/src/+/5854143
* 5854811: Use kNotAllowedError instead of kSecurityError for Web MIDI
https://chromium-review.googlesource.com/c/chromium/src/+/5854811
* chore: bump chromium in DEPS to 131.0.6728.0
* chore: update patches
* disable invalid test
* chore: bump chromium in DEPS to 131.0.6730.0
* chore: update patches
* update build tools target commit for new macOS SDK
* chore: update libc++ file names
* chore: bump chromium in DEPS to 131.0.6732.0
* chore: bump chromium in DEPS to 131.0.6734.0
* 5856527: [UI] Use mojo enum for `WindowShowState` in ui/
https://chromium-review.googlesource.com/c/chromium/src/+/5856527
* chore: update build-tools sha to include macOD 15.0 SDK
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: alice <alice@makenotion.com>
2024-09-25 06:19:39 -05:00
Shelley Vohr
bcf4095ace
fix: crash when focusing WebView
webContents
( #43921 )
...
fix: crash when focusing WebView
2024-09-24 18:19:04 -05:00
Charles Kerr
500d4f0d05
fix: -Wunsafe-buffer-usage warning in asar_util's ReadFileToString() ( #43896 )
2024-09-24 15:41:24 -05:00
CezaryKulakowski
e64a66bfd3
fix: detach native view when its removed from parent on macOS ( #43627 )
...
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.
2024-09-24 15:28:36 +02:00
Charles Kerr
79627deea3
refactor: add SerialChooserController::web_contents_ ( #43823 )
...
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.
2024-09-23 22:38:13 -07:00
Charles Kerr
9598d88b7c
refactor: remove C-style void arg type for no-arg functions ( #43884 )
...
A small cleanup to remove use of the C-style function declaration idiom.
2024-09-23 22:37:32 -07:00
Charles Kerr
01330805cb
refactor: prefer member initializers in asar structs ( #43883 )
...
prefactor: prefer member initializers in asar::Archive
prefactor: prefer member initializers in asar::Archive::FileInfo
prefactor: prefer member initializers in asar::IntegrityPayload
2024-09-23 22:37:18 -07:00
Charles Kerr
33d7c9ac3e
refactor: hide printing impl details in api::WebContents ( #43893 )
...
* refactor: move api::WebContents::OnGetDeviceNameToUse() into an anonymous namespace
* refactor: move api::WebContents::OnPDFCreated() into an anonymous namespace
* refactor: remove unused #include
2024-09-23 22:36:55 -07:00
Charles Kerr
e894839709
fix: -Wunsafe-buffer-usage warnings in GetNextZoomLevel() ( #43803 )
2024-09-21 17:21:02 -05:00
Charles Kerr
53e89b565d
fix: -Wunsafe-buffer-usage warnings in Clipboard::WriteBuffer() ( #43795 )
...
* fix: -Wunsafe-buffer-usage warnings in Clipboard::WriteBuffer()
* chore: add a DCHECK to confirm the BigBuffer is full
2024-09-19 23:10:35 -05:00
Charles Kerr
d100921289
refactor: NotificationPresenter::Create() returns a std::unique_ptr<> ( #43794 )
2024-09-19 19:02:49 -05:00
BILL SHEN
855f219301
chore: fix compile issue about ambiguous error of multiple methods named 'highlight'. ( #43773 )
...
chore: fix ambiguous error of multiple methods named 'highlight'
2024-09-19 13:01:36 +02:00
Charles Kerr
5904d31264
perf: hold V8FunctionInvoker
args in a std::array
( #43752 )
...
perf: hold V8FunctionInvoker args in a std::array
2024-09-18 16:23:29 -05:00
Charles Kerr
d897359b82
perf: hold Emit()
arg arrays in a std::array
( #43750 )
...
* 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>)
2024-09-18 09:40:14 -05:00
electron-roller[bot]
4bcbc955dd
chore: bump chromium to 130.0.6695.0 (main) ( #43454 )
...
* 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
https://chromium-review.googlesource.com/c/chromium/src/+/5802981
* 5799275: ash: Create //chrome/browser/ui/ash/web_view
https://chromium-review.googlesource.com/c/chromium/src/+/5799275
* 5791853: [PWA] Allow WebContentsImpl::CreateNewWindow() to use new web contents for loading url
https://chromium-review.googlesource.com/c/chromium/src/+/5791853
* 5805208: Move third_party/jacoco to a cipd/ subdirectory.
https://chromium-review.googlesource.com/c/chromium/src/+/5805208
* chore: fixup patch indices
* 5771091: Introduce InputManager class for handling input in Viz.
https://chromium-review.googlesource.com/c/chromium/src/+/5771091
* 5498921: [Permission] Remove SubscribeToPermissionStatusChange from PermissionManager
https://chromium-review.googlesource.com/c/chromium/src/+/5498921
* 5791853: [PWA] Allow WebContentsImpl::CreateNewWindow() to use new web contents for loading url
https://chromium-review.googlesource.com/c/chromium/src/+/5791853
* 5801311: Don't use int for bindings
https://chromium-review.googlesource.com/c/chromium/src/+/5801311
* 5548827: [Web Install] Define the web-app-installation PermissionPolicy
https://chromium-review.googlesource.com/c/chromium/src/+/5548827
* 5786325: Add Infrastructure for Hand tracking permission
https://chromium-review.googlesource.com/c/chromium/src/+/5786325
* chore: fixup patch indices
* chore: bump chromium in DEPS to 130.0.6681.0
* [Views AX] Move BrowserAccessibility* to //ui/accessibility/platform
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5520052
* chore: e patches all
* Don't have default arguments on virtual functions in render_frame_host.h
https://chromium-review.googlesource.com/c/chromium/src/+/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
https://chromium-review.googlesource.com/c/chromium/src/+/5804255
* chore: update patch indices
* chore: bump chromium in DEPS to 130.0.6685.0
* Parallel process launching
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/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
https://chromium-review.googlesource.com/c/chromium/src/+/5824143
* chore: update patches
* 5824122: Extensions: Add a new view type enum for developer tools contexts
https://chromium-review.googlesource.com/c/chromium/src/+/5824122
* 5806109: Option for JavaScriptExecuteRequestForTests() to ignore content settings
https://chromium-review.googlesource.com/c/chromium/src/+/5806109
* build: free up disk space on gn check too
* 5799369: [Refactoring] Make allow_http1_for_streaming_upload flags false.
https://chromium-review.googlesource.com/c/chromium/src/+/5799369
* fixup! 5015584: Parallel process launching | https://chromium-review.googlesource.com/c/chromium/src/+/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>
2024-09-17 18:12:11 -07:00
Charles Kerr
233724fe00
chore: iwyu mojom-forward header files ( #43741 )
...
* 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
2024-09-17 12:58:56 -07:00
Charles Kerr
5a76655fb8
fix: in Emit()
, don't leak converted Arg Local<Values>
into caller's scope ( #43729 )
...
fix: Emit() should not leak converted arg handles into caller's HandleScope
2024-09-17 09:00:52 -05:00
Shelley Vohr
aa719a4066
fix: resizing border on Linux WCO caption buttons ( #43724 )
...
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.
2024-09-17 11:56:43 +02:00
Samuel Attard
c1c8fbfd9a
build: make is_mas_build a generated header instead of config ( #43737 )
2024-09-17 01:38:56 -07:00
Charles Kerr
b6bf277b6f
refactor: reduce code duplication in gin_helper::Promise ( #43716 )
...
* refactor: move scope scaffolding into SettletScope
idea stolen from SpellCheckScope
* refactor: move impl of PromiseBase::RejectPromise() to the cc file
* chore: remove unused #include
2024-09-16 23:08:40 -05:00
Charles Kerr
05dfd14913
refactor: add EmitWarning(v8::Isolate*)
helper ( #43722 )
...
* refactor: add EmitWarning(Isolate*, ...) warning
* chore: remove EmitWarning(node::Environment*, ...)
* chore: add code comments
* fixup! refactor: add EmitWarning(Isolate*, ...) warning
* chore: remove unused node #includes
2024-09-16 15:53:04 -05:00
Niklas Wenzel
f84ffc8fc8
fix: prevent loading spinner when launching utility process on Windows ( #43657 )
...
fix: prevent spinning cursor when launching utility process on Windows
2024-09-16 14:20:42 -04:00
Charles Kerr
1c3a5ba5d1
refactor: remove use of deprecated API BuildServiceInstanceFor() ( #43690 )
...
* refactor: update BadgeManagerFactory
* refactor: update NetworkContextServiceFactory
* refactor: update ElectronExtensionSystemFactory
* refactor: update UsbChooserContextFactory
* refactor: update UsbHidChooserContextFactory
* refactor: update SerialChooserContextFactory
* refactor: update FileSystemAccessPermissionContextFactory
2024-09-12 15:44:14 -05:00
Piotr Płaczek
29c2744e57
feat: hide menu bar on windows fullscreen ( #43402 )
...
* 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>
2024-09-12 20:13:04 +02:00
Charles Kerr
3dd7e46291
refactor: avoid minor code repetition in native_image.cc ( #43689 )
...
chore: delegate handle creation in NativeImage::Resize()
chore: delegate handle creation in NativeImage::Crop()
chore: delegate handle creation in NativeImage::CreateEmpty()
2024-09-12 10:56:15 -05:00
Charles Kerr
45bae950d5
chore: remove unused base/ includes ( #43688 )
2024-09-12 16:05:37 +02:00
Shelley Vohr
3c8321a987
fix: EyeDropper working in devtools ( #43685 )
2024-09-12 15:40:56 +02:00
Shelley Vohr
74b54278bf
fix: native View
wrapper crash missing when adding child view ( #43638 )
...
fix: native View wrapper crash missing when adding child view
2024-09-12 10:01:05 +02:00
Shelley Vohr
dea6a4e5fb
fix: ensure SetPluginCanSave
updated in PDFs ( #43667 )
...
fix: ensure SetPluginCanSave updated in PDFs
2024-09-11 09:25:05 -04:00
Keeley Hammond
309d5dade3
feat: add support for system picker in setDisplayMediaRequestHandler ( #43581 )
...
* tmp
* feat: add support for system picker in setDisplayMediaRequestHandler
* oops
* Apply suggestions from code review
Co-authored-by: Erick Zhao <erick@hotmail.ca>
* stuff
* well...
* seems legit
* chore: update patch to handle screenCapturer
* feat: modify API to use useSystemPicker
* fix: gate ScreenCaptureKitPicker to macos 15 or higher
* fix: don't use native picker with legacy media selection
* chore: code review, boolean set & docs update
* fix: add cancelCallback
* docs: clarify session & desktopCapturer docs
---------
Co-authored-by: Samuel Attard <marshallofsound@electronjs.org>
Co-authored-by: Samuel Attard <sam@electronjs.org>
Co-authored-by: Erick Zhao <erick@hotmail.ca>
2024-09-10 16:05:57 -07:00
Charles Kerr
a3df950281
fix: -Wunsafe-buffer-usage warning in V8Serializer::Serialize() ( #43642 )
2024-09-10 15:05:05 -05:00
Milan Burda
0cc60500ed
fix: restore Chromium default Content-Disposition
header parsing ( #43611 )
...
* fix: restore Chromium default Content-Disposition header parsing
* Update api-web-request-spec.ts
2024-09-10 15:32:30 +02:00
Charles Kerr
f1019c2c4a
fix: -Wunsafe-buffer-usage warnings in asar file IO ( #43624 )
...
* fix: -Wunsafe-buffer-usage warnings in ScopedTemporaryFile::InitFromFile()
* fix: -Wunsafe-buffer-usage warnings in Archive::Init()
2024-09-09 16:34:42 -04:00
Charles Kerr
5718ea4e1e
fix: out-of-scope Local handle in node::CallbackScope ( #43622 )
...
refactor: use an EscapableHandleScope
2024-09-09 12:14:40 -05:00
Charles Kerr
2844e346b9
refactor: use std::optional in MicrotasksScope ( #43621 )
...
avoid an unnecessary heap allocation/free
2024-09-09 12:51:42 -04:00
Charles Kerr
8c5e7bbf6b
fix: UvHandle move semantics ( #43615 )
...
reassign the uv_handle_t of the source
2024-09-09 14:13:39 +02:00
Charles Kerr
0568686340
perf: avoid redundant Promise.GetContext calls ( #43609 )
...
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.
2024-09-07 23:39:42 -05:00
Charles Kerr
44a4328ea8
refactor: take a uint8_t
span in ValidateIntegrityOrDie()
( #43592 )
...
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.
2024-09-06 20:22:44 -05:00
Charles Kerr
18b1b33adc
refactor: NativeWindow::Create()
returns a unique_ptr ( #43576 )
...
refactor: NativeWindow::Create() returns a unique_ptr
2024-09-06 12:59:32 -04:00
Charles Kerr
fe0d4274e2
fix: confirm a v8::Value
is a v8::Object
before casting it ( #43575 )
...
fix: confirm a v8::Value is a v8::Object before casting it
2024-09-06 11:20:04 -05:00
Charles Kerr
cc5aa65cb4
fix: delete UvTaskRunner's timers only after they're closed ( #43561 )
...
* fix: free UvTaskRunner timers only after they are closed
* refactor: UvTaskRunner now holds UvHandles
2024-09-06 07:16:56 -05:00
Charles Kerr
3fde574db1
fix: -Wunsafe-buffer-usage warnings in url-loader ( #43564 )
...
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.
2024-09-05 20:22:03 -05:00
Orko Garai
69df09dc90
fix: Launch apps with XDG_ACTIVATION_TOKEN in ozone/wayland ( #43480 )
...
* 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
2024-09-05 13:07:10 -05:00
Charles Kerr
2d868ecb8d
perf: use v8::Local<v8::Object> as the key in ObjectCache ( #43519 )
...
* perf: use v8::Object* as direct keys instead of using hash + a linked list
* refactor: use v8::Local<v8::Object> as the key
2024-09-04 22:53:06 -05:00
Charles Kerr
0467790aee
chore: migrate to v8::Object::SetPrototypeV2() ( #43535 )
...
chore: migrate to v8::Object::SetPrototypeV2().
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5600627
[api] Mark v8::Object::GetPrototype() for deprecation
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-09-04 20:30:54 -05:00