Commit graph

577 commits

Author SHA1 Message Date
Cheng Zhao
0b042d3b1c
test: fix contextIsolation value for later added test (#27998) 2021-03-04 11:22:32 -05:00
Cheng Zhao
ede8611937
fix: check web_contents() for destroyed WebContents (#27815) 2021-03-02 09:38:56 -08:00
Cheng Zhao
ed8e57e424
test: add more logging for a few tests. (#27956)
* test: add logging for app.relaunch test

* test: compare more fields in extension test
2021-03-02 09:34:41 -08:00
Samuel Attard
186301e126
feat: enable context isolation by default (#26890)
* feat: enable context isolation by default

* chore: set default in ctx iso getter

* spec: make all specs work with the new contextIsolation default

* spec: fix affinity specs

* spec: update tests for new ctx iso default

* spec: update tests for new ctx iso default

* spec: update tests for new ctx iso default

* spec: update tests for new ctx iso default

* chore: move stray prod deps to dev deps

* spec: update tests for new ctx iso default

* turn off contextIsolation for visibility tests

* turn off contextIsolation for <webview> tag nodeintegration attribute loads native modules when navigation happens

Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2021-03-01 16:52:29 -05:00
Keeley Hammond
84d0e827a3
chore: revert webFrameMain.executeJavaScriptInIsolatedWorld method (#27926) 2021-03-01 10:07:25 -05:00
John Kleinschmidt
d57fd6cef0
fix: navigator.bluetooth.requestDevice (#27902)
* fix: navigator.bluetooth.requestDevice

* cleanup lint and add test

* update bluetooth test to handle no bluetooth adapter available

* update bluetooth test to handle bluetooth permission denied
2021-02-26 11:10:27 -08:00
Samuel Attard
e406ba9558
fix: values return from the ctx bridge with dynamic property support should themselves support dynamic properties (#27899) 2021-02-25 13:09:00 -08:00
Jeremy Rose
7f8e34fa3f
test: run tests under asan on linux-x64 (#23570) 2021-02-22 16:16:17 -08:00
Cheng Zhao
7a7a27d9bc
fix: check WebContents before emitting render-process-gone event (#27730) 2021-02-17 21:19:17 +09:00
Cheng Zhao
399216580d
test: fix flaky did-change-theme-color test (#27739)
* test: move did-change-theme-color test to main

* test: enable did-change-theme-color test for WOA
2021-02-16 17:21:40 -05:00
Cheng Zhao
0bc782dfe5
fix: disable unload metrics to fix CI failure (#27731)
* patch

* Use render-process-gone instead of crashed

* update patches

Co-authored-by: Electron Bot <electron@github.com>
2021-02-16 10:11:07 -05:00
Samuel Maddock
3250ef551c
feat: support registering MV3 extension service workers (#27562)
* feat: support registering MV3 extension service workers

* feat: load chrome extension APIs in worker context

* feat: add more ContentRendererClient service worker overrides

* fix: lint error

* refactor: emit object for 'registration-completed'

* docs: clarify when registration-completed emits
2021-02-11 10:58:03 -05:00
Stewart Lord
5f5afaae27
feat: add win.setTopBrowserView() so that BrowserViews can be raised (#27007)
* feat: Raise a browser view via `BrowserWindow.setTopBrowserView()`.

This is similar to removing and re-adding a browser view, but avoids a visible flicker as the browser view is not removed from the window when using `setTopBrowserView`. Note: if the given browser view is not attached to the window, it will be added.

This commit contains the macOS implementation.

* feat: setTopBrowserView support for Windows and Linux

* docs: add info about setTopBrowserView

* docs: Clarify behavior when browserView is not yet attached.

* fix: throw en error when browserView is not attached to the window

* fix: build error

* fix: test

* fix: add test case

* fix: tests

* fix: reparenting

* fix: close second window in tests

Co-authored-by: sentialx <sentialx@gmail.com>
2021-02-10 16:23:35 +09:00
Michaela Laurencin
c175d41ae8
fix: remove windowName set as title for native window.open() (#27481) 2021-02-05 11:20:58 -08:00
Samuel Maddock
b6df7cd327
fix: crash when loadExtension fails (#27561) 2021-02-02 19:20:05 +09: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
Shelley Vohr
18f4c3129d
test: fix failing http spec (#27525) 2021-01-28 11:51:08 -08:00
Shelley Vohr
bf6a50c538
fix: pdf viewer missing resources (#27499)
* fix: pdf viewer missing resources

* test: add simple regression test

* 2638992: PDF Viewer: Stop respecting the PDFViewerUpdate flag.

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

* 2439433: PDF Viewer Update: Add aria-label for thumbnails

https://chromium-review.googlesource.com/c/chromium/src/+/2439433
2021-01-28 10:09:55 +09:00
Samuel Attard
db08f08b88
feat: enable world safe JS by default (#26889)
* feat: enable world safe JS by default

* refactor: use the ctx bridge to send executeJavaScript results in a world safe way

* docs: add more info about the breaking change

* include default in IsEnabled check
2021-01-26 14:23:35 -08:00
Milan Burda
bde714c1c6
refactor: cleanup WebFrameMain + improve tests (#27455) 2021-01-26 13:46:09 -08:00
Electron Bot
ed126eced4
chore: bump chromium to bf3f97675b5d9eade34526ebf730c (master) (#27305)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2021-01-25 08:46:00 -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
4a5c5843c4
fix: <webview> not working with Trusted Types (#27445) 2021-01-25 10:29:25 +09:00
Charles Kerr
5a8f40ae13
fix: don't throw on bad icons in BrowserWindow constructor (#27441)
* fix: do not throw if NativeImage conversion fails.

Throwing is an unannounced semver/major breaking change, so revert that
behavior but keep the rest of the #26546 refactor.

* test: add invalid icon test

* refactor: be explicit about when to throw or warn.
2021-01-25 10:24:10 +09:00
Cheng Zhao
9baca911a1
test: use new uuid for each ServiceWorker test (#27444) 2021-01-23 10:37:51 +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
John Kleinschmidt
034a792df1
ci: enable arm64 macOS tests (#24832)
* ci: enable arm64 macOS tests
2021-01-21 18:36:52 -05:00
John Kleinschmidt
c5a41defbd
fix: enable navigator.setAppBadge/clearAppBadge (#27067) 2021-01-21 14:45:06 +09:00
Cheng Zhao
c3091c3a70
fix: make SetWindowButtonVisibility work for customButtonsOnHover (#27073) 2021-01-19 19:12:09 +09:00
David Sanders
5e7e0a4c7e
fix: improve redirect behavior in protocol module (#26297)
* fix: improve redirect behavior in protocol module

* Add test for redirection

Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
2021-01-19 19:06:14 +09:00
Samuel Maddock
4334110339
fix: prevent crash when keyboard event immediately precedes calling BrowserWindow.close() (#27315)
* fix: prevent crash when destroyed widget receives keyboard event

Activating a key to close a window will cause a silent crash. Handling the keyboard
event will lead to a nullptr dereferenced in Chromium code if the window widget has
already been destroyed.

* test: ensure BrowserWindow doesn't crash from keyboard events during close
2021-01-19 11:37:21 +09:00
Milan Burda
2be3d03630
feat: add webFrameMain.send() / webFrameMain.postMessage() (#26807) 2021-01-15 09:00:37 +09:00
Milan Burda
dd17250a80
revert: test use emittedUntil in PDF Viewer tests (#27273)
This reverts commit 36f4ee87df.
2021-01-13 13:49:35 -08:00
Electron Bot
adf0a73543
chore: bump chromium to a264339194bfa02f5ecb3b8cba449 (master) (#27111)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2021-01-12 15:31:23 -08:00
Jeremy Rose
088f2e625f
feat: add frame and webContents to webRequest details (#27078)
* feat: add frame and webContents to webRequest details

* chore: use frame_converter.h

Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
2021-01-11 12:20:43 +09:00
Milan Burda
36f4ee87df
test: use emittedUntil in PDF Viewer tests (#27248) 2021-01-11 10:40:44 +09:00
Milan Burda
904d2ff4cc
test: skip PictureInPicture video when media not supported (#27218) 2021-01-07 14:17:53 -08:00
Milan Burda
85a9abf377
test: skip protocol.registerSchemesAsPrivileged stream test when media not supported (#27216) 2021-01-07 11:45:29 -08:00
Milan Burda
3d59aa5609
feat: add webFrameMain.executeJavaScriptInIsolatedWorld() (#26913) 2021-01-05 17:18:38 +09:00
Milan Burda
16c864a932
docs: webFrameMain.fromId() can return undefined (#27068)
* docs: webFrameMain.fromId() can return undefined

* docs: webFrameMain.fromId() can return undefined
2021-01-05 11:31:21 +09:00
Shelley Vohr
3286b5fa46
fix: handle BrowserView reparenting (#27000) 2021-01-04 16:34:22 -08:00
Shelley Vohr
3455136e9d
refactor: remove path from nativeImage converter (#26546) 2021-01-04 12:58:31 -08:00
Eryk Rakowski
bf24759354
fix(extensions): implement missing web_request hooks (#22655)
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
Co-authored-by: samuelmaddock <samuel.maddock@gmail.com>
2020-12-18 15:11:43 -08:00
Cheng Zhao
998f17ee59
fix: make protocol wrapper remote-friendly again (#27009) 2020-12-16 16:56:53 +09:00
Cheng Zhao
e01b1831d9
feat: make trafficLightPosition work for customButtonOnHover (#26789) 2020-12-16 14:30:39 +09:00
Eryk Rakowski
1e2a2004e9
feat: add support for webContents option in BrowserView (#26802)
* feat: add support for webContents option in BrowserView

* tests: add tests
2020-12-16 08:52:43 +09:00
Milan Burda
6932e17088
chore: remove deprecated systemPreferences methods (#26849) 2020-12-16 08:34:24 +09:00
Electron Bot
4588a41161
chore: bump chromium to 096e5313aaf19dfa0c4710145c34d (master) (#26535)
* chore: bump chromium in DEPS to 1d6b29cd85c1c3cba093b8b69b2727cc26eaac97

* update patches

* chore: use 'libvulkan.so.1' in the linux manifests

CL: https://chromium-review.googlesource.com/c/angle/angle/+/2538430

Upstream renamed libvulkan.so to libvulkan.so.1, so sync our manifests.

* chore: update expected window-open default policy.

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

Upstream CL contiues the work to make `strict-origin-when-cross-origin`
the default referrer policy. This commit changes our window-open tests
to expect that policy over the previous `no-referrer-when-downgrade`.

* chore: bump chromium in DEPS to 69cb7c65ad845cdab1cd5f4256237e72fceba2dd

* chore: re-export chromium patches

No code changes; just line numbers. `git am` failed because the upstream
changes were just large enough to require patching to fail w/o fuzzing.

The broken patch was
patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch

* update patches

* chore: bump chromium in DEPS to c6d97a240d30e5f5166856f5ae6ee14d95b9a4f0

* update patches

* fixup! chore: update expected window-open default policy.

* chore: disallow copying CppHeapCreateParams

Experimental commit to resolve FTBS https://ci.appveyor.com/project/electron-bot/electron-ljo26/builds/36405680#L25345
which introduces a new struct CppHeapCreateParams that aggregates a
vector of unique_ptrs. Our Windows CI is unhappy that this struct
implicitly deletes its copy ctor, so this commit makes it explicit.

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

* update patches

* chore: bump chromium in DEPS to 0df9a85ffa0ad4711b41a089842e40b87ba88055

* update patches

* fixup! chore: bump chromium to ac06d6903a2c981ab90a8162f1ba0 (master) (#26499)

* chore: update calls to gfx::RemoveAcceleratorChar.

The call signature for gfx::RemoveAccelerator changed in
https://chromium-review.googlesource.com/c/chromium/src/+/2546471 .
This commit updates use to match that.

* chore: bump chromium in DEPS to 43d6c496251e08d3781bfadbe9727688551f74a9

* update patches

* chore: bump chromium in DEPS to 1fb5c9825be4e2271c4fef0e802f5d970b32f62f

* update patches

* chore: bump chromium in DEPS to 8a1f078d67825e727a598b89a8924699df8d3850

* chore: bump chromium in DEPS to 28ff715b3a97d8cedc143bad671edb08b6de5fc2

* chore: update patches

* Remove most service manifest remnants from Content

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

* Reland "Portals: Fix a11y for orphaned portals"

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

* Convert CallbackList::Subscription to a standalone class.

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

* fix: actually apply the zlib patch

* chore: bump chromium in DEPS to 75b464e6357190ca302ba9ce8f8c2bf5a3b709ae

* chore: update patches

* chore: bump chromium@b884b9b2f647c59a75f5d2055030afa33d50ca10

* chore: bump chromium in DEPS to 829261dadcefdc54ce5fdf7c5fac2929786a63ce

* chore: bump chromium in DEPS to 5df3e69605c7c0130374aaccb91fc4726a558db2

* chore: bump chromium in DEPS to 22db748d5b7b90f87e6e97ef4c92a727ac753ea4

* chore: bump chromium in DEPS to 1475df80282b7eeeb0e153d8375bfe651f083bf8

* chore: bump chromium in DEPS to 6d34fe9e9b7386edd90574617bfa4008de972d72

* chore: update patches

* Disable CertVerifierService for now

2559260: Enable CertVerifierService by default | https://chromium-review.googlesource.com/c/chromium/src/+/2559260

* Remove force_ignore_site_for_cookies until we figure out what to do instead

2499162: Remove |force_ignore_site_for_cookies| from IPCs (e.g. ResourceRequest). | https://chromium-review.googlesource.com/c/chromium/src/+/2499162

* chore: bump chromium in DEPS to 95aeb1c59ebc03d19ba077b0cd707463d1b2865e

* update patches

* Set site_for_cookies to request url so that URLLoader::ShouldForceIgnoreSiteForCookies returns true

* 2490383: a11y inspect reorg: implement accessible tree formatter factory

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

* 2485887: [Extensions][web_accessible_resources] Use |matches|.

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

* update v8 headers

* chore: bump chromium in DEPS to 38587dc379a8cf4d4a13e482a6e89f2fe681144e

* update patches

* 2555005: [api] Simplify ScriptOrigin

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

* 2563553: Remove Flash from PermissionRequestTypes and PermissionTypes.

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

* 2546146: Remove browser-hosted InterfaceProvider

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

* Actually apply nan patch

* update patches

* chore: bump chromium in DEPS to 6718d4b50c9db975c5642ca5b68e8dc7ee1b7615

* update patches

* 2546146: Remove browser-hosted InterfaceProvider

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

* chore: bump chromium in DEPS to 338cc300e3fe3a4cb4883e9ccdc34a32f3dfe034

* chore: bump chromium in DEPS to d9baeb1d192c23ceb1e1c4bbe6af98380b263bc1

* chore: bump chromium in DEPS to 3ca3051932683739b304e721cc394b6c66f841fe

* chore: bump chromium in DEPS to 89292a4ae29096e5313aaf19dfa0c4710145c34d

* 2571639: mac: Remove code to support OS X 10.10 in //sandbox

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

* Fixup patch indices

* Do not build MTLManagedObjectAdapter

It's been removed in newer Mantle versions and uses a deprecated enum

* update patches

* Remove sendToAll

https://github.com/electron/electron/pull/26771

* 2569367: Remove dead fullscreen code in RenderWidgetHostView and friends

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

* Remove deprecated performFileOperation usage

* 2568359: mac: Ignore Wdeprecated-declarations for LSSharedFileList* functions.

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

* 2561401: Add OutputPresenterX11 which uses X11 present extension.

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

* 2565511: [objects] Remove MakeExternal case for uncached internal strings

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

* fixup: Add disconnect logic to ElectronBrowserHandlerImpl

* Allow local networking override for ATS

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html

* Refactor: clean up rfh getters in ElectronBrowserHandlerImpl

* Update patches

* Remove unneeded BindTo

* Don't assign ElectronBrowserHandlerImpl at all

Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2020-12-14 10:57:36 -08:00
Samuel Attard
b9c9e7fc06
feat: add support for DOM elements going over the context bridge (#26776)
* feat: add support for DOM elements going over the context bridge

* Update context-bridge.md
2020-12-10 13:03:00 -08:00