Commit graph

3424 commits

Author SHA1 Message Date
trop[bot]
fb47716885
fix: remove unused local variables (#44821)
* chore: remove unused local non-trivial variable relaunch_executable

became unused in June 2016 in 0d066de5

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

* chore: only declare program_name local variable if used

We declared it everywhere but only used it on Windows

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

* chore: remove unused local non-trivial variable path from UnregisterXWindow

it became unused in 2020 by 72a08926

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>
2024-11-24 13:03:09 -06:00
trop[bot]
67ccd2792e
fix: big endian bug in V8 serialization (#44794)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-11-22 12:55:55 -05:00
John Kleinschmidt
2bd3a9fe65
fix: WebContentsView removal should compare directly (#44673)
fix: `WebContentsView` removal should compare directly (#44656)

* fix: WebContentsView removal should compare directly

* fixup view comparision

* chore: use erase_if

* Apply review suggestions

---------

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-11-15 13:09:47 +01:00
trop[bot]
b6e16fa18d
fix: WCO buttons hidden on Linux in fullscreen (#44643)
Closes https://github.com/electron/electron/issues/44569.

Fixes an issue where the WCO buttons were hidden on Linux in  fullscreen mode
but not on Windows or macOS. The Windows behavior is the expected one, so this
commit makes the Linux behavior consistent.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-11-13 15:44:51 -05:00
trop[bot]
a05ebed03d
fix: segfault when moving WebContentsView between BrowserWindows (#44614)
* fix: segfault when moving WebContentsView between BrowserWindows

Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>

* chore: actually enable fix

Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>

* fixup segfault when moving WebContentsView between BrowserWindows

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>
2024-11-12 10:34:02 -05:00
Charles Kerr
17c9c79202
fix: -Wunsafe-buffer-usage warnings in TaskbarHost::SetThumbarButtons() (31-x-y) (#44455)
fix: -Wunsafe-buffer-usage warnings in TaskbarHost::SetThumbarButtons() (#44238)

* fix: -Wunsafe-buffer-usage warnings in TaskbarHost::SetThumbarButtons()

* fixup! fix: -Wunsafe-buffer-usage warning in ChunkedDataPipeReadableStream (#44211)
2024-10-29 21:41:36 +01:00
trop[bot]
9e9bb3dc7a
fix: crash on netlog connection error (#44421)
* fix: crash on netlog connection error

Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>

* refactor: remove default PromiseBase constructor

Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>

* Revert "refactor: remove default PromiseBase constructor"

This reverts commit 9292324a0d5f9e63ba8f73f63dfff1d48eb2f38f.

Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>

* remove dcheck

Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
2024-10-28 14:37:47 +01:00
trop[bot]
028863a93c
fix: respect setAlwaysOnTop before showInactive on Linux under X11 (#44323)
fix: respect setAlwaysOnTop before showInactive on Linux under X11 (#44078)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: John Beutner <31829097+cptpcrd@users.noreply.github.com>
2024-10-18 16:19:15 -04:00
trop[bot]
00e5d0ad56
fix: ensure utilityProcess only emits one 'exit' event (#44267)
fix: ensure utilityProcess only emits one exit

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-10-16 15:04:26 +02:00
Charles Kerr
48b962898d
fix: -Wunsafe-buffer-usage warnings when read()ing and write()ing integers (31-x-y) (#44215)
fix: -Wunsafe-buffer-usage warnings when read()ing and write()ing integers (#44185)
2024-10-13 20:04:33 +02:00
Charles Kerr
dce705efc0
fix: -Wunsafe-buffer-usage warnings in GetNextZoomLevel() (#44149) (#44216)
fixup e8948397 really fix the warning this time
2024-10-13 20:04:18 +02:00
trop[bot]
dbfe4742d5
fix: -Wunsafe-buffer-usage warning in WriteAsciiChunk() (#44168)
* fix: -Wunsafe-buffer-usage warning in WriteAsciiChunk()

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

* chore: add // SAFETY comment to explain UNSAFE_BUFFERS() use

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>
2024-10-09 19:36:05 -05:00
trop[bot]
478defb15c
fix: -Wunsafe-buffer-usage warning in HasWordCharacters() (#44172)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-10-09 16:47:48 -05:00
trop[bot]
6da785fd10
fix: -Wunsafe-buffer-usage warnings in WebFrameRenderer::ExecuteJavaScript() (31-x-y) (#44100)
fix: -Wunsafe-buffer-usage warnings in WebFrameRenderer::ExecuteJavaScript() (#44053)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-10-02 20:46:47 -05:00
trop[bot]
daca2d327f
fix: remove use of deprecated API base::Hash() (#44101)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-10-02 20:46:26 -05:00
trop[bot]
f7159b6898
perf: use ArrayBuffer::Data() instead of GetBackingStore()->Data() (31-x-y) (#44104)
perf: use ArrayBuffer::Data() instead of GetBackingStore()->Data() (#44067)

perf: use ArrayBuffer::Data() API

Replace our `GetBackingStore()->Data()` calls with this instead.
Explained by the V8 docs, ArrayBuffer.Data() is

> More efficient shortcut for GetBackingStore()->Data(). The
> returned pointer is valid as long as the ArrayBuffer is alive.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-10-02 19:13:48 -05:00
trop[bot]
9222396159
fix: ensure correct WebContents when checking PDFReadyToPrint (31-x-y) (#44010) 2024-10-01 18:32:31 +02:00
trop[bot]
a0802f7ce6
fix: -Wunsafe-buffer-usage in electron::SetFontDefaults() (31-x-y) (#44036)
* fix: -Wunsafe-buffer-usage in electron::SetFontDefaults() (#44014)

* refactor: reduce code duplication in WebContentsPreferences::OverrideWebkitPrefs()

* refactor: limit scope of web_preferences temporary in ElectronBrowserClient::OverrideWebkitPrefs()

* chore: remove redundant static keyword on function in anonymous namespace

* refactor: slightly more explicit typing

* refactor: remove unnecessary utf16 -> utf8 -> utf16 conversion steps

* chore: remove unused #includes

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

* refactor: use string_view.rfind() instead of base::RSplitStringOnce()

base::RSplitStringOnce() does not exist in Chromium 128

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>
2024-10-01 12:17:16 -04:00
trop[bot]
0a4b0de4f7
fix: ensure SetPluginCanSave updated in PDFs (#44020)
fix: ensure SetPluginCanSave updated in PDFs

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-30 14:52:14 +02:00
trop[bot]
6010fda0c7
perf: build g_dgettext domain name at compile time (#43986)
perf: build GettextPackage name at compile time

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-26 18:59:06 -05:00
trop[bot]
514fc26eb2
fix: replace deprecated libnotify API calls (#43982)
notify_notification_set_hint_string() is deprecated, so let's use
notify_notification_set_hint() instead.

Xref: 2fe1748295

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-26 17:08:12 -05:00
trop[bot]
328afb8a09
fix: -Wunsafe-buffer-usage warnings in GdkPixbufFromSkBitmap() (#43981)
* fix: -Wunsafe-buffer-usage warnings in GdkPixbufFromSkBitmap()

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

* 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.

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>
2024-09-26 10:55:35 -05:00
trop[bot]
e99de2b5c6
test: ensure sender-pid hint is set in Linux notifications (#43951)
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.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-25 14:02:07 -05:00
trop[bot]
6c1233a7d2
fix: close all open sheets before closing window on macOS (#43953)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: John Beutner <beutner.john@gmail.com>
2024-09-25 13:09:40 -05:00
trop[bot]
d241d1f3b3
refactor: remove C-style void arg type for no-arg functions (#43942)
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.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-25 12:13:22 -05:00
trop[bot]
ad82142eb0
fix: detach native view when its removed from parent on macOS (#43924)
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.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Cezary Kulakowski <cezary@openfin.co>
2024-09-25 13:17:47 +02:00
trop[bot]
a5f4f08a9e
fix: crash when focusing WebView webContents (#43933)
fix: crash when focusing WebView

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-25 06:17:06 -05:00
trop[bot]
d8e3555e01
fix: -Wunsafe-buffer-usage warning in asar_util's ReadFileToString() (#43929)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-25 11:21:44 +02:00
Charles Kerr
f15fea8d03
fix: -Wunsafe-buffer-usage warnings in GetNextZoomLevel() (31-x-y) (#43926)
* fix: -Wunsafe-buffer-usage warnings in GetNextZoomLevel() (#43803)

* empty commit
2024-09-25 11:21:15 +02:00
trop[bot]
f387325079
fix: EyeDropper working in devtools (31-x-y) (#43895)
fix: EyeDropper working in devtools (#43685)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-23 22:36:18 -07:00
trop[bot]
334a3fbea6
fix: -Wunsafe-buffer-usage warnings in Clipboard::WriteBuffer() (#43812)
* fix: -Wunsafe-buffer-usage warnings in Clipboard::WriteBuffer()

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

* chore: add a DCHECK to confirm the BigBuffer is full

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>
2024-09-20 08:48:00 -05:00
trop[bot]
568314240e
refactor: NotificationPresenter::Create() returns a std::unique_ptr<> (#43805)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-20 00:18:21 -05:00
Charles Kerr
48805ee46e
refactor: remove use of deprecated API BuildServiceInstanceFor() (31-x-y) (#43782)
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-19 10:01:00 +02:00
Charles Kerr
e62c322b2d
refactor: declare gin::Wrapper subclasses as final (#43783)
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-19 09:57:24 +02:00
trop[bot]
c5e1a336f2
fix: resizing border on Linux WCO caption buttons (#43745)
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.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-17 21:54:10 +02:00
trop[bot]
0846294d70
fix: in Emit(), don't leak converted Arg Local<Values> into caller's scope (#43748)
fix: Emit() should not leak converted arg handles into caller's HandleScope

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-17 14:40:13 -05:00
trop[bot]
ee572aac74
refactor: avoid minor code repetition in native_image.cc (#43702)
chore: delegate handle creation in NativeImage::Resize()

chore: delegate handle creation in NativeImage::Crop()

chore: delegate handle creation in NativeImage::CreateEmpty()

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-12 20:13:39 +02:00
trop[bot]
f93cc252ba
fix: native View wrapper crash missing when adding child view (#43697)
fix: native View wrapper crash missing when adding child view

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-12 19:20:47 +02:00
trop[bot]
87f5d788c0
fix: -Wunsafe-buffer-usage warning in V8Serializer::Serialize() (#43674)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-10 22:18:31 -05:00
trop[bot]
99416b8576
perf: use v8::Local<v8::Object> as the key in ObjectCache (#43672)
* perf: use v8::Object* as direct keys instead of using hash + a linked list

* refactor: use v8::Local<v8::Object> as the key

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-10 15:43:44 -05:00
trop[bot]
2c3416627f
fix: restore Chromium default Content-Disposition header parsing (#43669)
* 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>
2024-09-10 13:27:22 -04:00
trop[bot]
43687aca8a
fix: ensure bounds stability in OnWidgetBoundsChanged (#43658)
fix: ensure bounds stability in OnWidgetBoundsChanged

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-09 21:56:42 -05:00
trop[bot]
96fe03b200
test: add -pdf-ready-to-print event to WebContents for testing (#43651)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-09 21:56:16 -05:00
trop[bot]
4b5d29201c
chore: remove unused ConvertableToTraceFormatWrapper (#43653)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-09 21:55:42 -05:00
trop[bot]
f6bc0b0953
fix: -Wunsafe-buffer-usage warnings in asar file IO (#43649)
* fix: -Wunsafe-buffer-usage warnings in ScopedTemporaryFile::InitFromFile()

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

* fix: -Wunsafe-buffer-usage warnings in Archive::Init()

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>
2024-09-09 17:58:41 -05:00
trop[bot]
e4113ddd69
fix: out-of-scope Local handle in node::CallbackScope (#43641)
refactor: use an EscapableHandleScope

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-09 17:23:16 -05:00
trop[bot]
97f0a9a545
fix: UvHandle move semantics (#43632)
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>
2024-09-09 11:52:57 -05:00
trop[bot]
a3a595383d
perf: avoid redundant Promise.GetContext calls (#43618)
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>
2024-09-08 10:37:26 -05:00
trop[bot]
00c0948e7b
refactor: take a uint8_t span in ValidateIntegrityOrDie() (#43614)
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>
2024-09-06 22:16:51 -05:00
trop[bot]
5f97f97f7c
fix: confirm a v8::Value is a v8::Object before casting it (#43603)
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>
2024-09-06 15:26:33 -05:00