Commit graph

79 commits

Author SHA1 Message Date
Maxime Serrano
b2a2b077da
fix: also pass securityOrigin to media permissions request handler (#31357) 2021-10-13 17:10:12 -04:00
John Kleinschmidt
6aece4a83d
feat: add support for WebHID (#30213)
* feat: add support for WebHID

* Apply suggestions from code review

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

* Address review feedback

* Address review feedback

* chore: clear granted_devices on navigation

Also added test to verify devices get cleared

* fixup testing for device clear

* make sure navigator.hid.getDevices is run on correct frame

* clear granted devices on RenderFrameHost deletion/change

* manage device permissions per RenderFrameHost

This change makes sure we don't clear device permission prematurely due to child frame navigation

* Update shell/browser/api/electron_api_web_contents.cc

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

* apply review feedback from @zcbenz

* Match upstream ObjectMap

This change matches what ObjectPermissionContextBase uses to cache object permissions: https://source.chromium.org/chromium/chromium/src/+/main:components/permissions/object_permission_context_base.h;l=52;drc=8f95b5eab2797a3e26bba299f3b0df85bfc98bf5;bpv=1;bpt=0

The main reason for this was to resolve this crash on Win x64:
ok 2 WebContentsView doesn't crash when GCed during allocation
Received fatal exception EXCEPTION_ACCESS_VIOLATION
Backtrace:
        gin::WrappableBase::SecondWeakCallback [0x00007FF6F2AFA005+133] (o:\gin\wrappable.cc:53)
        v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacks [0x00007FF6F028F9AB+171] (o:\v8\src\handles\global-handles.cc:1400)
        v8::internal::GlobalHandles::InvokeSecondPassPhantomCallbacksFromTask [0x00007FF6F028F867+391] (o:\v8\src\handles\global-handles.cc:1387)
        node::PerIsolatePlatformData::RunForegroundTask [0x00007FF6F3B4D065+317] (o:\third_party\electron_node\src\node_platform.cc:415)
        node::PerIsolatePlatformData::FlushForegroundTasksInternal [0x00007FF6F3B4C424+776] (o:\third_party\electron_node\src\node_platform.cc:479)
        uv_run [0x00007FF6F2DDD07C+492] (o:\third_party\electron_node\deps\uv\src\win\core.c:609)
        electron::NodeBindings::UvRunOnce [0x00007FF6EEE1E036+294] (o:\electron\shell\common\node_bindings.cc:631)
        base::TaskAnnotator::RunTask [0x00007FF6F2318A19+457] (o:\base\task\common\task_annotator.cc:178)
        base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl [0x00007FF6F2E6F553+963] (o:\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc:361)
        base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork [0x00007FF6F2E6EC69+137] (o:\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc:266)
        base::MessagePumpForUI::DoRunLoop [0x00007FF6F235AA58+216] (o:\base\message_loop\message_pump_win.cc:221)
        base::MessagePumpWin::Run [0x00007FF6F235A01A+106] (o:\base\message_loop\message_pump_win.cc:79)
        base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run [0x00007FF6F2E702DA+682] (o:\base\task\sequence_manager\thread_controller_with_message_pump_impl.cc:470)
        base::RunLoop::Run [0x00007FF6F22F95BA+842] (o:\base\run_loop.cc:136)
        content::BrowserMainLoop::RunMainMessageLoop [0x00007FF6F14423CC+208] (o:\content\browser\browser_main_loop.cc:990)
        content::BrowserMainRunnerImpl::Run [0x00007FF6F144402F+143] (o:\content\browser\browser_main_runner_impl.cc:153)
        content::BrowserMain [0x00007FF6F143F911+257] (o:\content\browser\browser_main.cc:49)
        content::RunBrowserProcessMain [0x00007FF6EFFA7D18+112] (o:\content\app\content_main_runner_impl.cc:608)
        content::ContentMainRunnerImpl::RunBrowser [0x00007FF6EFFA8CF4+1220] (o:\content\app\content_main_runner_impl.cc:1104)
        content::ContentMainRunnerImpl::Run [0x00007FF6EFFA87C9+393] (o:\content\app\content_main_runner_impl.cc:971)
        content::RunContentProcess [0x00007FF6EFFA73BD+733] (o:\content\app\content_main.cc:394)
        content::ContentMain [0x00007FF6EFFA79E1+54] (o:\content\app\content_main.cc:422)
        wWinMain [0x00007FF6EECA1535+889] (o:\electron\shell\app\electron_main.cc:291)
        __scrt_common_main_seh [0x00007FF6F6F88482+262] (d:\A01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
        BaseThreadInitThunk [0x00007FFEC0087034+20]
        RtlUserThreadStart [0x00007FFEC1F02651+33]
✗ Electron tests failed with code 0xc0000005.

Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2021-09-23 20:00:11 +09:00
John Kleinschmidt
9cc1b55663
chore: remove experimental from navigator.serial implementation (#30237) 2021-07-30 08:57:22 +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
electron-roller[bot]
b8261f1591
chore: bump chromium to 93.0.4550.0 (main) (#29751) 2021-06-22 12:17:16 -07:00
Samuel Attard
fa0323a3db
fix: Revert "fix: don't propagate GDK_BACKEND to subprocs (#28898)" (#29610)
This reverts commit 7b169c2884.
2021-06-09 08:28:52 -07:00
Shelley Vohr
7b169c2884
fix: don't propagate GDK_BACKEND to subprocs (#28898) 2021-06-08 16:10:27 +02:00
David Sanders
d18dbdd72b
fix: add service worker schemes from command line in renderer (#29425) 2021-06-01 10:45:23 +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
Jeremy Rose
dc7fa1d9f1
refactor: be more precise when creating api::WebContents (#23128) 2021-04-23 13:51:37 -07:00
Jeremy Rose
4ca518468d
feat: remove BrowserWindow option inheritance (#28550) 2021-04-21 10:55:17 -07:00
Shelley Vohr
503d24a473
fix: handle async nature of [NSWindow -toggleFullScreen] (#25470) 2021-04-21 16:56:25 +02:00
Samuel Attard
6327a5a4a2
chore: clean up some spec things (#28680) 2021-04-19 11:27:34 -07:00
Jeremy Rose
f8bdef5349
feat: enable nativeWindowOpen by default (#28552)
* feat: enable nativeWindowOpen by default

* set nativeWindowOpen: false on spec/ main window

* update snapshots

* fix tests

* fix test

* fix webview test missing allowpopups

* fix other test

* update default
2021-04-13 15:36:38 -04:00
Shelley Vohr
2e9ed50bb0
fix: crash on invalid select-serial-port callback (#28602) 2021-04-12 06:18:39 -07:00
Samuel Attard
17f527f757
build: give ASAN tests more memory to avoid SIGKILL or disabling tests (#28567)
* build: give ASAN tests more memory

* test: re-eanble asan tests

Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
2021-04-09 16:09:17 +09:00
Cheng Zhao
968b30c9b4
feat: support wasm-eval csp behind WebAssemblyCSP flag (#28535) 2021-04-07 13:04:50 -07:00
Cheng Zhao
e454bded3c
fix: allow accessing file:// when web security is disabled (#28489)
* fix: allow accessing file:// when web security is disabled

* test: fix webview tests on web security

* chore: remove unused attributes

* chore: cleanup RegisterURLLoaderFactories method
2021-04-07 10:46:23 +09:00
Cheng Zhao
80f89a3472
test: disable some tests under ASan which might receive SIGKILL because of OOM (#28156)
* test: running child app under ASan might receive SIGKILL

* test: renderer process of webview might receive SIGKILL under ASan

* test: increase timeout for asan build
2021-03-16 17:02:47 -04:00
Cheng Zhao
32ec7e1e21
test: enable locale test for asan build (#28085) 2021-03-10 13:04:57 -05:00
Cheng Zhao
7e22523ed2
test: print more infomation in locale test (#28040) 2021-03-08 11:23:55 -05:00
John Kleinschmidt
afb7d9f550
fix: navigator.setAppBadge/clearAppBadge from a service worker (#27950) 2021-03-05 10:12:03 +09: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
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
Jeremy Rose
7f8e34fa3f
test: run tests under asan on linux-x64 (#23570) 2021-02-22 16:16:17 -08:00
Michaela Laurencin
c175d41ae8
fix: remove windowName set as title for native window.open() (#27481) 2021-02-05 11:20:58 -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
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
c5a41defbd
fix: enable navigator.setAppBadge/clearAppBadge (#27067) 2021-01-21 14:45:06 +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
Milan Burda
36f4ee87df
test: use emittedUntil in PDF Viewer tests (#27248) 2021-01-11 10:40:44 +09:00
Jeremy Rose
edfbeb92bf
test: disable flaky reporting API test (#26898) 2020-12-09 09:16:41 -08:00
Cheng Zhao
cc136f2acd
fix: LC_ALL env should not be changed (#26507) 2020-11-18 11:13:01 +09: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
John Kleinschmidt
7f9b21daa0
feat: correctly identify permissions when using setPermissionRequestHandler (#26172)
* fix: correctly identify clipboard read permission

* Update tests for variable clipboard content

* chore: add all possible permission conversions

* VIDEO_CAPTURE and AUDIO_CAPTURE were already defined

* Handle all PermissionTypes

* use skewer case for accessibility events to match permissions api

https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API
2020-10-29 14:22:32 -04:00
Cheng Zhao
d3f32c7502
fix: set app locale after user's script is loaded (#26185)
* fix: set app locale after user's script is loaded

* fix: set LC_ALL env on Linux
2020-10-28 12:18:47 -04:00
Milan Burda
0c2e2bca92
refactor: don't send ipcRenderer.sendSync() returnValue as an array (#26178) 2020-10-28 18:48:20 +03:00
Milan Burda
2c68bad631
refactor: create IPC_MESSAGES enum for IPC message channels (#25694) 2020-10-14 00:11:06 +03:00
John Kleinschmidt
fd63510ca9
feat: add serial api support (#25237)
* feat: add serial api support

resolves #22478

* Put serial port support behind a flag and mark as experimental

* Update docs/api/session.md

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

* Use enable-blink-features=Serial instead of enable-experimental-web-platform-features

* Set enableBlinkFeatures on webPreferences instead of commandline

Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2020-09-28 12:22:03 -04:00
Cheng Zhao
993eab691f
fix: disable CORS when webSecurity is disabled (#25463) 2020-09-16 14:55:53 -07:00
Cheng Zhao
2091fd7dd9
test: make a few tests hide their windows (#25466) 2020-09-15 12:48:12 -06:00
Jeremy Rose
cd455c8b40
test: reduce flakiness in pdf test (#25407) 2020-09-10 16:47:36 -07:00
Cheng Zhao
8f727b3569
fix: do not reset process_id in URLLoaderFactoryParams (#25139) 2020-08-28 10:43:08 +09:00
Shelley Vohr
ff24caf798
test: use custom partition for sw tests (#24999) 2020-08-18 09:31:24 -07:00
Robo
76e3ee6fe6
fix: loading dedicated/shared worker scripts over custom protocol (#20625)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-07-27 18:48:37 -07:00
Milan Burda
4c449fbc75
test: convert more tests to async / await (#24373) 2020-07-01 15:14:38 -04:00
Milan Burda
c6db47182a
test: make sure tests fail properly instead of timing out (#24316) 2020-07-01 00:10:36 +02:00
Milan Burda
1c49e4e376
test: use delay() helper (#24321) 2020-06-26 22:59:54 +02: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