Commit graph

2045 commits

Author SHA1 Message Date
Jeremy Rose
4342b7ff55
chore: remove awkward semi-documented preloadURL WebPreference (#33228) 2022-03-16 16:23:41 -07:00
Jeremy Rose
27527fe5ca
feat: warn that preloads will be sandboxed by default in v20 (#32868) 2022-03-08 15:39:53 -08: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
David Sanders
1e8da899a3
chore: fix typos (#32985) 2022-02-21 10:27:45 +01:00
Milan Burda
db9ab80694
chore: update to latest TypeScript (#32596) 2022-01-31 20:37:40 +09:00
Matthew Rayermann
d26d337bb8
feat: add rawHeaders to IncomingMessage (#31853)
* Add response.rawHeaders to docs for IncomingMessage

* Remove trailing spaces

* Implement raw headers, add tests

* Fix lint issues

* Add example from NodeJS docs

* Fix lint issue in doc example

* Add missing #
2022-01-24 11:46:15 -05: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
electron-roller[bot]
b0f315a637
chore: bump chromium to 99.0.4767.0 (main) (#31986)
* chore: bump chromium in DEPS to 98.0.4726.0

* 3292117: Remove unneeded base/compiler_specific.h includes in //chrome.

https://chromium-review.googlesource.com/c/chromium/src/+/3292117

* 3289198: Enables calculating line, word and sentence boundaries on the browser

https://chromium-review.googlesource.com/c/chromium/src/+/3289198

* 3276176: Remove expired gdi-text-printing flag and associated code.

https://chromium-review.googlesource.com/c/chromium/src/+/3276176

* 3240963: content: allow embedder to prevent locking scheme registry

https://chromium-review.googlesource.com/c/chromium/src/+/3240963

* 3269899: Rename WebContentsImpl::GetFrameTree to GetPrimaryFrameTree

https://chromium-review.googlesource.com/c/chromium/src/+/3269899

* chore: fixup patch indices

* 3276279: Enable -Wshadow by default for the "chromium code" config.

https://chromium-review.googlesource.com/c/chromium/src/+/3276279

* 3279737: appcache: Remove WebPreference/WebSetting

https://chromium-review.googlesource.com/c/chromium/src/+/3279737

* 3275564: [api] Advance API deprecation for APIs last marked in v9.6

https://chromium-review.googlesource.com/c/v8/v8/+/3275564

* 3261873: Clean up WebScriptSource constructors

https://chromium-review.googlesource.com/c/chromium/src/+/3261873

* 3279346: appcache: Remove ConsoleMessage appcache field

https://chromium-review.googlesource.com/c/chromium/src/+/3279346

* 3264212: Move legacy file loading to legacy_test_runner

https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3264212

Both Persistence and UI have been removed from globals, but the issues they
seemed to be patching are no longer reproducible from what I can tell, and
so we can just delete these and re-evaluate if something surfaces.

* 3290415: x11: remove the USE_X11 define.

https://chromium-review.googlesource.com/c/chromium/src/+/3290415

* chore: bump Chromium to 98.0.4728.0

* 3179530: Defer system calls in PrintingContext for OOP printing

https://chromium-review.googlesource.com/c/chromium/src/+/3179530

* 3299445: Consolidate is_win conditionals in chrome/test/BUILD.gn.

https://chromium-review.googlesource.com/c/chromium/src/+/3299445

* chore: update patch indices

* 3223975: Break PrintJobWorker OOP logic into separate class

https://chromium-review.googlesource.com/c/chromium/src/+/3223975

* chore: bump chromium in DEPS to 98.0.4730.0

* 3279001: Remove support for font-family: -webkit-pictograph

https://chromium-review.googlesource.com/c/chromium/src/+/3279001

* chore: fixup patch indices

* chore: bump chromium in DEPS to 98.0.4732.0

* chore: update patches

* chore: bump chromium in DEPS to 98.0.4734.0

* chore: bump chromium in DEPS to 98.0.4736.0

* chore: update patches

* chore: update printing patch for miracle ptr

* chore: add noexcept to fix clang error

* chore: bump chromium in DEPS to 98.0.4738.0

* chore: update patches

* chore: bump chromium in DEPS to 98.0.4740.0

* chore: bump chromium in DEPS to 98.0.4742.0

* chore: bump chromium in DEPS to 98.0.4744.0

* chore: bump chromium in DEPS to 98.0.4746.0

* chore: bump chromium in DEPS to 98.0.4748.0

* chore: bump chromium in DEPS to 98.0.4750.0

* chore: update patches

* 3293841: Remove File Handling permissions code

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3293841

* chore: update patches

3311700: Move the PpapiPluginSandboxedProcessLauncherDelegate | https://chromium-review.googlesource.com/c/chromium/src/+/3311700

* 3289260: [CodeHealth]: Remove uses of Notification Service

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3289260

* 3301600: Disable scripted print in fenced frames

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3301600

* chore: add missing thread_restrictions headers

* 3305132: Rewrite most `Foo* field_` pointer fields to `raw_ptr<Foo> field_`.

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3305132

* fix: add ppapi_sandbox header for linux

3311700: Move the PpapiPluginSandboxedProcessLauncherDelegate | https://chromium-review.googlesource.com/c/chromium/src/+/3311700

* chore: manually bump chromium in DEPS to 98.0.4757.0

* chore: update patches

* 3321044: Remove DictionaryValue::Clear()
 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3321044

* chore: update printing.patch
Refs:
- 3304556: [code health] Remove notification observation from PrintJob. | https://chromium-review.googlesource.com/c/chromium/src/+/3304556
- 3305095: [code health] Remove NotificationService from PrintViewManagerBase. | https://chromium-review.googlesource.com/c/chromium/src/+/3305095

* build: add v8-embedder-state headers to GN patch

* chore: bump chromium in DEPS to 99.0.4767.0

* chore: update patches

* chore: rename CookiePartitionKeychain

...to CookiePartitionKeyCollection

* chore: update video consumers

* refactor: use newer base::Value API

* 3232598: Convert net::DnsOverHttpsServerConfig into a class | https://chromium-review.googlesource.com/c/chromium/src/+/3232598

* 3327865: Remove the default WebContentsUserData ctor. | https://chromium-review.googlesource.com/c/chromium/src/+/3327865

* 3302814: DevTools: Add getPreference binding | https://chromium-review.googlesource.com/c/chromium/src/+/3302814

* 3301474: [tq][runtime] Use build flags for JS context promise hooks | https://chromium-review.googlesource.com/c/v8/v8/+/3301474

* oops 😵‍💫

* 3272411: Reland "base/allocator: Enable PartitionAlloc-Everywhere on macOS" | https://chromium-review.googlesource.com/c/chromium/src/+/3272411

build: turn PartitionAlloc back off on mac for now

* fix: WCO method got renamed

* 3344749: Revert "Stop using NSRunLoop in renderer process"

https://chromium-review.googlesource.com/c/chromium/src/+/3344749

* 3288746: [serial] Fix BluetoothSerialDeviceEnumerator threading issues.

https://chromium-review.googlesource.com/c/chromium/src/+/3288746

* Revert "3288746: [serial] Fix BluetoothSerialDeviceEnumerator threading issues."

This reverts commit 5cc69f102e43ca72ac9ef45063711bcc7d849740.

* chore: disable serial device enumerator sequence dcheck

* fix: comment out line in DeviceService dtor

* fixup! 3279001: Remove support for font-family: -webkit-pictograph

* fixup! 3279346: appcache: Remove ConsoleMessage appcache field

* chore: update patches after rebase

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>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: VerteDinde <khammond@slack-corp.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2022-01-10 17:31:39 -05:00
Jeremy Rose
a015332342
fix: drop nativeWindowOpen deprecation warning (#32370) 2022-01-06 12:01:55 -08:00
Mitchell Cohen
5af6b898d9
feat: add Substitutions menu roles on macOS (#32024) 2022-01-06 10:41:28 -08: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
Milan Burda
2f9fd06534
chore: deprecate nativeWindowOpen in Electron 17 (#32116) 2022-01-06 05:08:59 -08:00
Keeley Hammond
ffbaa1d83f
fix: check for single bluetooth listener (#32240) 2021-12-17 16:55:43 -08:00
Samuel Attard
a11f5cbb27
fix: ensure bluetooth devices are not returned by default (#32178) 2021-12-15 11:46:48 -08:00
Cheng Zhao
35ac7fb8e6
fix: window.open not overriding parent's webPreferences (#32057)
* fix: window.open not overriding parent's webPreferences

* test: remove "nativeWindowOpen: false" from renderer tests
2021-12-06 12:54:14 +09:00
Erick Zhao
b4b0667d52
chore: make Discord invite non-vanity (#31991) 2021-11-26 13:10:07 +13: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
18cc33055d
chore: move libs only used in browser out of common (#31780) 2021-11-10 08:54:51 -08:00
Milan Burda
dfb3b24de1
refactor: merge duplicate code from sandboxed/non-sandboxed renderer init (#31755) 2021-11-10 09:59:33 +09:00
Milan Burda
68b8e9be9a
chore: cleanup obsolete lib/common/remote/ipc-messages.ts (#31756) 2021-11-09 03:18:44 -08: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
t57ser
7eaebe0bd6
fix: add isDestroyed check (#31208)
* Added isDestroyed check

fix: https://github.com/electron/electron/issues/31196

* fix: unregister frame name

Unregister the frame name so that we do not accidentally unregister the wrong window later on in case there is a timing issue with the events

* fix; check if webContents is destroyed

* fix: check if window/webContents is destroyed

Co-authored-by: Cheng Zhao <github@zcbenz.com>

Co-authored-by: Cheng Zhao <github@zcbenz.com>
2021-10-19 09:57:10 +09:00
Milan Burda
5592652504
feat: warn when ipcRenderer.sendSync() called with no listeners for channel (#31344) 2021-10-14 14:24:04 -04:00
Keeley Hammond
bff20bd769
fix: reset render_frame_disposed_ after render frame host change (#31401)
* fix: reset render_frame_disposed_ after hang

* fix: handle exception in webContents.send
2021-10-14 09:44:44 -07:00
Samuel Attard
014ebbd6fa
feat: add commandLine.removeSwitch (#30933)
* feat: add commandLine.removeSwitch

In some cases apps may want to remove Chromium command line switches to avoid certain Chromium behaviors being used, E.g. remote-debugging-port or gpu-launcher

* fix: add missing removeSwitch to app.ts

Co-authored-by: Milan Burda <milan.burda@gmail.com>
2021-10-06 16:45:58 -04:00
Cheng Zhao
959b657903
chore: remove Node.js patch on Module.globalPaths (#31275)
* chore: remove Node.js patch on Module.globalPaths

* chore: update patches

Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
2021-10-06 09:20:05 +09: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
Jeremy Rose
4fd7c2adcd
feat: make desktopCapturer main-process-only (#30720)
* feat: make desktopCapturer main-process-only

* remove --enable-api-filtering-logging

* remove test

* merge lib/browser/api/desktop-capturer.ts with lib/browser/desktop-capturer.ts

* remove desktop-capturer-get-sources event

* fix specs

* getSources needs to be async

Co-authored-by: Milan Burda <milan.burda@gmail.com>
2021-10-04 12:16:00 +09:00
Milan Burda
77579614e0
feat: add width option to dialog.showMessageBox() (#30474) 2021-09-23 19:56:14 +09:00
Keeley Hammond
bb6dc99d9d
chore: clarify new-window fix comment (#31069) 2021-09-22 15:30:55 -07:00
Keeley Hammond
4fcc0884f8
fix: propagate window.open settings to child window (#31031) 2021-09-21 09:06:20 -07:00
Jeremy Rose
e38a0a67c6
fix: suppress insecure resource warning for more local hostnames (#30885)
* fix: suppress insecure resource warning for more local hostnames

* fix tests
2021-09-21 15:47:54 +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
Milan Burda
8b7631228f
chore: move native-image.ts back into common (#30838) 2021-09-06 11:06:27 +02:00
Jeremy Rose
ee0e15a52e
feat: deprecate desktopCapturer.getSources in the renderer (#30721) 2021-09-02 11:31:47 -07:00
Jeremy Rose
aa9da78edb
fix: remove ipc wrapper for nativeImage.createThumbnailFromPath (#30728) 2021-08-27 14:21:36 -07:00
Samuel Maddock
352ac21413
feat: add webContents.fromDevToolsTargetId() (#29399)
* feat: add webContents.fromDevToolsTargetId()

* refactor: avoid using FromOrCreate
2021-08-27 14:01:24 -07:00
Milan Burda
501ac15b1d
feat: add <webview>.sendToFrame() / frameId to 'ipc-message' event (#30451) 2021-08-25 09:46:46 +02:00
Milan Burda
aad1c0d493
feat: add <webview> 'did-redirect-navigation' event (#30457) 2021-08-23 10:26:00 -04:00
Milan Burda
04aafcc5ef
refactor: simplify <webview> event dispatch (#30458)
* refactor: simplify <webview> event dispatch

* Update lib/browser/guest-view-manager.ts

Co-authored-by: Jeremy Rose <jeremya@chromium.org>

* remove undocumented new-window event properties

Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2021-08-17 12:10:27 -04: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
Robo
2b897c8ad8
fix: crash due to race between attach and destruction of webview (#24344) 2021-08-02 08:35:57 -07:00
Jeremy Rose
888ac65c72
fix: toggleDevTools menu role closes devtools window (#29922) 2021-08-02 10:58:28 +09: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
fc7ea75009
refactor: move related code to makeWebPreferences in guest-view-manager.ts (#30272) 2021-07-27 16:12:49 -07:00
Milan Burda
a545cd3790
fix: type internal APIs that can return null properly (#29852) 2021-07-27 14:48:12 +09:00
Cheng Zhao
05ba6359d0
feat: add signal option to dialog.showMessageBox (#26102)
* mac: add dialog.closeMessageBox API

* win: Implement dialog.closeMessageBox

* mac: Return cancelId with closeMessageBox

* gtk: Implement dialog.closeMessageBox

* win: Fix 32bit build

* win: Reduce the scope of lock

* fix: Build error after rebase

* feat: Use AbortSignal to close message box

* chore: silently handle duplicate ID

* win: Add more notes about the threads

* chore: apply reviews

* fix: base::NoDestructor should be warpped in function

* chore: fix style on windows
2021-07-15 07:59:27 +09:00
Shelley Vohr
af991123f1
fix: self.module.paths not working in web workers (#29955)
* fix: global.module.paths in workers

* spec: add a regression test
2021-07-05 08:48:46 +09:00
Samuel Attard
da9261497e
feat: add MenuItem.userAccelerator property (#26682)
* feat: add MenuItem.userAccelerator property

This allows folks to read the user-assigned accelerator that macOS users can provide in system preferences. Useful for showing in-app shortcut help dialogs, you need to know if the accelerator you provided is not being used in favor of a user assigned one.

* chore: update syntax

* chore: add safety check for command index being -1
2021-06-29 16:28:16 -07:00
Shelley Vohr
9b5dd5380f
fix: Inspector method overrides when contextIsolation enabled (#29841) 2021-06-24 20:36:22 +02:00
Jeremy Rose
0f16575eee
fix: stop window.open from hanging when prevented (#29851) 2021-06-24 08:50:48 -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
Shelley Vohr
a4decffe9a
fix: improper wrapping of fs.promises.readFile (#29528) 2021-06-07 21:19:39 +02:00
Milan Burda
8d0ed05c99
refactor: replace a few usages of V8 hidden properties (#29400) 2021-06-03 14:59:56 +09:00
Milan Burda
44491b023a
refactor: eliminate duplicate C++ / JavaScript implementation of app.isPackaged (#29464) 2021-06-02 12:17:08 -07:00
Shelley Vohr
3b75549511
fix: inspector context menu throwing an error (#29436) 2021-06-01 20:39:48 -07:00
Milan Burda
8fc86517fa
refactor: expose process.contextId directly (#29236) 2021-05-24 16:51:54 +09: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
Tabish Mahfuz
5ceec9189e
fix: Menu.setApplicationMenu can return a useless array 29088 (#29118) 2021-05-12 12:02:30 -07:00
Milan Burda
49ef1fe342
refactor: use WeakMap instead of hidden V8 properties to store WebViewImpl (#29049) 2021-05-07 17:56:22 -07:00
Milan Burda
25f5c01cec
refactor: remove setupWebViewAttributes gymnastics (#29032) 2021-05-07 09:07:47 +02:00
Milan Burda
cbba602eae
chore: cleanup dead <webview> related code (#29039) 2021-05-06 13:56:05 -07:00
Milan Burda
dab9a88413
refactor: invoke loadURL in SrcAttribute instead of sending IPC directly (#29031) 2021-05-06 13:55:32 -07:00
Milan Burda
2c65060ec8
chore: make raw requires type-safe (#29006)
* chore: make raw requires type-safe

* refactor: no need for separate webViewImplModule

* refactor: no need for separate guestViewInternalModule
2021-05-05 18:05:01 -07:00
Milan Burda
2086e1903c
refactor: 'focus-change' does not need guestInstanceId (#29001)
* refactor: 'focus-change' does not need guestInstanceId

* refactor: rename internal 'focus-change' event to '-focus-change'
2021-05-05 11:37:40 -07:00
Milan Burda
476e908269
fix: <webview> focus / blur events don't work with contextIsolation enabled (#29004) 2021-05-05 11:31:44 -07:00
Milan Burda
42e5421276
refactor: remove unnecessary setupDialogProperties (#28982) 2021-05-05 16:00:41 +09:00
Milan Burda
961b74b2ac
refactor: use "as const" for constant mappings (#28980) 2021-05-04 14:12:49 -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
Samuel Attard
791eddd541
fix: provide no-op implementation of app.setUserModelId (#28915) 2021-04-28 18:41:03 -07:00
Samuel Attard
0a1b26b1d5
refactor: remove internal navigation controller (#28839) 2021-04-27 16:11:18 -07:00
Samuel Attard
79077f6df9
chore: remove app.allowRendererProcessReuse (#26874) 2021-04-21 13:59:11 -07:00
Jeremy Rose
4ca518468d
feat: remove BrowserWindow option inheritance (#28550) 2021-04-21 10:55:17 -07:00
Shelley Vohr
11199d8824
feat: add BrowserWindow.isFocusable() (#28642) 2021-04-21 12:32:19 +02:00
Jeremy Rose
e12a3cb59c
feat: remove deprecated additionalFeatures (#28548) 2021-04-19 15:46:54 -07:00
Samuel Attard
b8c2481edb
fix: do not handle write errors after request is aborted (#28682)
This fixes a flake on linux CI which started recently where the "write"
promise is being rejected after the request has been aborted /
cancelled.  In this case we should drop the error to the floor but
instead we pass it down the stack where it eventually emits a now
unhandled error event.

Example failure: https://app.circleci.com/pipelines/github/electron/electron/38072/workflows/c1faf19b-aa41-4f99-a564-165729222859/jobs/838813

Verified fix by running the test that caused it 10000 times before fix
and 10000 times after.  ~50 failures before, 0 after.
2021-04-19 09:50:14 -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
Shelley Vohr
95e26e2fd4
refactor: use URL API (#28583) 2021-04-09 14:22:18 -07:00
Milan Burda
da8c35e3b2
chore: remove deprecated worldSafeExecuteJavaScript option (#28456) 2021-04-08 12:03:57 -04:00
Jeremy Rose
77dcf1020a
fix: pass postData to new-window event (#28513) 2021-04-06 09:54:05 -07:00
Jeremy Rose
62b38812b6
fix: invoke the window open handler for _blank links (#28498)
* fix: invoke the window open handler for _blank links

* add test
2021-04-06 01:04:14 -07: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
Erick Zhao
f55aa78883
chore: update Community link in default menu (#28449) 2021-03-30 23:22:55 -07:00
Shelley Vohr
7c36463085
fix: window.print() in pdf plugin (#28328) 2021-03-23 10:40:37 -04:00
Jeremy Rose
502d4c19ce
feat: allow omitting submitURL when uploadToServer is false (#28105) 2021-03-18 14:15:19 -07:00
Milan Burda
485fa5bea9
feat: add process.contextId used by @electron/remote (#28007) 2021-03-17 11:23:03 -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
Samuel Attard
089ac8180f
fix: ensure child window transparency works (#28054)
* fix: ensure child window transparency works

Windows opened via window.open and intecepted via setWindowOpenHandler
or the `new-window` event should (a) have the correct background color
and (b) that background color should be transparent if specified.

The changes in api_web_contents fix (a) and the changes in
web_contents_preferences fix (b).

Notes: Child windows with specified background colors or transpency now
work as intended

* fix: set background_color in blink prefs apply logic

* chore: update for PR comments
2021-03-10 12:44:36 -08: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
liulun
54bc71da34
chore: Add a condition to crashReporter deprecate log (#27953)
* Add a condition to crashReporter deprecate log

When developer set  submitURL to '' crash reports will be saved  at `...\AppData\Roaming\...\Crashpad\reports`, will not be uploaded to the server.
So  at this time `deprecate.log('Sending uncompressed crash reports....')`  is  unnecessary.

* Update lib/browser/api/crash-reporter.ts

change to check uploadToServer

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2021-03-05 10:13:17 +09:00
Electron Bot
ca75bca667
chore: bump chromium to 90.0.4415.0 (master) (#27694)
* chore: bump chromium in DEPS to 520c02b46668fc608927e0fcd79b6a90885a48bf

* chore: bump chromium in DEPS to 90.0.4414.0

* resolve chromium conflicts

* resolve v8 conflicts

* fix node gn files

* 2673502: Remove RenderViewCreated use from ExtensionHost.

https://chromium-review.googlesource.com/c/chromium/src/+/2673502

* 2676903: [mojo] Remove most legacy Binding classes.

https://chromium-review.googlesource.com/c/chromium/src/+/2676903

* 2644847: Move self-deleting URLLoaderFactory base into //services/network.

https://chromium-review.googlesource.com/c/chromium/src/+/2644847

* 2664006: Remove from mojo::DataPipe.

https://chromium-review.googlesource.com/c/chromium/src/+/2664006

* 2674530: Remove CertVerifierService feature

https://chromium-review.googlesource.com/c/chromium/src/+/2674530

* 2668748: Move OnSSLCertificateError to a new interface.

https://chromium-review.googlesource.com/c/chromium/src/+/2668748

* 2672923: Remove RAPPOR reporting infrastructure.

https://chromium-review.googlesource.com/c/chromium/src/+/2672923

* 2673502: Remove RenderViewCreated use from ExtensionHost.

https://chromium-review.googlesource.com/c/chromium/src/+/2673502

* 2655126: Convert FrameHostMsg_ContextMenu and FrameMsg_ContextMenuClosed|CustomContextMenuAction to Mojo

https://chromium-review.googlesource.com/c/chromium/src/+/2655126

* 2628705: Window Placement: Implement screen.isExtended and change event

https://chromium-review.googlesource.com/c/chromium/src/+/2628705

* 2643161: Refactor storage::kFileSystem*Native*

https://chromium-review.googlesource.com/c/chromium/src/+/2643161

* fix build

* only remove the biggest subdir of //ios

* chore: bump chromium in DEPS to 90.0.4415.0

* update patches

* update sysroots

* 2686147: Remove WebContentsObserver::RenderViewCreated().

https://chromium-review.googlesource.com/c/chromium/src/+/2686147

* 2596429: Fixing how extension's split and spanning modes affect OriginAccessList.

https://chromium-review.googlesource.com/c/chromium/src/+/2596429

* 2686026: [mojo] Delete AssociatedInterfacePtr (replaced by AssociatedRemote)

https://chromium-review.googlesource.com/c/chromium/src/+/2686026

* 2651705: Move ui/base/dragdrop/file_info to ui/base/clipboard

https://chromium-review.googlesource.com/c/chromium/src/+/2651705

* 358217: drawBitmap is deprecated

https://skia-review.googlesource.com/c/skia/+/358217

* fix gn check

* 2678098: Use gen/front_end as input to generate_devtools_grd

https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2678098

* 2674530: Remove CertVerifierService feature

https://chromium-review.googlesource.com/c/chromium/src/+/2674530

* fixup 2664006: Remove from mojo::DataPipe.

  https://chromium-review.googlesource.com/c/chromium/src/+/2664006

* fixup build_add_electron_tracing_category.patch

* 2673415: [base] Prepare CrashReporterClient for string16 switch

https://chromium-review.googlesource.com/c/chromium/src/+/2673415

* 2673413: Add CursorFactoryWin to handle Cursors on Windows

https://chromium-review.googlesource.com/c/chromium/src/+/2673413

* 2668748: Move OnSSLCertificateError to a new interface.

https://chromium-review.googlesource.com/c/chromium/src/+/2668748

* fix mas gn check

* update patch after merge

* Update node for .mjs files

* build: load v8_prof_processor dependencies as ESM

* chore: add patch to fix linux 32bit

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2021-03-04 09:27:05 -08:00
Milan Burda
bf7e445883
fix: warning when worldSafeExecuteJavaScript is disabled (#27928) 2021-03-02 09:45:27 -08:00
Erick Zhao
2d0ad0b96a
fix: make TouchBarPopover and TouchBarGroup work (#27901)
* fix: use correct `orderedItem` touchbar property

* fix: correct parent in touchbar group and popover

* fix: preserve property hook order
2021-03-01 13:34:00 -08:00
Emil Pettersson
a9b25dda85
fix: race-condition in electron.net (#27898) 2021-02-26 13:18:46 -08:00
Tony
b181dae146
fix: isFullScreen typo (#27823)
* fix isFullScreen typo

* Update lib/browser/api/base-window.ts

Co-authored-by: John Kleinschmidt <jkleinsc@github.com>

Co-authored-by: Tony Wu <tonywoo@fb.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
2021-02-22 15:33:46 -05:00
Shelley Vohr
599f398ddc
fix: enableBlinkFeatures warning in webviews (#27753) 2021-02-18 11:11:35 -08:00
Jeremy Rose
706d9ede9b
refactor: only allow internal messages from the main process (#27676) 2021-02-09 17:12:26 -08:00
Shelley Vohr
e46446e7e4
chore: bump chromium to e836cbe709f3cd703f233de8eb6cc6ec99b72c9d (#27475)
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2021-02-09 12:16:21 -08:00
Milan Burda
bc7c290601
refactor: load preload script directly as a string (#27546) 2021-02-08 09:32:20 -08:00
Michaela Laurencin
c175d41ae8
fix: remove windowName set as title for native window.open() (#27481) 2021-02-05 11:20:58 -08:00
Milan Burda
79b3393768
chore: remove bunch of usages of any (#27512) 2021-01-29 12:41:59 -08:00
Michaela Laurencin
357becd113
fix: replace default frameName title with null check (#27521)
* refactor: replace default frameName title with null check

* add isNativeWindowOpen check in makeBrowserWindowOptions

* modify snapshot test files

* replace title with frame-name again for proxy - not native open

* modify proxy snapshot title key-value to come after height key-value
2021-01-29 07:24:30 -06:00
Milan Burda
64b7be751a
fix: CSP with unsafe-eval detection with Trusted Types (#27446) 2021-01-25 10:31:25 +09:00
Milan Burda
4a5c5843c4
fix: <webview> not working with Trusted Types (#27445) 2021-01-25 10:29: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
Milan Burda
8b74361b0c
refactor: store WeakMaps in CallbacksRegistry / ObjectsRegistry (#27037) 2021-01-20 14:03:10 -08:00
Milan Burda
2be3d03630
feat: add webFrameMain.send() / webFrameMain.postMessage() (#26807) 2021-01-15 09:00:37 +09:00
Milan Burda
a55e028b12
fix: handle _sendToFrameInternal() throwing an exception in remote/server.ts (#27046) 2020-12-17 14:28:40 -08:00
Jeremy Rose
da3d21e5e3
fix: make webContents.id work even after destroy (#27038) 2020-12-17 12:10:29 -08:00
Jeremy Rose
6a3679dc55
fix: memory leak in desktopCapturer.getSources (#27031) 2020-12-16 16:11:39 -08:00
Cheng Zhao
998f17ee59
fix: make protocol wrapper remote-friendly again (#27009) 2020-12-16 16:56:53 +09:00
Milan Burda
6932e17088
chore: remove deprecated systemPreferences methods (#26849) 2020-12-16 08:34:24 +09:00
Avi Vahl
9b02d94e97
fix(asar): readdir(withFileTypes) fails on deep directory (#26865)
when using readdirSync on a deep directory within the archive, the code fails to get the stats of child paths.
2020-12-15 11:21:49 +09:00
Milan Burda
cec6378881
feat: add event.senderFrame property returning the originating webFrameMain (#26764) 2020-12-09 15:34:06 -08:00
Jeremy Rose
07a1c2a3e5
fix: restrict sendToFrame to same-process frames by default (#26875) 2020-12-09 12:48:16 -08:00
Milan Burda
c41b8d536b
refactor: move IPC handlers from navigation-controller to rpc-server (#26846) 2020-12-08 10:46:08 -08:00
Milan Burda
ee0550efca
fix: systemPreferences.effectiveAppearance returning systemPreferences.getAppLevelAppearance() (#26852) 2020-12-08 16:07:04 +09:00
Shelley Vohr
b788ceb7bd
fix: screen EventEmitter methods with remote (#26809)
* fix: screen EventEmitter methods with remote

* Review feedback
2020-12-08 13:47:48 +09:00
Samuel Attard
3db4e612f4
fix: handle security warnings promise when JS is disabled (#26837) 2020-12-07 10:58:00 -08:00
Alexey Kuzmin
e89b3ca1d1
fix: add a "set" trap to the "screen" module proxy (#26818) 2020-12-07 09:20:50 -08:00
Jeremy Rose
d3b1566181
chore: remove unused _replyInternal method (#26825) 2020-12-07 09:19:26 -08:00
Nikita Kot
7672aa9525
feat: exposeInMainWorld allow to expose non-object APIs (#26594) 2020-12-04 09:43:20 -08:00
Milan Burda
b111bba387
fix: send IPC_MESSAGES.RENDERER_RELEASE_CALLBACK as internal message (#26808) 2020-12-04 19:09:08 +03: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
Vadim
efca7007b6
fix: internalModuleReadJSON for unpacked JSON (#26749) 2020-12-01 21:33:39 -08:00
Milan Burda
19954126e0
chore: remove deprecated extension APIs (#26696) 2020-11-30 14:40:56 -08:00
Milan Burda
09d7b2bc91
chore: remove deprecated shell.moveItemToTrash() (#26723) 2020-11-30 23:25:03 +03:00
Milan Burda
022bafc485
chore: remove deprecated crashReporter APIs (#26695) 2020-11-26 22:07:40 +03:00
Milan Burda
c8d77cae4a
refactor: replace V8 hidden values with WeakMap / WeakSet (#26659) 2020-11-24 16:11:39 -05:00
Anders Kaseorg
b1b25607ee
fix: make screen wrapper remote-friendly again (#26620)
This restores accessibility of screen methods via remote.screen.

Fixes #26610.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2020-11-23 16:44:54 -05:00
Milan Burda
6932e02eb8
refactor: use getWebPreference() for all options (#26531) 2020-11-23 22:39:08 +03: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
Jeremy Rose
92643a5a1c
refactor: consolidate WebContents::{Create,New} (#26521) 2020-11-17 14:14:33 -08:00
Jeremy Rose
a303813d15
refactor: move GetPrinterList off WebContents (#26518) 2020-11-17 14:14:09 -08:00
Jeremy Rose
7c2ac6b7c1
fix: BrowserWindow.fromBrowserView in multiple-BrowserView windows (#26493) 2020-11-17 11:12:02 -08:00
Jeremy Rose
a9924e1c32
feat: add powerMonitor.onBatteryPower (#26494) 2020-11-16 16:31:46 -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
Jeremy Rose
34156c424c
fix: [webview] fix missing properties on events when contextIsolation: true (#26289) 2020-11-04 11:15:20 +09:00
Milan Burda
d25fa7b075
refactor: store <webview> attributes as typed Map (#26307) 2020-11-03 15:02:23 -08:00
Abhishek Shingane
d16e61dc85
fix: window.open not accepting size values with "px" at the end (#26104)
* fix: use parseInt to parse sizes

* fix: pass radix to parseInt

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>

Co-authored-by: Cheng Zhao <github@zcbenz.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-11-02 18:55:59 +09:00