Charles Kerr
b5a7d81c7d
refactor: have GetXdgAppId() return a std::optional<std::string> ( #49318 )
...
* refactor: GetXdgAppId() now returns std::optional<std::string>
* refactor: slightly simplify app.setDesktopName() ts calls
* refactor: add better documentation for dekstop-entry in XDG notifications
2026-01-07 14:30:09 -05:00
reito
bab11f8c7b
feat: add sharedTexture module to import shared texture ( #47317 )
...
feat: add `sharedTexture` module.
2025-11-07 09:50:28 +01:00
George Xu
38be633aa8
fix(reland): allow disabling all NSMenuItems ( #48795 )
...
* fix: allow disabling all `NSMenuItems` (#48598 )
fix: allow disabling all NSMenuItems
* fix: add guard for type
---------
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com >
2025-11-06 19:02:04 -08:00
Keeley Hammond
27bea2576e
fix: revert allow disabling all NSMenuItems, fix menu crash ( #48794 )
...
Revert "fix: allow disabling all `NSMenuItems` (#48598 )"
This reverts commit 0cb4fdd0f2 .
2025-11-05 15:49:43 -08:00
Shelley Vohr
3345edd2bf
chore: upgrade Node.js to v24.10.0 ( #48613 )
...
* chore: upgrade Node.js to v24.10.0
* chore: fixup crypto patch
* chore: fixup crypto test patch
* src: prepare for v8 sandboxing
https://github.com/nodejs/node/pull/58376
* esm: fix module.exports export on CJS modules
https://github.com/nodejs/node/pull/57366
* chore: fixup lazyload fs patch
* esm: Source Phase Imports for WebAssembly
https://github.com/nodejs/node/pull/56919
* module: remove --experimental-default-type
https://github.com/nodejs/node/pull/56092
* lib,src: refactor assert to load error source from memory
https://github.com/nodejs/node/pull/59751
* src: add source location to v8::TaskRunner
https://github.com/nodejs/node/pull/54077
* src: remove dependency on wrapper-descriptor-based CppHeap
https://github.com/nodejs/node/pull/54077
* src: do not use soon-to-be-deprecated V8 API
https://github.com/nodejs/node/pull/53174
* src: stop using deprecated fields of v8::FastApiCallbackOptions
https://github.com/nodejs/node/pull/54077
* test: update v8-stats test for V8 12.6
https://github.com/nodejs/node/pull/54077
* esm: unflag --experimental-wasm-modules
https://github.com/nodejs/node/pull/57038
* test: adapt assert tests to stack trace changes
https://github.com/nodejs/node/pull/58070
* src,test: unregister the isolate after disposal and before freeing
https://github.com/nodejs/node/pull/58070
* src: use cppgc to manage ContextifyContext
https://github.com/nodejs/node/pull/56522
* src: replace uses of FastApiTypedArray
https://github.com/nodejs/node/pull/58070
* module: integrate TypeScript into compile cache
https://github.com/nodejs/node/pull/56629
* deps: update ada to 3.2.7
https://github.com/nodejs/node/pull/59336
* src: make minor cleanups in encoding_binding.cc
https://github.com/nodejs/node/pull/57448
* src: switch from `Get/SetPrototype` to `Get/SetPrototypeV2`
https://github.com/nodejs/node/pull/55453
* src: use non-deprecated Get/SetPrototype methods
https://github.com/nodejs/node/pull/59671
* src: simplify string_bytes with views
https://github.com/nodejs/node/pull/54876
* src: improve utf8 string generation performance
https://github.com/nodejs/node/pull/54873
* src: use non-deprecated Utf8LengthV2() method
https://github.com/nodejs/node/pull/58070
* src: use non-deprecated WriteUtf8V2() method
https://github.com/nodejs/node/pull/58070
* src: refactor WriteUCS2 and remove flags argument
https://github.com/nodejs/node/pull/58163
* src: use String::WriteV2() in TwoByteValue
https://github.com/nodejs/node/pull/58164
* node-api: use WriteV2 in napi_get_value_string_utf16
https://github.com/nodejs/node/pull/58165
* node-api: use WriteOneByteV2 in napi_get_value_string_latin1
https://github.com/nodejs/node/pull/58325
* src: migrate WriteOneByte to WriteOneByteV2
https://github.com/nodejs/node/pull/59634
* fs: introduce dirent\.parentPath
https://github.com/nodejs/node/pull/50976
* src: avoid copy by using std::views::keys
https://github.com/nodejs/node/pull/56080
* chore: fixup patch indices
* fix: errant use of context->GetIsolate()
* fix: tweak BoringSSL compat patch for new changes
* fix: add back missing isolate dtor declaration
* fixup! esm: fix module.exports export on CJS modules
* cli: remove --no-experimental-fetch flag
https://github.com/nodejs/node/pull/52611/files
* esm: Source Phase Imports for WebAssembly
https://github.com/nodejs/node/pull/56919
* fixup! src: prepare for v8 sandboxing
* chore: bump @types/node to v24
* chore: fix const assignment in crypto test
* fix: sandbox pointer patch issues
* chore: rework source phase import patch
* src: add percentage support to --max-old-space-size
https://github.com/nodejs/node/pull/59082
* chore: fixup crypto tests
* chore: HostImportModuleWithPhaseDynamically todo
* fix: cjs esm failures
* fix: v8::Object::Wrappable issues
- b72a615754
- 490bac2496
- 4896a0dd69
* chore: remove deleted specs
* src: use v8::ExternalMemoryAccounter
https://github.com/nodejs/node/pull/58070
* fs: port SonicBoom module to fs module as FastUtf8Stream
https://github.com/nodejs/node/pull/58897
* chore: tweak sandboxed pr patch
* test: disable parallel/test-os-checked-function
* test: use WHATWG URL instead of url.parse
* fix: OPENSSL_secure_zalloc doesn't work in BoringSSL
* chore: fix accidental extra line
* 7017517: [defer-import-eval] Parse import defer syntax
https://chromium-review.googlesource.com/c/v8/v8/+/7017517
2025-10-30 19:16:48 +01:00
Charles Kerr
c5fe50be3b
refactor: remove redundant map lookups in browser/api/menu.ts ( #48706 )
...
perf: avoid double map lookup in Menu.prototype._shouldCommandIdWorkWhenHidden
perf: avoid double map lookup in Menu.prototype._isCommandIdVisible
perf: avoid double map lookup in Menu.prototype._shouldRegisterAcceleratorForCommandId
perf: avoid double map lookup in Menu.prototype._getSharingItemForCommandId
2025-10-29 11:42:15 -05:00
Shelley Vohr
0cb4fdd0f2
fix: allow disabling all NSMenuItems ( #48598 )
...
fix: allow disabling all NSMenuItems
2025-10-28 11:20:55 -04:00
Mitchell Cohen
0c27c1a395
fix: position window titlebar buttons correctly in Ubuntu on Wayland ( #48490 )
2025-10-20 12:42:23 -07:00
LZL
e39943bf45
fix: BrowserWindow add the same BrowserView ( #48053 )
...
fix: BrowserWindow add the same BrowserView (#48057 )
2025-08-28 10:31:41 +02:00
reito
ceb6d28fd3
fix: webContent.fromId should be number instead of string ( #48059 )
2025-08-22 11:40:10 -04:00
Robo
dd54e84a58
refactor: allocate api::App on cpp heap ( #48118 )
2025-08-20 20:35:08 +09:00
David Sanders
a201d6c541
build: drop @types/webpack-env in favor of webpack/module types ( #47798 )
...
* build: drop @types/webpack-env in favor of webpack/module types
* chore: improve type when assigning to global.require
2025-08-08 18:09:23 -07:00
Sam Maddock
bdaf3b9a2b
refactor: replace webFrame.routingId with sync IPC ( #47717 )
...
* refactor: replace webFrame.routingId with sync IPC
* fix: GetConstructor missing isolate
* fix: missing isolate
2025-08-02 11:00:42 -04:00
Sam Maddock
25e2459f31
feat: webFrameMain.fromFrameToken ( #47850 )
...
* feat: webFrameMain.fromFrameToken
* refactor: return null instead of undefined
* docs: mention renderer webFrame property
* chore: undo null->undefined in wfm.fromId api
this will be updated in another pr
2025-07-31 16:41:44 -04:00
electron-roller[bot]
603cafad7e
chore: bump chromium to 140.0.7281.0 (main) ( #47616 )
...
* chore: bump chromium in DEPS to 140.0.7269.2
* chore: bump chromium in DEPS to 140.0.7270.0
* chore: bump chromium in DEPS to 140.0.7271.0
* chore: bump chromium in DEPS to 140.0.7273.0
* 6516731: [ExclusiveAccessForAndroid] remove unneeded includes & deps | https://chromium-review.googlesource.com/c/chromium/src/+/6516731
* 6694809: dbus: Ensure systemd scope is started before using any portal services | https://chromium-review.googlesource.com/c/chromium/src/+/6694809
* chore: patch chromium
* chore: export patches
* chore: bump chromium in DEPS to 140.0.7275.0
* 6677511: [pepper] More pepper removal | https://chromium-review.googlesource.com/c/chromium/src/+/6677511
* 6513641: [gin] Rename gin::Wrappable to gin::DeprecatedWrappable | https://chromium-review.googlesource.com/c/chromium/src/+/6513641
* chore: export chromium patches
* 6513641: [gin] Rename gin::Wrappable to gin::DeprecatedWrappable | https://chromium-review.googlesource.com/c/chromium/src/+/6513641
* chore: bump chromium in DEPS to 140.0.7277.0
* chore: bump chromium in DEPS to 140.0.7279.0
* chore: bump chromium in DEPS to 140.0.7281.0
* 6677314: Plumb enabled client hints in the network requestion to network layer
https://chromium-review.googlesource.com/c/chromium/src/+/6677314
* 6351556: [source-phase-imports] Support Wasm Source Phase Imports
https://chromium-review.googlesource.com/c/chromium/src/+/6351556
* 6700077: [renderer] Avoid calls to deprecated GetIsolate methods
https://chromium-review.googlesource.com/c/chromium/src/+/6700077
* 6692873: Reland "Reland "FSA: Only normalize the hardcoded rules once during initialization""
https://chromium-review.googlesource.com/c/chromium/src/+/6692873
* 6686234: [gin] Cleanup NamedPropertyInterceptor for Wrappable
https://chromium-review.googlesource.com/c/chromium/src/+/6686234
* chore: export patches
* 6667723: Remove content_enable_legacy_ipc GN arg.
https://chromium-review.googlesource.com/c/chromium/src/+/6667723
* 6646566: ui: Move NativeWindowTracker to its own directory
https://chromium-review.googlesource.com/c/chromium/src/+/6646566
* fix: add missing includes
* 6580522: [WAR, DNR] Fix unsafe redirect error to web accessible resource
https://chromium-review.googlesource.com/c/chromium/src/+/6580522
* 6680477: Implement `completeCode` endpoint and expose to DevTools
https://chromium-review.googlesource.com/c/chromium/src/+/6680477
* 6677511: [pepper] More pepper removal
https://chromium-review.googlesource.com/c/chromium/src/+/6677511
* 6696689: Rename views::WidgetFocusManager -> NativeViewFocusManager
https://chromium-review.googlesource.com/c/chromium/src/+/6696689
* 6702812: Move wtf/text/string_impl*.* to "blink" namespace
https://chromium-review.googlesource.com/c/chromium/src/+/6702812
* chore: fix dialog patch
* 6702431: [animation-trigger] Parse timeline-trigger-name
https://chromium-review.googlesource.com/c/chromium/src/+/6702431
* chore: fixup patch indices
* feat: replace webFrame.routingId with webFrame.frameToken
* feat: WebFrameMain.prototype.frameToken
* test: refactor to use replacement APIs
* chore: fixup pip patch
* test: adjust webFrame tests for frameToken changes
* 6703757: Reland "Enable -fsanitize=array-bounds in non-UBSan builds"
https://chromium-review.googlesource.com/c/chromium/src/+/6703757
* test: switch to frameTokens
* test: routingId is fine to test in the main process
* docs: add routingId to breaking changes
* docs: update plugin-crashed event
* chore: fixup linux dialog patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: alice <alice@makenotion.com >
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com >
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com >
2025-07-14 13:42:37 -07:00
Shelley Vohr
655037fbdf
fix: window.open popups are always resizable ( #47540 )
...
fix: window.open popups are always resizable
Closes https://github.com/electron/electron/issues/43591 .
Per current WHATWG spec, the `window.open` API should always
create a resizable popup window. This change updates the
`parseFeaturesString` function to ensure that windows opened
with `window.open` are always resizable, regardless of the
`resizable` feature string.
2025-07-02 15:02:59 +02:00
Gellert Hegyi
b9b96a96f7
feat: add menu item role palette and header ( #45538 )
...
* feat: add menu item role `palette` and `header`
* adds comments
* refactors new role items to new item types
* docs: custom type
* docs: note types only available on mac 14+
---------
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com >
2025-05-23 12:43:49 -04:00
Michaela Laurencin
b9f0aebb2f
feat: enable innerWidth and innerHeight for window open ( #46749 )
...
* feat: enable innerWidth and innerHeight for window open
* update comment for added special innerWidth and innerHeight
* update 100 min spec requirement handling
* update testing to include getContentSize
* update macOS min requirement handling
* adjust refactored consts
* update const values from nativewindowviews
2025-05-09 12:03:45 -04:00
Michaela Laurencin
e383eaa465
fix: stop menu minimization if set false ( #46279 )
2025-04-22 10:58:30 +02:00
Shelley Vohr
62b5b5f99d
fix: handle potential missing close event property ( #46605 )
...
fix: handle missing close event property
2025-04-11 13:07:26 -04:00
Shelley Vohr
3064b24c9d
refactor: use default printing path when no user options ( #46587 )
2025-04-11 10:14:29 -04:00
Shelley Vohr
45a0494287
fix: remove obsoleted --inspect-brk logic ( #46560 )
...
fix: remove obsoleted --inspect-brk logic
2025-04-09 15:35:40 +02:00
Samuel Attard
49aba471dc
feat: add support for associating a Menu with a WebFrameMain ( #45138 )
...
* feat: add support for associating a Menu with a WebFrameMain
This allows certain OS level features to activate such as Writing Tools, Autofill.. and Services.
There appears to be a bug in macOS where the responder chain isn't traversed if the menu is not popped up using an event, as such we spoof a fake mouse event at the write coordinates in the right window and use that to open the menu.
* build: fix build on non-mac
* build: oops missed a header
* fix: safely handle optional T* by checking nullptr too
* build: fix gn check and build errors
* docs: suggested changes
* feat: default `frame` to `window.webContents.mainFrame` when possible
* fix: avoid deref nullptr view
* Revert "feat: default `frame` to `window.webContents.mainFrame` when possible"
This reverts commit 2e88836819 .
* fix: lint
* Remove redundant scoped objects
This code, including the comments, matches almost exactly the behavior of this argument to the function.
* Add ScopedPumpMessagesInPrivateModes patch
* More null pointer safety
---------
Co-authored-by: clavin <clavin@electronjs.org >
2025-03-28 11:50:07 -07:00
Sam Maddock
e3f61b465d
refactor: move extension APIs to session.extensions ( #45597 )
...
refactor: move extensions to session.extensions
2025-02-21 17:36:51 -06:00
Milan Burda
22b7403cd1
chore: remove deprecated systemPreferences.isAeroGlassEnabled() ( #45563 )
2025-02-18 18:59:00 -06:00
Sam Maddock
c0422d7cc9
refactor: dispatch IPC messages from Session ( #45452 )
...
* refactor: dispatch IPC messages from Session
* refactor: move MessageHost to Session
2025-02-17 16:36:28 -05:00
Felix Rieseberg
9f47c9a051
feat: Restore webContents navigation history and page state ( #45433 )
...
* feat: Working navigationHistory.restore with just title/url
* feat: Restore page state, too
* chore: Docs, lint, tests
* Implement feedback
* More magic
* Make _awaitNextLoad truly private
* Implement API group feedback
* One more round of feedback
2025-02-11 15:09:38 -08:00
Milan Burda
e055ce7c39
chore: deprecate systemPreferences.isAeroGlassEnabled() ( #45434 )
2025-02-10 15:17:07 -05:00
Sam Maddock
26da3c5d6e
feat: service worker preload scripts for improved extensions support ( #44411 )
...
* feat: preload scripts for service workers
* feat: service worker IPC
* test: service worker preload scripts and ipc
2025-01-31 09:32:45 -05:00
Sam Maddock
a467d0684e
feat: ServiceWorkerMain ( #45232 )
...
* feat: ServiceWorkerMain
* refactor: disconnect remote
* handle version_info_ nullptr case
* initiate finish request when possible and enumerate errors
* explicit name for test method
* oops
* fix: wait for redundant version to stop before destroying
* docs: clarify when undefined is returned
* chore: remove extra semicolons
2025-01-24 08:33:44 -05:00
Sam Maddock
e09577b123
feat: redesign preload APIs ( #45230 )
...
* feat: redesign preload APIs
* docs: remove service-worker mentions for now
* fix lint
* remove service-worker ipc code
* add filename
* fix: web preferences preload not included
* fix: missing common init
* fix: preload bundle script error
2025-01-23 21:12:23 -05:00
Alice Zhao
a5b4339884
fix: add missing index arg in navigationHistory.canGoToOffset ( #44989 )
...
fix: add missing arg
2024-12-12 10:56:27 -05:00
Sam Maddock
41b5d7e312
refactor: unfilter unresponsive events ( #44629 )
...
* feat: internal -unresponsive event
* Reland "refactor: JSify BrowserWindow unresponsive handling"
This reverts commit ef7ae78ed4 .
* fix: emit unresponsive if close not prevented
---------
Co-authored-by: Keeley Hammond <vertedinde@electronjs.org >
2024-11-13 17:59:13 -08:00
Sam Maddock
87bd665e41
feat: expose frame & move properties to console-message event object ( #43617 )
...
* feat: expose frame on console-message event
refactor: use property names similar to ServiceWorker's console-message event
refactor: don't use deprecated params in tests
doc: console-message breaking change
chore: add deprecation warning
docs: restore deprecated argument descriptions
* move console-message deprecations to v34
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org >
2024-10-18 16:07:06 -04:00
Sam Maddock
8b3d70a2a3
feat: add WebFrameMain detached property ( #43473 )
...
* feat: add WebFrameMain detached property
fix: throw instead of returning null senderFrame
test: detached frames
fix: ensure IPCs of pending deletion RFHs are dispatched
fix: lookup WFM by FTN ID to dispatch IPCs
feat: add frame.isDestroyed()
return null
fix: return undefined
docs: add null to all frame properties
refactor: option c, return null and emit warning
refactor: add routingId & processId to navigation events
test: null frame property
docs: clarify warning message
better wording
clarify null frame
fix: browserwindow spec
* maybe fix 🤷
* fix: use updated util #43722
* docs: add notice for frame change of behavior
* docs: clarify why frame properties may be null
* lint
* wip
* fix: content::FrameTreeNodeId lookup and converter
* refactor: avoid holey array deoptimization
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org >
2024-10-11 18:33:53 -04:00
Samuel Attard
122685194a
build: add import/order eslint rule ( #44085 )
...
* build: add import/order eslint rule
* chore: run lint:js --fix
2024-10-02 19:10:44 -07:00
Shelley Vohr
d4e4cdee6c
fix: remove resize listener when BrowserWindow closed ( #43972 )
2024-09-27 10:34:00 -04:00
Samuel Attard
74af96da16
build: update some build dependencies ( #43882 )
...
* build: update some build dependencies
* build: fix eslint issues after updating
* build: disable ts check on busted js example
* build: update internal types for stricter event handling
* restore url.parse behavior
* fix typing issues
* sigh
* build: update easy deps
* build: skip woa engines check
2024-09-26 00:12:11 -07:00
Shelley Vohr
f89bd745d5
fix: createWindow shouldn't load URL for webContents ( #43775 )
...
* fix: createWindow shouldn't load URL for webContents
* chore: add non about blank test
2024-09-20 09:56:03 +02:00
Fedor Indutny
6aa6bada79
fix: third time screen sharing on macOS ( #43767 )
...
Because we used decrementing negative source ids for fake video id when
instantating a native macOS screen share picker, we eventually hit the
`DesktopMediaID::kFakeId = -3` in Chromium source code which displayed a
test green screen.
In this change we reserve our own fake id of `-4` and decrement the
window id integer for uniqueness instead.
Co-authored-by: Fedor Indutny <238531+indutny@users.noreply.github.com >
2024-09-19 18:28:28 -07: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
Zorro Liu
e2fe8f50e2
fix: update BrowserView#lastWindowSize after window resize ( #43463 )
...
fix: update BrowserView#lastWindowSize after window resize (#43462 )
2024-09-09 14:22:30 +02:00
Shelley Vohr
50ce448556
fix: menu should allow focused BaseWindow where possible ( #43404 )
...
fix: menu should allow focused BaseWindow
2024-08-22 14:13:30 -04:00
Alexander Cyon
ae0c8881c3
chore: fix typos in 'spec/' folder (and one in 'lib/' folder) ( #43374 )
2024-08-22 15:44:15 +02: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
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
Alice Zhao
4286234721
fix: redirect webview navigation methods ( #42981 )
2024-07-29 13:00:51 +02:00
Keeley Hammond
2fd04a78a1
fix: revert BrowserWindow unresponsive handling refactor ( #43034 )
...
* Revert "refactor: JSify BrowserWindow unresponsive handling (#37902 )"
This reverts commit 67ba30402b .
* chore: remove BrowserWindow::SetTitleBarOverlay
---------
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com >
2024-07-25 13:02:02 -07:00
Shelley Vohr
cfdcf48e1b
fix: desktopCapturer breaks BrowserWindow resizable on macOS ( #43013 )
...
* fix: desktopCapturer breaks BrowserWindow resizable on macOS
* test: oops fix showing
2024-07-25 11:17:37 +02:00
Shelley Vohr
5669a40d5c
feat: add transparency checking to nativeTheme ( #42862 )
...
* feat: add transparency checking to nativeTheme
Refs https://chromium-review.googlesource.com/c/chromium/src/+/4684870
* chore: deprecate previous function
* chore: fix lint
2024-07-24 14:38:22 +02:00