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
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
Charles Kerr
054cbcd6eb
fix: don't use deprecate-soon class v8::String::Value ( #43518 )
...
* 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:
80c1a9739d
f49ed30f72
* 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>
2024-09-04 08:56:14 -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
Charles Kerr
b42c0ae00d
fix: -Wunsafe-buffer-usage warnings in IsUrlArg() ( #43477 )
...
* 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!
2024-09-03 21:51:39 -04:00
Robo
41b8fdca5c
fix: devtools dock state with WCO on linux ( #43490 )
2024-08-29 09:17:00 +09:00
Charles Kerr
7cea992926
refactor: simplify KeyWeakMap impl ( #43461 )
2024-08-26 13:19:05 -05: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
Charles Kerr
7f34b0e6f5
chore: remove unused method asar::ClearArchives() ( #43442 )
...
chore: remove unused asar::ClearArchives()
last use removed in Jun 2021 (b1d1ac65
, #29293 )
2024-08-23 14:53:01 -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
93a6f3e607
refactor: NodeBindings::Create() returns a unique_ptr ( #43361 )
...
* refactor: NodeBindings::Create() returns a unique_ptr
* empty commit
2024-08-20 15:34:59 -04: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
electron-roller[bot]
4c3014944c
chore: bump chromium to 129.0.6664.0 (main) ( #43329 )
...
* chore: bump chromium in DEPS to 129.0.6657.0
* chore: update patches
* chore: bump chromium in DEPS to 129.0.6658.0
* chore: update patches
* 5743786: [ServiceWorker] Populate service worker start token to WorkerId.
https://chromium-review.googlesource.com/c/chromium/src/+/5743786
* 5784424: [Extensions] Move ownership of Dispatcher to ExtensionsRendererClient
https://chromium-review.googlesource.com/c/chromium/src/+/5784424
* chore: bump chromium in DEPS to 129.0.6659.0
* chore: bump chromium in DEPS to 129.0.6660.0
* chore: update patches
* chore: bump chromium in DEPS to 129.0.6662.0
* chore: bump chromium in DEPS to 129.0.6664.0
* 5789627: [Partitioned Popins] (3) `popin` feature triggers third-party storage partitioning
https://chromium-review.googlesource.com/c/chromium/src/+/5789627
* 5791367: Remove some chrome:: namespace from chrome/browser/app_mode/*
https://chromium-review.googlesource.com/c/chromium/src/+/5791367
* 5791522: [SCK] Skip redundant getShareableContentWithCompletionHandler
https://chromium-review.googlesource.com/c/chromium/src/+/5791522
* 5761330: Send refresh rate prefs b/w RefreshRateController and DisplayPrivate
https://chromium-review.googlesource.com/c/chromium/src/+/5761330
* chore: fixup patch indices
* 5793591: Remove unused GetHeader overload
https://chromium-review.googlesource.com/c/chromium/src/+/5793591
* 5787624: [Extensions] Simplify ExtensionsRendererClient::RenderThreadStarted()
https://chromium-review.googlesource.com/c/chromium/src/+/5787624
* 5721709: Fix Incorrect last_accessed_time Tracking for Tabs
https://chromium-review.googlesource.com/c/chromium/src/+/5721709
* 5789215: [Extensions] Add a //chrome/common/extensions build target
https://chromium-review.googlesource.com/c/chromium/src/+/5789215
* Roll V8 from 48f669a0758c to eee3eb91d01c
48f669a075..eee3eb91d0
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-08-19 14:52:53 -04:00
Shelley Vohr
4801a54d08
refactor: migrate deprecated platform_util_mac
calls ( #43161 )
...
refactor: migrate deprecated platform_util_mac calls
2024-08-15 10:53:38 -04:00
electron-roller[bot]
a7c52f1fb2
chore: bump chromium to 129.0.6656.0 (main) ( #43323 )
...
* chore: bump chromium in DEPS to 129.0.6656.0
* chore: update patches
* 5750664: Introduce Signin.NumberOfActiveAccounts.* metrics
https://chromium-review.googlesource.com/c/chromium/src/+/5750664
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-08-14 16:47:37 -04:00