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 2e888368199317d67f6ad931a7e9eff0295c4b1b.
* 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 4684870
* chore: deprecate previous function
* chore: fix lint
2024-07-24 14:38:22 +02:00
arno renevier
81bdba67ec
feat: Implement password delegate for NSS ( #41205 )
...
* feat: Implement password delegate for NSS (#41188 )
Introduce an app event client-certificate-request-password. It allows
the user to display a UI to prompt for the password.
An alternative would have been to implement a class similar to
CryptoModulePasswordDialogView, to provide the UI. This might have been
simpler for the user, comparing to letting them implement the UI. But it
seems like electron does not have an i18n framework, so it's not
possible to provide a locale aware UI.
* fix lint:markdown error
* address review comments
* use a trampoline handler in JS. The api exposed is now app.setClientCertRequestPasswordHandler
* use properties on the Event object instead of positional parameters
* remove ChromeNSSCryptoModuleDelegate::OnPassword in favor of args->GetNext(&password_)
* address review comments second round
- backslash escape parametrized TypeScript
- rename hostName param to hostname
- use base::ScopedAllowBaseSyncPrimitivesForTesting
- and then, rename ChromeNSSCryptoModuleDelegate to ElectronNSSCryptoModuleDelegate
* Update docs/api/app.md
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
* Update docs/api/app.md
Co-authored-by: Erick Zhao <erick@hotmail.ca>
---------
Co-authored-by: Arno Renevier <arnaud@switchboard.app>
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
Co-authored-by: Erick Zhao <erick@hotmail.ca>
2024-07-17 09:48:03 -04:00
Shelley Vohr
cb2e7f130b
fix: potentially closed webContents in BrowserView ( #42633 )
2024-07-08 12:13:53 +02:00
Alice Zhao
e9a93a8c5c
fix: setTopBrowserView focus issue with reordering ( #42653 )
...
* fix: reorder top browser view instead of adding/removing
* fix: update browserViews order
* test: add a test for setTopBrowserView
2024-07-01 11:36:04 +02:00
Alice Zhao
406f644d26
feat: duplicate navigation related APIs to contents.navigationHistory
( #41752 )
...
* refactor: move navigation related api to navigationHistory
* docs: add deprecation messages to old web content methods
* fix: add deprecation warnings to webcontents
* fix: add deprecation warnings and make existing naviagation apis internal
* Update docs/api/web-contents.md
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
* Update docs/api/web-contents.md
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
* Update docs/api/web-contents.md
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
* Update docs/api/web-contents.md
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
* docs: fix links
* docs: add breaking change to 31
* docs: move breaking change to 32
* chore: re-run pipeline
---------
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
2024-06-05 09:34:47 -07:00
Anny Yang
5fb117a7d7
fix: don't destroy BrowserView webContents when owning BrowserWindow hasn't been closed ( #42353 )
...
* fix: moves bv webContents close to closed event
* chore: adds unit tests
* chore: test that bv webContents are destroyed when parent bw closed
2024-06-05 09:58:38 +02:00
Shelley Vohr
9f88820be9
fix: dialogs should work with BaseWindows internally ( #42315 )
2024-05-31 12:04:22 +02:00
Shelley Vohr
d0cb298f95
fix: webContents.navigationHistory
should be enumerable ( #42139 )
...
fix: webContents.navigationHistory should be enumerable
2024-05-14 16:47:47 -04:00
electron-roller[bot]
653d0f009e
chore: bump node to v20.13.1 (main) ( #42088 )
...
* chore: bump node in DEPS to v20.13.0
* crypto: enable NODE_EXTRA_CA_CERTS with BoringSSL
https://github.com/nodejs/node/pull/52217
* test: skip test for dynamically linked OpenSSL
https://github.com/nodejs/node/pull/52542
* lib, url: add a `windows` option to path parsing
https://github.com/nodejs/node/pull/52509
* src: use dedicated routine to compile function for builtin CJS loader
https://github.com/nodejs/node/pull/52016
* test: mark test as flaky
https://github.com/nodejs/node/pull/52671
* build,tools: add test-ubsan ci
https://github.com/nodejs/node/pull/46297
* src: preload function for Environment
https://github.com/nodejs/node/pull/51539
* chore: fixup patch indices
* deps: update c-ares to 1.28.1
https://github.com/nodejs/node/pull/52285
* chore: handle updated filenames
- https://github.com/nodejs/node/pull/51999
- https://github.com/nodejs/node/pull/51927
* chore: bump node in DEPS to v20.13.1
* events: extract addAbortListener for safe internal use
https://github.com/nodejs/node/pull/52081
* module: print location of unsettled top-level await in entry points
https://github.com/nodejs/node/pull/51999
* fs: add stacktrace to fs/promises
https://github.com/nodejs/node/pull/49849
* chore: update patches
---------
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: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
2024-05-13 11:43:14 -04:00
Shelley Vohr
c765d57265
fix: BrowserView autoresizing conversion error ( #42056 )
2024-05-13 10:27:01 +02:00
Jeremy Rose
4e8c28fdf0
fix: data corruption in protocol.handle
( #41894 )
2024-04-22 13:40:01 -07:00
Jeremy Rose
67ba30402b
refactor: JSify BrowserWindow unresponsive handling ( #37902 )
2024-04-18 13:14:07 -07:00
Alice Zhao
00e3445f8a
feat: add navigationHistory.getEntryAtIndex(int index)
method ( #41577 )
2024-03-21 14:59:23 -07:00
Shelley Vohr
d5912fd05a
fix: webContents.print options should be optional ( #41467 )
2024-02-29 10:19:44 -05:00
Krzysztof Halwa
a0dad83ded
feat: Allow creation of new window to be customizable. ( #41432 )
2024-02-29 10:15:01 -05:00
Henrik Gaßmann
80906c0adb
fix: properly stream uploadData
in protocol.handle()
( #41052 )
...
* refactor(protocol): extract file stream factory
Increase readability by moving the file stream creation logic out of the
`uploadData` to request body conversion function.
* fix: properly flatten streams in `protocol.handle()`
Refs: electron/electron#39658
* fix: `protocol.handle()` filter null origin header
Refs: electron/electron#40754
* fix: remove obsolete TODO comment
Refs: electron/electron#38929
* fix: forward `Blob` parts in `protocol.handle()`
Refs: electron/electron#40826
* fix: explicitly error out on unknown chunk parts
2024-02-16 14:29:29 -05:00
marekharanczyk
398ca2a019
fix: make sure invalid URL loads promises are fulfilled. ( #41194 )
...
* fix: make sure invalid URL loads promisses are fulfilled.
* fixup! fix: make sure invalid URL loads promisses are fulfilled.
2024-02-05 16:36:51 +09:00
Milan Burda
dac29f9949
refactor: type-safe module imports / requires ( #41192 )
2024-02-05 16:36:28 +09:00
Shelley Vohr
6df3443617
fix: validate printToPDF
margins
against pageSize
( #41157 )
...
fix: validate margins against pageSize
2024-01-31 10:48:41 +01:00