Fedor Indutny
06a00b74e8
fix: initialize asar support in worker threads ( #33216 )
...
* fix: initialize asar support in worker threads
Use `ObjectWrap` instead of gin's Wrap in `electron_api_asar.cc` because
gin isn't fully initialized (and apparently not possible to initialize
without ruining the isolate configuration and array buffer allocator) in
worker threads. In the worker thread call `setupAsarSupport` just as we
do for the main process.
* Update lib/asar/fs-wrapper.ts
Co-authored-by: Darshan Sen <raisinten@gmail.com>
* Update patches/node/worker_thread_add_asar_support.patch
Co-authored-by: Darshan Sen <raisinten@gmail.com>
* Add a test
Co-authored-by: Darshan Sen <raisinten@gmail.com>
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2022-03-22 20:37:55 -04:00
Jeremy Rose
4342b7ff55
chore: remove awkward semi-documented preloadURL WebPreference ( #33228 )
2022-03-16 16:23:41 -07:00
t57ser
41b2945ced
feat: add ability to configure if window should close when opener closes ( #31314 )
...
* feat: Added ability to configure if window should close when opener closes
* fix: check if embedder is destroyed
* fix: correctly take over closeWithOpener property
* chore: Added documentation
* Update docs/api/window-open.md
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
* chore: refactor
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* chore: changed property name from `closeWithOpener` to `outlivesOpener`
* dummy change to kick lint
* undo above
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2022-02-23 16:59:50 +09:00
Milan Burda
db9ab80694
chore: update to latest TypeScript ( #32596 )
2022-01-31 20:37:40 +09:00
Milan Burda
99ee1fc0eb
fix: will-attach-webview handler modifying params.instanceId does not break <webview> ( #32386 )
2022-01-12 16:41:20 +09:00
Jeremy Rose
d44a187d0b
feat: remove nativeWindowOpen option ( #29405 )
...
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
Co-authored-by: Milan Burda <milan.burda@gmail.com>
2022-01-06 09:28:03 -08:00
Charles Kerr
cac871c027
Revert "refactor: only create webContents after 'will-attach-webview' ( #30311 )" ( #31785 )
...
This reverts commit 6e43b0bcbf
.
2021-11-11 15:04:06 -05:00
Milan Burda
fe7f296339
refactor: remove duplicate contextIsolation from getWebPreference() ( #31730 )
2021-11-08 11:57:56 -05:00
Samuel Attard
63eed52626
fix: do not trigger CSP violations when checking eval ( #30991 )
...
* fix: do not trigger CSP violations when checking eval
* Update shell/renderer/api/electron_api_web_frame.cc
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
2021-10-25 14:11:24 -07:00
Darshan Sen
8f51d3e1bf
feat: add webContents.getPrintersAsync()
( #31023 )
...
This deprecates the synchronous and blocking `webContents.getPrinters()`
function and introduces `webContents.getPrintersAsync()`, which is
asynchronous and non-blocking.
Signed-off-by: Darshan Sen <darshan.sen@postman.com>
2021-10-25 14:16:58 -04:00
Robo
2a92d8f962
refactor: only access memory coordinator interface from browser process ( #31295 )
...
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3174305
2021-10-05 15:30:31 -07:00
Milan Burda
80577a4f08
refactor: use native WeakRef instead of v8util.weaklyTrackValue() ( #31153 )
2021-09-27 16:50:42 -04:00
Milan Burda
98ac0ca52a
fix: running tests with release build ( #31092 )
2021-09-27 16:58:03 +02:00
祈緒ちゃん - Kiochan
ad98f4707f
chore: update links of documentation of chromes ( #30959 )
...
chrome now use developer.chrome.com/docs/extensions/* instead of developer.chrome.com/extensions/*
2021-09-17 10:53:28 +09:00
Samuel Attard
57d088517c
feat: add support for validating asar archives on macOS ( #30667 )
...
* feat: add support for validating asar archives on macOS
* chore: fix lint
* chore: update as per feedback
* feat: switch implementation to asar integrity hash checks
* feat: make ranged requests work with the asar file validator DataSourceFilter
* chore: fix lint
* chore: fix missing log include on non-darwin
* fix: do not pull block size out of missing optional
* fix: match ValidateOrDie symbol on non-darwin
* chore: fix up asar specs by repacking archives
* fix: maintain integrity chain, do not load file integrity if header integrity was not loaded
* debug test
* Update node-spec.ts
* fix: initialize header_validated_
* chore: update PR per feedback
* chore: update per feedback
* build: use final asar module
* Update fuses.json5
2021-09-09 14:49:01 -07:00
Jeremy Rose
55c57808fb
feat: serialize NativeImage over ipc ( #30729 )
2021-09-07 10:37:45 -07:00
George Xu
bc508c6113
feat: add electron.safeStorage
encryption API ( #30020 )
...
* feat: add SafeStorage api; first commit
* chore: rename files to fit semantically
* chore: add linkedBindings
* chore: fix function signatures
* chore: refactor eisCookieEncryptionEnabled() fuse
* chore: create test file
* chore: add tests and documentation
* chore: add copyright and lint
* chore: add additional tests
* chore: fix constructor
* chore: commit for pair programming
* wip: commit for keeley pairing
* chore: docs change and code cleanup
* chore: add linux import
* chore: add description to documentation
* chore: fixing tests
* chore: modify behaviour to not allow unencrypted strings as decyption input
* fix add patch for enabling default v11 encryption on Linux
* chore: remove file after each test
* chore: fix patch
* chore: remove chromium patch
* chore: add linux specific tests
* chore: fix path
* chore: add checker for linuux file deletion
* chore: add dcheck back
* chore: remove reference to headless mode
* chore: remove tests for linux
* chore: edit commit message
* chore: refactor safeStorage to not be a class
* chore: remove static variable from header
* chore: spec file remove settimeout
Co-authored-by: VerteDinde <keeleymhammond@gmail.com>
2021-08-05 15:12:54 -07:00
Milan Burda
6e43b0bcbf
refactor: only create webContents after 'will-attach-webview' ( #30311 )
2021-08-03 10:08:49 -07:00
Milan Burda
c5ad7ed0cd
refactor: remove guestInstanceId from WebPreferences ( #30280 )
...
* refactor: remove guestInstanceId from WebPreferences
* refactor: remove WebViewManager::GetEmbedder
2021-07-28 15:32:53 -07:00
Milan Burda
a545cd3790
fix: type internal APIs that can return null properly ( #29852 )
2021-07-27 14:48:12 +09:00
Jeremy Rose
612361c4da
chore: remove unused getWebPreferences method ( #30160 )
2021-07-19 09:29:23 -07:00
Milan Burda
de6696ef1d
chore: remove unused and broken ipcRendererInternal.sendTo() ( #29743 )
2021-06-17 23:26:18 -05:00
Jeremy Rose
ebf54d7cc0
refactor: use PathProvider for user-data-dir and others ( #29649 )
...
* refactor: use PathProvider for user-data-dir and others
* consolidate logic for DIR_RECENT and DIR_APP_LOGS into path provider
* fix bad include
* remove debugging code
* fix build on mac
* fix build on win
* create app logs dir on both mac and non-mac
2021-06-15 09:32:56 +09:00
Milan Burda
8d0ed05c99
refactor: replace a few usages of V8 hidden properties ( #29400 )
2021-06-03 14:59:56 +09:00
Shelley Vohr
d6109b2eb4
chore: remove unused methods ( #29438 )
2021-06-02 16:27:45 +09:00
Shelley Vohr
3b75549511
fix: inspector context menu throwing an error ( #29436 )
2021-06-01 20:39:48 -07:00
Robo
77297f37a3
fix: adjust initial webContents focus calculation ( #29204 )
...
* fix: adjust initial webContents focus calculation
* fix: active window check on mac
* fix: about:blank focus behavior
* chore: add spec
Co-authored-by: Raymond Zhao <raymondzhao@microsoft.com>
2021-05-19 02:27:35 -07:00
Milan Burda
c68c65f383
refactor: implement <webview> using contextBridge ( #29037 )
...
* refactor: implement <webview> using contextBridge
* chore: address PR feedback
* chore: address PR feedback
* fix: check for HTMLIFrameElement instance in attachGuest
2021-05-15 16:42:07 +09:00
Milan Burda
cbba602eae
chore: cleanup dead <webview> related code ( #29039 )
2021-05-06 13:56:05 -07:00
Samuel Attard
e5e8ab4eea
refactor: remove more dead code post render process reuse ( #28983 )
...
* Overrides for window.history.*
* Node environment cleanup / creation logic
* Options and switches that are now static values
2021-05-04 11:30:29 -07:00
Milan Burda
a0589ca5d7
chore: remove unused element_instance_id_to_guest_map_ from WebViewManager ( #28979 )
2021-05-04 09:59:44 -04:00
Jeremy Rose
dba4df9326
feat: add more info in setWindowOpenHandler details ( #28518 )
...
* fix: invoke the window open handler for _blank links
* feat: add disposition to setWindowOpenHandler details
* fix: pass postData to new-window event
* postData can be heterogeneous
* fix type of postBody
* fix type of UploadFile and UploadRawData to be discriminated unions
* exclude the empty string from additionalFeatures
* add a test
* add postBody and referrer to setWindowOpenHandler args
* appease typescript
* Update api-browser-window-spec.ts
* update snapshots
2021-04-13 15:35:27 -04:00
Samuel Attard
6df2680cb6
refactor: clean up webFrame implementation to use gin wrappers ( #28497 )
...
* refactor: clean up webFrame implementation to use gin wrappers
The previous implementation of webFrame in the renderer process leaked
sub-frame contexts and global objects across the context boundaries thus
making it possible for apps to either maliciously or accidentally
violate the contextIsolation boundary.
This re-implementation binds all methods in native code directly to
content::RenderFrame instances instead of relying on JS to provide a
"window" with every method request. This is much more consistent with
the rest of the Electron codebase and is substantially safer.
* chore: un-re-order for ease of review
* chore: pass isolate around instead of ErrorThrower
* chore: fix rebase typo
* chore: remove unused variables
2021-04-12 16:35:18 -07:00
Milan Burda
da8c35e3b2
chore: remove deprecated worldSafeExecuteJavaScript option ( #28456 )
2021-04-08 12:03:57 -04:00
Milan Burda
55c66e3e92
chore: add types for electron_renderer_web_frame binding ( #28455 )
...
* chore: add types for electron_renderer_web_frame binding
* chore: use keyof for getWebPreference type
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
2021-04-02 14:34:28 -07:00
Jeremy Rose
d27ad0d182
fix: revert "refactor: mmap asar files ( #24470 )" ( #28137 )
...
This reverts commit 01a2e23194
.
2021-03-15 11:42:54 -07:00
Cheng Zhao
5b710519cf
test: reliably wait for spellchecker to load ( #28118 )
2021-03-12 16:35:57 +09:00
Milan Burda
5b205731f6
chore: remove deprecated remote module ( #25734 )
...
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2021-03-09 17:12:40 -08:00
Jeremy Rose
706d9ede9b
refactor: only allow internal messages from the main process ( #27676 )
2021-02-09 17:12:26 -08:00
Milan Burda
79b3393768
chore: remove bunch of usages of any ( #27512 )
2021-01-29 12:41:59 -08:00
Milan Burda
64b7be751a
fix: CSP with unsafe-eval
detection with Trusted Types ( #27446 )
2021-01-25 10:31:25 +09:00
Milan Burda
70190ec2b1
chore: update to latest TypeScript, which has built-in WeakRef declarations ( #27425 )
2021-01-22 11:25:47 -08:00
Cheng Zhao
c3091c3a70
fix: make SetWindowButtonVisibility work for customButtonsOnHover ( #27073 )
2021-01-19 19:12:09 +09:00
Milan Burda
2be3d03630
feat: add webFrameMain.send() / webFrameMain.postMessage() ( #26807 )
2021-01-15 09:00:37 +09:00
Jeremy Rose
07a1c2a3e5
fix: restrict sendToFrame to same-process frames by default ( #26875 )
2020-12-09 12:48:16 -08:00
Jeremy Rose
d3b1566181
chore: remove unused _replyInternal method ( #26825 )
2020-12-07 09:19:26 -08:00
Milan Burda
b37982987a
chore: remove unused sendToAll + related APIs ( #26771 )
...
* chore: remove unused sendToAll + related APIs
* refactor: no need to args.ShallowClone() anymore
2020-12-03 15:55:50 +09:00
LuoJinghua
e1cc78f275
feat: allow setting the Origin header and Sec-Fetch-* headers in net.request() ( #26135 )
2020-11-17 14:25:41 -08:00
Milan Burda
5ee9cc202b
fix: ensure that internal messages are sent from the main process ( #26429 )
2020-11-12 06:20:01 +03:00
Cheng Zhao
bb3fb548d8
feat: add APIs to enable/disable spell checker ( #26276 )
...
* feat: add APIs to enable/disable bulitin spell checker
* feat: add togglespellchecker menu item role
2020-11-11 10:29:18 -05:00
loc
0b85fdf26c
feat: add webContents.setWindowOpenHandler API ( #24517 )
...
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2020-11-10 09:06:03 -08:00
David Sanders
2c52d5fe42
chore: a few style fixes for internal-ambient.d.ts ( #26347 )
2020-11-05 14:13:02 -08:00
Jeremy Rose
34156c424c
fix: [webview] fix missing properties on events when contextIsolation: true ( #26289 )
2020-11-04 11:15:20 +09:00
Charles Kerr
f489e3054a
feat: honor nativeTheme.themeSource = 'dark'
before creating BrowserWindow on Windows ( #25373 )
...
* fix: support 'dark' theme before creating windows.
2020-10-28 15:00:21 -05:00
Milan Burda
df1432a315
feat: add net.online / net.isOnline() ( #21004 )
2020-10-20 19:55:06 -07:00
Cheng Zhao
6b6ffbdd10
feat: add support for share menu on macOS ( #25629 )
2020-10-19 18:33:06 -07:00
Milan Burda
f827acc3be
chore: convert guest-view-manager.js to TypeScript ( #25825 )
2020-10-13 04:29:08 +03:00
Milan Burda
fb11a12d5b
refactor: replace a few any-s with proper types ( #25681 )
2020-10-08 03:01:23 +02:00
Milan Burda
b33f22601e
refactor: check ELECTRON_ENABLE_LOGGING via native implementation ( #25623 )
2020-10-06 09:58:31 +09:00
Keeley Hammond
6356cd4018
fix: allow ClientRequest responses to be throttled ( #25531 )
...
* fix: allow net streams to be throttled [WIP]
* fix: handle resume throttling within IncomingMessage [WIP]
* fix: fix urlLoader typing, add throttle test
* fix: fix lint and increase test timeout for Linux
* fix: increase test chunk limit to 20 and timeout to 2000
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2020-10-06 09:47:41 +09:00
Milan Burda
e1a19d735e
chore: convert guest-window-manager.js to TypeScript ( #25709 )
2020-10-02 20:18:42 +02:00
Milan Burda
8df4faa8f0
chore: cleanup typings/internal-electron.d.ts ( #25711 )
2020-10-02 04:52:29 +02:00
Jeremy Rose
0e7d59dd79
feat: [net] add "credentials" option to net.request ( #25284 )
...
* feat: [net] add "credentials" option to net.request
* remove debugging log
* add tests
2020-09-29 12:03:33 -04:00
Jeremy Rose
9f4a097e03
feat: remove getMediaSourceIdForWebContents() ( #25414 )
...
This reverts commit 204f001c5d
.
2020-09-14 10:38:05 -07:00
Samuel Attard
a6b9f9d8e5
fix: only focus a webContents if the window was not initially hidden ( #25292 )
2020-09-04 15:57:29 +09:00
Samuel Attard
8baa9deccd
build: update to typescript 4 ( #25091 )
2020-08-24 11:23:25 -07:00
Jeremy Rose
01a2e23194
refactor: mmap asar files ( #24470 )
2020-08-04 11:48:04 -07:00
Shelley Vohr
948cc08265
chore: add V8 crash information to crashReporter ( #24771 )
...
* feat: add V8 crash information to crashReporter
* Address review feedback
2020-07-29 19:04:24 -07:00
Samuel Attard
f649e604be
build: tsify asar and move to webpack js2c pipeline ( #24495 )
...
* build: tsify asar and move to webpack js2c pipeline
* build: use the webpack provider for fs-wrapper
2020-07-16 11:38:31 -07:00
Samuel Attard
4c3da359fc
build: convert touch-bar to typescript ( #24511 )
2020-07-16 11:37:38 -07:00
Samuel Attard
8847517798
build: tsify isolated_renderer/init ( #24496 )
2020-07-09 20:32:26 -07:00
Jeremy Rose
71a7e1b2e3
chore: tsify menu ( #24358 )
2020-07-06 13:24:54 -07:00
Jeremy Rose
1f23807271
chore: tsify web-contents ( #24325 )
2020-07-06 10:50:03 -07:00
Jeremy Rose
451086d7f2
chore: tsify extensions shim ( #24355 )
2020-06-30 12:49:08 -07:00
Cheng Zhao
ef3579eae3
refactor: rename TopLevelWindow to BaseWindow ( #24305 )
2020-06-29 16:06:20 +09:00
Jeremy Rose
80e5007c47
chore: tsify browser-window ( #24326 )
...
* chore: tsify browser-window
* fix focus
* also tsify top-level-window
2020-06-29 10:22:55 +09:00
Jeremy Rose
605e50269e
chore: convert rpc-server to ts ( #24271 )
2020-06-25 10:19:08 -07:00
Shelley Vohr
659e79fc08
refactor: prevent consistent early exception ( #24191 )
...
* refactor: prevent consistent early exception
* Use _linkedBinding where possible
* Remove dead electronBinding
2020-06-22 20:32:45 -07:00
Jeremy Rose
e1e73fa5f5
refactor: use WeakRef on main process side of remote ( #24115 )
2020-06-16 14:34:08 -07:00
Milan Burda
673169a7ba
chore: remove unused deprecate.fnToProperty() ( #24069 )
2020-06-15 18:59:04 -07:00
Jeremy Rose
c0182bca15
chore: remove test usages of createIDWeakMap ( #24116 )
2020-06-15 13:56:51 -07:00
Jeremy Rose
379bb174e9
refactor: use WeakRef on renderer side of remote ( #24037 )
2020-06-12 15:50:03 -07:00
Jeremy Rose
7274467f73
refactor: tsify remote ( #24034 )
2020-06-11 11:36:03 -07:00
Samuel Attard
236c1334e3
chore: tsify sandboxed init ( #23719 )
2020-05-30 02:56:54 -07:00
Jeremy Judeaux
204f001c5d
feat: add desktopCapturer.getMediaSourceIdForWebContents() to get stream source id from web contents ( #22701 )
...
* feat: add desktopCapturer.getMediaSourceIdForWebContents() to get stream source id from web contents
* Cleanup from #22701 PR comments
2020-05-26 16:34:24 -04:00
Samuel Attard
9bc5e98238
chore: tsify more of lib ( #23721 )
...
* chore: tsify more of lib
* Update lib/browser/api/session.ts
Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
2020-05-22 12:46:22 -07:00
LuoJinghua
9d851b8791
net: Don't ignore the referer header in net.request ( #23386 )
2020-05-20 13:28:38 -04:00
Jeremy Apthorp
7e841ceb5c
refactor: tsify net module ( #23618 )
2020-05-18 10:22:48 -07:00
Samuel Attard
9d7ba98209
refactor: remove the RenderFrameFunctionStore and use privates to memory manage ( #23592 )
2020-05-15 11:57:40 -07:00
Milan Burda
85fae67966
perf: use type-utils for desktopCapturer.getSources() result serialization ( #23549 )
2020-05-13 19:05:53 +02:00
Samuel Attard
7f9b7b2e95
chore: clean up context bridge scopes and add specs for internal bridge ( #23334 )
...
* chore: clean up context bridge context scopes
* spec: add specs for internalContextBridge
2020-05-11 13:41:42 -07:00
Milan Burda
392ea320cf
build: allow use of BUILDFLAG directives from within JS code ( #20328 )
2020-05-11 01:06:07 +02:00
Samuel Attard
0d2e967960
feat: expose electron/{process} typed modules ( #22937 )
...
* feat: expose electron/{process} typed modules
* chore: update imports for common modules
* chore: update typescript generator
* chore: remap electron/* to the internal packages
2020-04-06 17:04:09 -07:00
Samuel Attard
aa15a2cc03
build: update typescript and webpack ( #22776 )
2020-03-19 16:55:49 -07:00
Jeremy Apthorp
a824e12275
refactor: ginify desktopCapturer ( #22746 )
2020-03-19 11:35:11 -07:00
Jeremy Apthorp
b4d07f76d3
feat: MessagePorts in the main process ( #22404 )
2020-03-11 18:07:54 -07:00
Alexey Kuzmin
bf75e5a91f
build: fix build without built-in spellchecker ( #22594 )
2020-03-10 18:39:40 +09:00
Samuel Attard
12c1d4411d
chore: add deprecation warning on setting app.allowRendererProcessReuse to false ( #22337 )
...
* chore: add deprecation warning on setting app.allowRendererProcessReuse to false
* fix: no deprecation warnings in process reuse spec
* chore: add test for new deprecate removeProperty behavior
2020-02-26 14:03:52 -08:00
Milan Burda
3f2cb91a35
refactor: declare KeyWeakMap<K, V> returned by createIDWeakMap() / createDoubleIDWeakMap() ( #21171 )
2019-11-21 13:32:31 +01:00
Shelley Vohr
af1e8a347e
chore: remove unused promisify code ( #21114 )
2019-11-14 14:50:50 +09:00