Commit graph

3074 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
8ae5aacc8c
refactor: declare gin::Wrapper subclasses as final (#43527)
As per the gin docs: "Wrappable<T> explicitly does not support further
subclassing of T. Subclasses of Wrappable<T> should be declared final."
2024-09-04 18:40:02 -05:00
Orko Garai
53dcda1fe9
fix: Use XDG_ACTIVATION_TOKEN in wayland when launched by other app (#43481)
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.
2024-09-04 12:54:00 +02:00
George Xu
635d421123
fix: systemMediaPermissionDenied should not check camera perms when the request is asking for screen share (#43517)
* 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>
2024-09-04 09:56:26 +01:00
Robo
41b8fdca5c
fix: devtools dock state with WCO on linux (#43490) 2024-08-29 09:17:00 +09:00
Charles Kerr
2390706030
refactor: prefer std::ranges over begin() and end() (#43464) 2024-08-26 10:58:32 -04:00
David Sanders
56829f75c1
chore: cleanup include groupings (#43478) 2024-08-26 10:44:20 -04:00
Charles Kerr
5994b34a5d
chore: remove unused WinFrameView::kInactiveTitlebarFeatureAlpha (#43448)
added in Aug 2021 (41646d11, #29600) but never used
2024-08-23 20:59:41 -05:00
Charles Kerr
5a1eeea102
perf: prefer GURL string_view getters (#43443)
* chore: avoid double-call to url.scheme() in WebContentsZoomController::SetZoomMode()

* perf: use gurl.scheme_piece() in GetAppInfoHelperForProtocol()

* perf: use gurl.scheme_piece() in Browser::GetApplicationNameForProtocol()

* refactor: add std::less<> to HandlersMap

This lets us search it using string_view keys

* refactor: ProtocolRegistry::FindRegistered() now takes a std::string_view

* perf: use gurl.scheme_piece() in InspectableWebContents::LoadNetworkResource()

* refactor: ProtocolRegistry::FindIntercepted() now takes a std::string_view

* perf: use gurl.scheme_piece() in SimpleURLLoaderWrapper::GetURLLoaderFactoryForURL()

* perf: use gurl.scheme_piece() in ProxyingURLLoaderFactory::CreateLoaderAndStart()

* perf: use gurl.host_piece() in ElectronWebUIControllerFactory::GetWebUIType()

* perf: use gurl.host_piece() in ElectronWebUIControllerFactory::CreateWebUIControllerForURL()
2024-08-23 17:15:45 -05:00
John Kleinschmidt
c1eee18e41
test: add -pdf-ready-to-print event to WebContents for testing (#43436) 2024-08-23 12:34:26 -05:00
Shelley Vohr
6e4d90fcdb
fix: ensure bounds stability in OnWidgetBoundsChanged (#43431)
* fix: ensure bounds stability in OnWidgetBoundsChanged

* Update shell/browser/native_window_views.cc

Co-authored-by: Charles Kerr <charles@charleskerr.com>

---------

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-08-23 11:02:05 -04:00
Alexander Cyon
ca0837c852
chore: fix typos in 'shell/' folder. (#43373) 2024-08-22 19:48:32 -05:00
reito
1aeca6fd0e
feat: GPU shared texture offscreen rendering (#42953)
* feat: GPU shared texture offscreen rendering

* docs: clarify texture infos that passed by the paint event.

* feat: make gpu osr spec test optional

* fix: osr image compare

* fix: remove duplicate test

* fix: update patch file

* fix: code review

* feat: expose more metadata

* feat: use better switch design

* feat: add warning when user forget to release the texture.

* fix: typo

* chore: update patch

* fix: update patch

* fix: update patch description

* fix: update docs

* fix: apply suggestions from code review

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* fix: apply suggested fixes

---------

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-08-22 19:23:13 -05:00
Shelley Vohr
4ae43dcb3b
fix: touch bar functionality on BaseWindow (#43353)
* fix: touch bar functionality on BaseWindow

* test: add test for BaseWindow.setTouchBar
2024-08-22 12:48:25 +02:00
Charles Kerr
4fbf18a021
refactor: move impl functions into private namespace (#43372) 2024-08-21 15:26:06 -05:00
Charles Kerr
a2de94dda1
chore: remove unused ConvertableToTraceFormatWrapper (#43356)
* chore: remove unused ConvertableToTraceFormatWrapper

Last use removed in Apr 2024 (39bf441b, #41880)

* fixup! chore: remove unused ConvertableToTraceFormatWrapper

remove now-unused trace_event.h header, too
2024-08-20 15:21:43 -04:00
electron-roller[bot]
2cc14c6e8f
chore: bump chromium to 129.0.6668.0 (main) (#43368)
* chore: bump chromium in DEPS to 129.0.6668.0

* 5787687: [Extensions] Remove EventRouterForwarder from BrowserProcess

https://chromium-review.googlesource.com/c/chromium/src/+/5787687

* 5788808: Resolve Blob URL's origin using info from browser process

https://chromium-review.googlesource.com/c/chromium/src/+/5788808

* chore: fixup patch indices

* 5786747: Remove "int WriteFile"

https://chromium-review.googlesource.com/c/chromium/src/+/5786747

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-08-20 16:54:27 +02:00
Charles Kerr
3186c2f0ef
refactor: remove unused SetWMSpecState (#43347)
last use removed in Aug 2022 by 53cd2315 #35179
2024-08-19 17:15:19 -04:00
Charles Kerr
44e4e4521c
chore: remove unused method Erase() (#43348)
Last use removed in Mar 2018 by 4b39d17e
2024-08-19 17:14:57 -04:00
Vít Černý
189675575c
feat: extend navigationHistory API (#42014)
* feat: extend navigationHistory API

* refactor: simplify index checking

* refactor: rename 'getHistory' and 'replaceHistory' methods of navigationHistory

* refactor: rename delete*() methods to remove*()

* feat: remove navigationHistory.replaceHistory()

* tests: add tests for removeEntryAtIndex and getAllEntries
2024-08-19 15:46:04 -04:00