Shelley Vohr
7e328c4b87
fix: crash on browserView.webContents.destroy() ( #31794 )
2021-11-15 08:24:22 +01:00
Milan Burda
18cc33055d
chore: move libs only used in browser out of common ( #31780 )
2021-11-10 08:54:51 -08:00
John Kleinschmidt
4b3aed503f
test: fix crash in electron::NativeWindowMac::Close() ( #31750 )
...
* test: fix crash in electron::NativeWindowMac::Close()
* remove extra close
2021-11-08 19:27:32 -08:00
Milan Burda
daed10512d
chore: remove Breakpad tests for crashReporter on Linux ( #31729 )
2021-11-08 10:20:43 +01:00
John Kleinschmidt
f8df634197
test: deflake <webview> tag loads devtools extensions on WOA ( #31702 )
2021-11-04 14:00:28 -04:00
Raymond Zhao
9e0e04da25
fix: second-instance additionalData parameter ( #31661 )
...
* test: second-instance additionalData parameter
* Fix posix implementation
2021-11-04 01:14:09 -07:00
Shelley Vohr
24b02d68a7
fix: incorrect Content-Disposition serialization ( #31669 )
...
* fix: incorrect Content-Disposition serialization
* test: fixup test
2021-11-03 10:11:37 -04:00
Shelley Vohr
20b4813cf8
fix: crash on close window when webContents destroyed ( #31620 )
2021-11-01 13:32:54 +09:00
Mitchell McCaffrey
23cdf65c53
feat: add webContents.getMediaSourceId() method ( #31204 )
...
* feat: add webContents.getMediaSourceId() method
* fix: account for null frame_hosts in webContents.getMediaSourceId()
* fix: move webContents.getMediaSourceId definition to be more organised
* fix: move webContents.getMediaSourceId implementation
* fix: move webContents.getMediaSourceId docs
2021-10-25 20:03:59 -04: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
Milan Burda
3332420886
docs: win.getParentWindow() returns BrowserWindow | null ( #31548 )
2021-10-25 11:10:33 -04:00
Raymond Zhao
db0a152bc1
feat: Add data parameter to app.requestSingleInstanceLock()
( #30891 )
...
* WIP
* Use serialization
* Rebase windows impl of new app requestSingleInstanceLock parameter
* Fix test
* Implement posix side
* Add backwards compatibility test
* Apply PR feedback Windows
* Fix posix impl
* Switch mac impl back to vector
* Refactor Windows impl
* Use vectors, inline make_span
* Use blink converter
* fix: ownership across sequences
* Fix upstream merge from Chromium
Co-authored-by: deepak1556 <hop2deep@gmail.com>
2021-10-14 21:32:32 -04:00
Maxime Serrano
b2a2b077da
fix: also pass securityOrigin to media permissions request handler ( #31357 )
2021-10-13 17:10:12 -04:00
Cheng Zhao
a751845afc
test: fix flaky contentTracing.startRecording spec ( #31409 )
2021-10-13 10:06:29 -04:00
Cheng Zhao
0eb9c4b16d
fix: correctly notify WebViewGuestDelegate when webview is detached ( #31350 )
2021-10-11 09:33:35 +09: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
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
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
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
Samuel Maddock
70c534fd14
feat: add frame to context-menu event params ( #30831 )
...
* feat: add frame to context-menu event params
* doc: rephrase frame description
2021-09-22 08:52:49 +09:00
Shelley Vohr
629d8913f6
fix: maximized state calculation for non-resizable windows ( #30989 )
2021-09-21 12:04:32 +02: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
Shelley Vohr
6fdf350bea
fix: disabling and enabling resizability on macOS ( #30999 )
2021-09-17 15:54:15 +02: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
Samuel Maddock
fb40065c1e
fix: show maximized frameless window ( #30804 )
2021-09-07 10:18:43 +02:00
Samuel Maddock
7379e5eb36
fix: BrowserWindow backgroundColor ( #30778 )
...
* fix: BrowserWindow backgroundColor
* refactor: propagate transparency via backgroundColor
2021-09-06 16:59:09 +09:00
Raymond Zhao
e6f781f403
refactor: Convert ProcessSingleton changes to patch ( #30594 )
...
* Convert ProcessSingleton changes to patch
* Update patch
* Polish
* Add sandbox check to patch
* Add missing includes
* Fix linking error
* Fix compile error
* Apply PR feedback
* Fix compile fails
* Fix tests
* Remove extra patch
* Update test
2021-09-03 14:16:33 -07:00
Jeremy Rose
8d86d84ff5
ci: fix setCertificateVerifyProc tests ( #30799 )
2021-09-01 18:58:29 -04:00
Samuel Maddock
4d89174b41
feat: add 'dom-ready' event to WebFrameMain ( #29290 )
2021-09-01 15:21:15 -07:00
Jeremy Rose
dd7aeda6fb
feat: add app.configureHostResolver ( #30576 )
2021-08-31 11:55:30 -07:00
Samuel Attard
8007d01874
feat: add support for the U2F Web API ( #30438 )
...
* feat: add support for the U2F Web API
* chore: fix lint
* chore: fix tests
* build: disable src caching
* Revert "build: disable src caching"
This reverts commit c4c8a60fc435a10788475ec171399a55ac2dd674.
* chore: update per feedback
* chore: consistent code removal
2021-08-30 11:22:46 -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
electron-roller[bot]
5513e66982
chore: bump chromium to 95.0.4612.5 (main) ( #30503 )
...
* chore: bump chromium in DEPS to 94.0.4604.0
* build: 3-way merge of chromium patches
* chore: bump chromium in DEPS to 94.0.4605.0
* build: 3-way merge of chromium patches
* 3076040: Reland Remove delete_children RemoveAllChildViews arg
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3076040
* 3069287: Remove the remaining uses and delete the deprecated API
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3069287
* 2297212: Replace RemoveWithoutPathExpansion(.*, nullptr) with Value::RemoveKey()
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2297212
Also: https://chromium-review.googlesource.com/c/chromium/src/+/3060296
* 3082756: Change transport_security_persister_path param to be a path to a file.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/3082756
> this CL intentionally changes the name of the parameter
> in the network context parameters and the order of the constructor
> parameters to ensure all callers update their code to pass a full
> file path rather than a path to a directory.
The 'path' in this diff is already an absolute path, coming from
`CHECK(base::PathService::Get(chrome::DIR_USER_DATA, &path_));` at
08ff1c2cbf/shell/browser/electron_browser_context.cc (L126)
* iwyu: network::mojom::HttpRawHeaderPair
* fixup! 3076040: Reland Remove delete_children RemoveAllChildViews arg
Missed one.
* 2999884: CodeHealth: Remove DictionaryValue::GetStringWithoutPathExpansion
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2999884
(example of replacing GetStringWithoutPathExpansion() w/FindStringKey())
Also: https://chromium-review.googlesource.com/c/chromium/src/+/3060296
(removal of DictionaryValue::GetStringWithoutPathExpansion)
* 3059260: Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/3059260
We had both of these in a 'disable_features' list. Since these feature have
been removed upstream, remove them from our disable list, too.
IMPORTANT: this commit should not be backported to older branches that
still have these features, because doing so would un-disable them.
* 2920890: Load reroute_info from download in-progress and history db back into DownloadItem.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2920890
* 3039323: [Clipboard API] Clipboard Custom Formats implementation Part 5.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/3039323
* chore: bump chromium in DEPS to 94.0.4606.0
* 3084502: Add a new PrintRasterizePdfDpi policy.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/3084502
* chore: update patches
* chore: bump chromium in DEPS to 94.0.4606.3
* chore: bump chromium in DEPS to 95.0.4608.0
* chore: bump chromium in DEPS to 95.0.4609.0
* [DevTools] Remove report_raw_headers from network::ResourceRequest
https://chromium-review.googlesource.com/c/chromium/src/+/2856099
* Remove content::WebContentsObserver::OnInterfaceRequestFromFrame
https://chromium-review.googlesource.com/c/chromium/src/+/3092665
* Disable kDesktopCaptureMacV2
https://chromium-review.googlesource.com/c/chromium/src/+/3069272
* Add a new PrintRasterizePdfDpi policy.
https://chromium-review.googlesource.com/c/chromium/src/+/3084502
* chore: update patches
* chore: bump chromium in DEPS to 95.0.4609.3
* disable `use_lld` for macos
* chore: update patches
* Linux: use chrome_crashpad_handler instead of crashpad_handler
https://chromium-review.googlesource.com/c/chromium/src/+/3054290
* chore: fix lint
* Revert "[DevTools] Remove report_raw_headers from network::ResourceRequest"
This reverts commit 28f4da1582d046e96cb58f3cbb590503e89dfd0d.
* [DevTools] Remove report_raw_headers from network::ResourceRequest (Attempt #2 )
https://chromium-review.googlesource.com/c/chromium/src/+/2856099
* DCHECK that predictor always has a non-empty NetworkIsolationKey.
https://chromium-review.googlesource.com/c/chromium/src/+/3067698
* Remove --no-untrusted-code-mitigations from //content and //gin
https://chromium-review.googlesource.com/c/chromium/src/+/3096585
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
https://chromium-review.googlesource.com/c/chromium/src/+/3059260
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
* Convert PrintManager to RenderFrameHostReceiverSet.
https://chromium-review.googlesource.com/c/chromium/src/+/3072019
* chore: bump chromium in DEPS to 95.0.4612.5
* chore: disable v8 oilpan
* [Compiler] Remove untrusted code mitigations.
https://chromium-review.googlesource.com/c/v8/v8/+/3045704
* Remove most FTP logic from services/network.
https://chromium-review.googlesource.com/c/chromium/src/+/3076119
* Rename scale_factor.h -> resource_scale_factor.h
https://chromium-review.googlesource.com/c/chromium/src/+/3057113
* [GURL -> SiteForCookies] extensions/
https://chromium-review.googlesource.com/c/chromium/src/+/3100825
* breadcrumbs: add desktop entry point
https://chromium-review.googlesource.com/c/chromium/src/+/3021746
* Move args_ to private in ExtensionFunction
https://chromium-review.googlesource.com/c/chromium/src/+/3076261
* chore: iwyu
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
* Disable kDesktopCaptureMacV2
https://chromium-review.googlesource.com/c/chromium/src/+/3069272
* fixup! [Compiler] Remove untrusted code mitigations.
* fixup! Disable kDesktopCaptureMacV2
* Revert "chore: disable v8 oilpan"
This reverts commit 5d255cf1d8e8efbb906047937a713279e5f800d0.
* Reland "chore: disable v8 oilpan"
This reverts commit 1c252765b07a205560e7b5eed06de2605336e2d8.
The previous revert was to test on which platforms did the
heapsnapshot test actually fail.
* [Clipboard API] Clipboard Custom Formats implementation Part 5.
https://chromium-review.googlesource.com/c/chromium/src/+/3039323
* Convert ExtensionFrameHost to RenderFrameHostReceiverSet.
https://chromium-review.googlesource.com/c/chromium/src/+/3063358
* Convert PDFWebContentsHelper to RenderFrameHostReceiverSet.
https://chromium-review.googlesource.com/c/chromium/src/+/3049751
* [Underscore Migration] Migrate ui/legacy
https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3093160
* chore: remove unknown permission error
* chore: fix lint
* chore: ignore -Wunreachable-code-return for node deps/
* fixup! chore: ignore -Wunreachable-code-return for node deps/
* fix: windows build
* fix: build dependency
Dependency was missed in cbeae20438
* 3108669: arm,dsp: Fix 8bpp Dct64_NEON().
https://chromium-review.googlesource.com/c/codecs/libgav1/+/3108669
* chore: revert libgav1 roll
* Revert "3108669: arm,dsp: Fix 8bpp Dct64_NEON()."
This reverts commit 7ed31323127aac8ba2eaff9cae6c9be9a4954f33.
* Revert "chore: revert libgav1 roll"
This reverts commit 084a490d298811267316c786762fe7aa91b6318d.
* chore: revert clang roll
* chore: Fix -Wunreachable-code-aggressive warnings in arm and arm64 code
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: mlaurencin <mlaurencin@electronjs.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2021-08-23 20:52:17 -04:00
Samuel Attard
c83de755c1
Revert "fix: DCHECK on reload when forcefullyCrashRenderer() is called ( #30544 )" ( #30646 )
...
This reverts commit 90b5ba3bed
.
2021-08-19 12:07:48 -07:00
Samuel Maddock
dd16d68e96
fix: cross-origin navigation disposing WebFrameMain instances ( #30076 )
2021-08-18 11:23:41 -07:00
Shelley Vohr
90b5ba3bed
fix: DCHECK on reload when forcefullyCrashRenderer() is called ( #30544 )
2021-08-18 11:23:06 -07:00
Shelley Vohr
db8644ee7a
fix: media key globalShortcuts on macOS ( #30552 )
2021-08-17 13:44:17 -04:00
Shelley Vohr
a9a90fa1b6
fix: {exit|enter}-html-fullscreen emitted after esc in webview ( #30537 )
2021-08-17 09:03:45 +02:00
Keeley Hammond
a11a234eac
fix: disable kWindowCaptureMacV2 for desktopCapturer ( #30507 )
2021-08-13 13:23:56 -07:00
Michaela Laurencin
41646d1168
feat: enable windows control overlay on Windows ( #29600 )
...
* rebase "feat: enable windows control overlay on Windows"
* correct compilation error
* fix linting errors
* modify includes and build file
* change `hidden` option to `overlay`
* add patch to fix visual layout
* add button background color parameter
* add button text color parameter
* modify `overlay` in docs and modify button hover/press transition color
* change `text` to `symbol`
* remove todo and fix `text` replacement
* add new titleBarOverlay property and remove titleBarStyle `overlay`
* update browser and frameless window docs
* remove chromium patches
* chore: update patches
* change button hover color, update trailing `_`, update test file
* add dchecks, update title bar drawing checks, update test file
* modify for mac and linux builds
* update docs with overlayColor and overlaySymbolColor
* add corner and side hit test info
* modify docs and copyright info
* modify `titlebar_overlay_` as boolean or object
* move `title_bar_style_ to `NativeWindow`
* update docs with boolean and object titlebar_overlay_
* add `IsEmpty` checks
* move get options for boolean and object checks
* fix linting error
* disable `use_lld` for macos
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Apply docs suggestions from code review
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* modify `true` option description `titleBarOverlay`
* ci: cleanup keychain after tests on arm64 mac (#30472 )
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2021-08-11 14:07:36 -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
Cheng Zhao
97929eab5f
fix: move window buttons in-place on macOS ( #30322 )
2021-08-04 09:31:12 +09:00
Jeremy Rose
8179349625
feat: enable sandbox by default in limited circumstances ( #30197 )
2021-08-03 15:07:03 -07:00
Jeremy Rose
40e76dca07
feat: switch to crashpad on linux ( #30278 )
2021-08-03 14:01:12 -07:00
Biru Mohanathas
ced2e8779f
feat: Allow detection of MITM HTTPS proxies like ZScaler ( #30174 )
...
* feat: Allow detection of MITM HTTPS proxies like ZScaler
For security purposes, Figma heavily restrics the origins that are
allowed to load within our Electron app. Unfortunately some corporate
environments use MITM proxies like ZScaler, which intercepts our
connection to `https://www.figma.com ` and serves a redirect to e.g.
`https://gateway.zscloud.net ` before finally redirecting back to
`https://www.figma.com `.
In order to detect this situation and handle it gracefully, we need to
be able to know whether or not the certificate for our own origin
(`https://www.figma.com `) is chained to a known root. We do this by
exposesing `CertVerifyResult::is_issued_by_known_root`.
If the certification verification passed without the certificate being
tied to a known root, we can safely assume that we are dealing with a
MITM proxy that has its root CA installed locally on the machine. This
means that HTTPS can't be trusted so we might as well make life easier
for corporate users by loosening our origin restrictions without any
manual steps.
* Tweak docs wording
2021-08-02 10:24:58 +09:00
John Kleinschmidt
9cc1b55663
chore: remove experimental from navigator.serial implementation ( #30237 )
2021-07-30 08:57:22 +09:00
Jeremy Rose
fa464286ee
test: deflake crashReporter.getLastCrashReport test ( #30276 )
2021-07-28 08:56:15 -07:00
Jeremy Rose
ceebae170e
feat: partially support chrome.tabs.update ( #30069 )
2021-07-27 13:36:22 -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
385d0f590f
refactor: remove base::Value from WebContentsPreferences ( #30193 )
2021-07-26 09:04:09 -07:00
stephen9357
e3fe80e0e8
fix: increase stack size on windows x86 ( #29474 )
...
* fix: increace main thread stack size on windows x86
* chore: improve quit-on-crashed-event spec
* chore: add debug logs
* Revert "chore: add debug logs"
This reverts commit 0be81ae07c85095ac2c920436b97557c95c1c524.
* chore: use a reliable crash endpoint
Co-authored-by: Stephen Wang <wangwenqiang.wwq@bytedance.com>
Co-authored-by: Deepak Mohan <hop2deep@gmail.com>
2021-07-22 12:49:21 -07:00
Shelley Vohr
b24cfe17bc
fix: process.exit crash in nativeWindowOpen ( #30218 )
2021-07-22 15:38:11 +02:00
Keeley Hammond
deb75ceaa5
build: update version-bumper to support alpha ( #30165 )
...
* build: update version-bumper to support alpha
* build: seperate alpha bump version tests
For easier deletion. If we want to continue supporting an alpha channel,
they can be reintegrated with main tests.
* chore: fix regex
Co-authored-by: Samuel Attard <sam@electronjs.org>
Co-authored-by: Samuel Attard <sam@electronjs.org>
2021-07-19 17:58:15 -07:00
Jeremy Rose
c9ba0d02d7
feat: support crashpad on linux ( #29719 )
2021-07-19 10:11:10 -07:00
Jeremy Rose
612361c4da
chore: remove unused getWebPreferences method ( #30160 )
2021-07-19 09:29:23 -07:00
David Sanders
341b370213
fix: handle redirects within registered protocols ( #29796 )
2021-07-15 20:14:46 +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
George Xu
4b780f9770
docs: update supported versions to match new release cadence ( #30121 )
2021-07-14 15:38:28 -07:00
Robo
4931c055a9
spec: disable flaky fullscreen test ( #30141 )
2021-07-14 15:26:09 -07:00
Jeremy Rose
bec47f54f4
fix: use correct userData path when unbundled ( #30113 )
2021-07-14 13:10:37 -07:00
Milan Burda
c0995b8dff
docs: add <webview> 'did-attach' event documentation ( #29899 )
2021-07-14 20:59:20 +09:00
Cheng Zhao
637ba48b42
fix: pressing ESC should exit fullscreen from webview ( #30063 )
2021-07-14 20:51:26 +09:00
Milan Burda
9959f01e4c
spec: fix check for electron_common_testing binding in logging-spec.ts ( #30086 )
2021-07-12 22:11:19 -07:00
Robo
36079b822a
chore: disable fullscreen test on mac arm ( #30083 )
2021-07-12 08:53:35 -07:00
Robo
c806184bfe
chore: fix flaky fullscreen inheritance test ( #30081 )
2021-07-11 23:19:30 -07:00
Robo
ccfde6c9d4
fix: window ordering on mac ( #29857 )
2021-07-09 13:38:25 -07: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
Cheng Zhao
6eff9231b8
fix: webview should maximize on requestFullscreen ( #29952 )
2021-07-01 20:56:29 -04:00
John Kleinschmidt
1f8a46c9c6
feat: enable window controls overlay on macOS ( #29253 )
...
* feat: enable windows control overlay on macOS
* address review feedback
* chore: address review feedback
* Address review feedback
* update doc per review
* only enable WCO when titleBarStyle is overlay
* Revert "only enable WCO when titleBarStyle is overlay"
This reverts commit 1b58b5b1fcb8f091880a4e5d1f8855399c44afad.
* Add new titleBarOverlay property to manage feature
* spelling fix
* Update docs/api/frameless-window.md
Co-authored-by: Samuel Attard <sam@electronjs.org>
* Update shell/browser/api/electron_api_browser_window.cc
Co-authored-by: Samuel Attard <sam@electronjs.org>
* update per review feedback
Co-authored-by: Samuel Attard <sam@electronjs.org>
2021-07-01 15:25:40 -04:00
Jeremy Rose
a8b3c22518
fix: correctly propagate title updates for window with no navigation entries ( #29946 )
2021-06-30 10:53:10 -07:00
Robo
522b19e2d8
fix: crash when clicking links with target=_blank from webview ( #29874 )
2021-06-29 18:10:18 -07:00
Jeremy Rose
0f16575eee
fix: stop window.open from hanging when prevented ( #29851 )
2021-06-24 08:50:48 -07:00
Jeremy Rose
2c01deae03
fix: deny instead of canceling when certificate-error passes false ( #29826 )
2021-06-23 16:40:51 -07:00
Shelley Vohr
129f92e1fa
fix: child window alwaysOnTop level persistence ( #29813 )
...
* fix: child window alwaysOnTop level
* chore: add undocumented getAlwaysOnTopLevel
* test: add test for level persistence
* Address feedback from review
2021-06-23 15:09:09 +09:00
electron-roller[bot]
b8261f1591
chore: bump chromium to 93.0.4550.0 (main) ( #29751 )
2021-06-22 12:17:16 -07:00
David Sanders
bc8cb75e4e
fix: properly handle optional requestHeaders with onBeforeSendHeaders ( #29798 )
2021-06-22 15:08:52 +09:00
Fedor Indutny
d4a1b41129
fix: microtasks policy in CreateEnvironment ( #29531 )
...
* fix: microtasks policy in CreateEnvironment
Microtasks policy should not be updated for the renderer because
`NodeBindings::CreateEnvironment` might be entered with or without
`UvRunOnce()` on stack. One of the examples of such calls is
`window.open()` which is possible to invoke while `uv_run()` is still
running (e.g. with `setImmediate()`).
All in all, it doesn't matter that much which policy we use since
`v8::MicrotasksScope` has a check for the policy in its destructor and
no commits will be made if the policy is `kExplicit`. It is important,
however, to not change the policy in the middle of `UvRunOnce()` so we
should respect whatever we currently have and move on.
Fix : #29463
* Move test to a better place
* Update spec-main/fixtures/crash-cases/setimmediate-window-open-crash/index.html
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* Update spec-main/fixtures/crash-cases/setimmediate-window-open-crash/index.html
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* simplify crash-case
* comment
* fix comment
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Fedor Indutny <indutny@signal.org>
2021-06-21 14:06:17 +09:00
Darshan Sen
cfc846a337
fix: relax app.getLocaleCountryCode() test ( #29679 )
...
If the app is run with LC_ALL=C on Linux, the test would fail as
app.getLocaleCountryCode() would return "".
Signed-off-by: Darshan Sen <raisinten@gmail.com>
2021-06-21 14:05:28 +09:00
Samuel Maddock
ef2ce9dd67
fix: flakey extension bg page test ( #29744 )
2021-06-21 10:11:40 +09:00
dependabot[bot]
cef4e434cb
build(deps-dev): bump ws from 7.2.1 to 7.4.6 in /spec-main ( #29421 )
...
Bumps [ws](https://github.com/websockets/ws ) from 7.2.1 to 7.4.6.
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/7.2.1...7.4.6 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-18 14:20:29 -07:00
John Kleinschmidt
6b4c59b8d8
ci: run linux arm tests on CircleCI ( #29714 )
2021-06-17 18:38:25 -04:00
Charles Kerr
8ccab4ce91
feat: bring --enable-logging functionality in line with Chromium ( #25089 )
...
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2021-06-17 14:17:25 -07:00
Shelley Vohr
542abcd6fd
chore: bump Node.js to v16.2.0 ( #29244 )
2021-06-17 08:50:56 +02:00
Shelley Vohr
2ae7e04598
fix: potential crash when setting vibrancy ( #29677 )
2021-06-16 15:39:20 +09:00
Samuel Attard
81795744cf
fix: ensure the typescript definitions only export correct value types ( #28712 )
...
* fix: ensure the typescript definitions only export correct value types
In typescript there are two main types of "types" you can export, value types (class, const) and definition types (type, interface). The typescript compiler will let anything declared via const or class be used as a value. Unfortunately we were exporting a bunch of things (see the diff) as class/const when they weren't actually exported values. This lead to typescript being happy but the runtime throwing errors (not something we want).
This change passes "exported-in" context through our docs, to the parser and then to the definitions generator to ensure we only mark things as exported in the ts defs that we actually export.
Fixes #22167
* chore: update typescript-defs
* chore: update typescript-defs
* chore: fix bad typescript in IPC test
* docs: test rendering of new syntax
* chore: update per feedback, use same syntax but with 'this is not exportedd' line
2021-06-15 13:50:31 -07:00
David Sanders
214fcfc46d
test: re-enable some skipped tests ( #29655 )
...
* test: re-enable some skipped tests
* test: enable more tests
2021-06-15 10:55:08 +09:00
David Sanders
fed5ad5303
fix: use correct spelling of attachment with Content-Disposition header ( #29621 )
2021-06-14 11:05:16 +09: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
Shelley Vohr
a4decffe9a
fix: improper wrapping of fs.promises.readFile ( #29528 )
2021-06-07 21:19:39 +02:00
electron-roller[bot]
8532e1239e
chore: bump chromium to 93.0.4530.0 (master) ( #29256 )
...
* chore: bump chromium in DEPS to 92.0.4512.6
* 2887336: [CaptureHandle][#2 ] Propagate CaptureHandleConfig in browser process
https://chromium-review.googlesource.com/c/chromium/src/+/2887336
* refactor: base::Optional -> absl::optional
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4514.0
* 2899417: Make build work when enable_pdf is set to false.
https://chromium-review.googlesource.com/c/chromium/src/+/2899417
* 2904731: use BrowserContext instead of Profile in PreconnectManager
https://chromium-review.googlesource.com/c/chromium/src/+/2904731
* 2295749: fix: check IsSecureEventInputEnabled in constructor before setting SetPasswordInputEnabled to true
https://chromium-review.googlesource.com/c/chromium/src/+/2295749
* 2893803: Add a GetWebView to RenderFrame.
https://chromium-review.googlesource.com/c/chromium/src/+/2893803
* 2892345: Implement WebContents::ForEachRenderFrameHost
https://chromium-review.googlesource.com/c/chromium/src/+/2892345
* chore: fixup patch indices
* 2892048: Real instance methods for BrowserContext: remaining 5 methods.
https://chromium-review.googlesource.com/c/chromium/src/+/2892048
* 2902821: [mojo] Don't require full header includes for referenced interfaces
https://chromium-review.googlesource.com/c/chromium/src/+/2902821
* 2496500: Remove last deprecated extension Event ctor.
https://chromium-review.googlesource.com/c/chromium/src/+/2496500
* chore: fixup malformed pepper support patch
* chore: bump chromium in DEPS to 92.0.4515.0
* 2908461: Add CreateEmptyPrintPagesParamsPtr() inside print_view_manager_base.cc.
https://chromium-review.googlesource.com/c/chromium/src/+/2908461
* 2880838: viz: add optional HDRMetadata to TransferableResource
https://chromium-review.googlesource.com/c/chromium/src/+/2880838
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4515.5
* chore: update patches
* chore: bump chromium in DEPS to 92.0.4515.7
* chore: bump chromium in DEPS to 92.0.4515.9
* chore: bump chromium in DEPS to 93.0.4522.0
* chore: bump chromium in DEPS to 93.0.4523.0
* chore: bump chromium in DEPS to 93.0.4524.0
* chore: update patches
* chore: enable_pak_file_integrity_checks was reverted
* chore: update patches
* refactor: base/optional was replaced with absl::optional
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace all usages of base::nullopt with absl::nullopt
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* chore: add missing base::Contains include
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace all usages of base::make_optional with
absl::make_optional
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace WorldScriptContext() with GetScriptContextFromWorldId
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2893213
* chore: clean up left over opening namespace
Refs: 95bfe6d08f
* chore: add missing base::Contains include
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace GetCurrentDisplayIterator with the hard checker
GetCurrentDisplay
This code looks suspicious but if the iterator was invalid before it
will also be invalid now.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2893191
* refactor: headers are now passed directly in extensions client
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2918906
* refactor: base::DictionaryValue::empty() has been removed
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2912424
* chore: add missing includes for network URLLoaderFactory
Refs: unknown, probably a side effect of header changes
* refactor: make convenience wrapper around AppendArg
There is no converter FromV8 for base::StringPiece (apparently its not
possible). So we now take in an std::string and use the construct for
StringPiece to do implicit conversion.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2905544
* chore: add patch
* chore: bump chromium in DEPS to 93.0.4525.0
* chore: update patches
* refactor: CanResize has been de-virtualized
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2485774
* chore: update resource integrity patch
* chore: add character encoding idl patch
* chore: bump chromium in DEPS to 93.0.4526.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4527.0
* chore: bump chromium in DEPS to 93.0.4528.0
* chore: update patches
* chore: update idl encoding patch
* chore: bump chromium in DEPS to 93.0.4529.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4530.0
* chore: update patches
* fix: only SetCanResize after the widget has been initialized
* chore: add patch for vr on windows gn gen
* spec: fix focus related tests on linux due to delay in focus swap
* chore: remove new usages of base::Optional from main
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 <sattard@slack-corp.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2021-06-03 01:05:04 -07:00
Milan Burda
8040cb788f
test: add spec for --require filtering in NODE_OPTIONS ( #29501 )
2021-06-03 14:46:44 +09:00
Keeley Hammond
d8d6e2ebc0
build: update support.md on stable version bumps ( #29381 )
...
* build: update support.md on stable version bumps
* build: update supported on major stable & nightly bumps
* test: updateSupported tests
* chore: fix syntax
* chore: use fspromise in version-bumper script/spec
2021-06-02 12:53:23 -07:00
Cheng Zhao
3cfe5c6a21
fix: keep shifted character in menu accelerator ( #29202 )
...
* fix: correctly handle shifted char in accelerator
* test: use actual accelerator of NSMenuItem
* chore: simplify KeyboardCodeFromStr
* chore: GetAcceleratorTextAt is testing only
2021-06-02 16:32:48 +09:00
Sergio Padrino
abf6f5c8ba
feat: add new runningUnderARM64Translation property to detect x64 translated apps running on Windows ARM ( #29168 )
...
* feat: add new runningUnderARM64Translation property to detect x64 translated apps running on Windows ARM
* docs: add documentation for the new runningUnderARM64Translation property
* refactor: clean up `IsRunningUnderARM64Translation` Windows implementation
* Return false if IsWow64Process2 doesn't exist
* Emit deprecation warning in runningUnderRosettaTranslation
2021-06-02 16:16:33 +09:00
David Sanders
d18dbdd72b
fix: add service worker schemes from command line in renderer ( #29425 )
2021-06-01 10:45:23 +09:00
Samuel Attard
f01e35f4ea
feat: add support for Blob's going over the ctx bridge ( #29247 )
2021-05-26 10:34:29 -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
Shelley Vohr
b7a23450b7
fix: illegal access errors with nodeIntegrationInSubFrames ( #29093 )
2021-05-14 13:36:15 +02:00
Keeley Hammond
06f51b7283
fix: prevent crash on web-contents creation when error is thrown ( #28971 )
...
* fix: prevent crash when error occurs during event emitter CallMethod
* wip: emit error event within trycatch
* fix: handle uncaught exceptions within node on web_contents init
* fix: create gin_helper::CallMethodCatchException
* test: add web-contents create crash to test cases
* test: clean up test data for web-contents crash
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* fix: convert CatchException to WebContents static helper method
* fix: restore try_catch to callsite
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2021-05-11 13:57:11 -07:00
Milan Burda
aea8d5325c
fix: webFrame spell checker APIs crashing in sandboxed renderers ( #29053 )
2021-05-10 14:19:23 +02:00
Samuel Attard
8d0e7aed9f
spec: attempt to fix flaky nativeTheme spec ( #29022 )
2021-05-05 18:04:38 -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
Shelley Vohr
3d6343ed51
fix: close attached sheet on window close ( #28967 )
2021-05-04 12:11:16 +02:00
Jeremy Rose
c200840006
fix: emit window-all-closed after closing the window ( #28867 )
2021-04-28 10:55:08 -07:00
Jeremy Rose
aedec5206c
test: disable shell.trashItem in renderer test on win-ia32 ( #28868 )
2021-04-27 14:35:31 -07:00
Samuel Attard
fa61e3b119
feat: add session.storagePath to get path on disk for session data ( #28665 )
2021-04-27 09:54:28 -07:00
Cheng Zhao
b97b973306
test: worker should be able to load asar files ( #28858 )
2021-04-27 12:07:05 -04:00
Jeremy Rose
dc7fa1d9f1
refactor: be more precise when creating api::WebContents ( #23128 )
2021-04-23 13:51:37 -07:00
Jeremy Rose
be3c2fd0af
fix: shell.trashItem crash when called in renderer ( #28748 )
2021-04-22 13:46:41 -07:00
Samuel Maddock
43d27cc4d1
feat: add WebFrameMain.visibilityState ( #28706 )
...
* feat: add WebFrameMain.visibilityState
* docs: mention other page visibility APIs
* test: delay visibilityState check after hiding
* test: add waitForTrue to avoid flaky visibilityState test
* refactor: waitForTrue -> waitUntil
2021-04-22 12:00:58 -04: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
503d24a473
fix: handle async nature of [NSWindow -toggleFullScreen] ( #25470 )
2021-04-21 16:56:25 +02: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
6327a5a4a2
chore: clean up some spec things ( #28680 )
2021-04-19 11:27:34 -07:00
Electron Bot
22a70eb803
chore: bump chromium to 92.0.4475.0 (master) ( #28462 )
...
* chore: bump chromium in DEPS to 91.0.4464.0
* chore: rebuild chromium/dcheck.patch with import-patches -3
Mechanical only; no code changes
* chore: remove content_browser_main_loop.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2725153
The function being patched (BrowserMainLoop::MainMessageLoopRun()) no
longer exists.
NB: if removing this introduces regressions the likely fix will be to
add a similar patch for ShellBrowserMainParts::WillRunMainMessageLoop()
which has similar code and was added at the same time this was removed.
* chore: rebuild chromium/put_back_deleted_colors_for_autofill.patch with import-patches -3
Mechanical only; no code changes
* chore: rebuild chromium/disable_color_correct_rendering.patch with import-patches -3
Mechanical only; no code changes
* chore: rebuild chromium/eat_allow_disabling_blink_scheduler_throttling_per_renderview.patch with patch
Mechanical only; no code changes
* chore: rebuild chromium/gpu_notify_when_dxdiag_request_fails.patch with import-patches -3
Mechanical only; no code changes
* chore: rebuild chromium/ui_gtk_public_header.patch manually
no code changes
* chore: rebuild chromium/web_contents.patch with import-patches -3
Mechanical only; no code changes
* chore: remove v8/skip_global_registration_of_shared_arraybuffer_backing_stores.patch
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/2763874
This patch has been merged upstream
* chore: export patches
* chore: update add_trustedauthclient_to_urlloaderfactory.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2757969
Sync with removal of render_frame_id_
* chore: sync chromium/put_back_deleted_colors_for_autofill.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2785841
SkColorFromColorId() no longer takes theme, scheme args
* chore: sync chromium/put_back_deleted_colors_for_autofill.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2772143
Change new calls to GetDarkSchemeColor to fit our patched call signature
* chore: update add_trustedauthclient_to_urlloaderfactory.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2757969
Sync with removal of render_frame_id_ in our mojom
* chore: update chromium/frame_host_manager.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2740008
UrlInfo ctor now takes UrlInfo::OriginIsolationRequest instead of a bool
* chore: update chromium/revert_remove_contentrendererclient_shouldfork.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2755314
Upstream has removed `history_list_length_` which we were comparing to 0
to calculate our `is_initial_navigation` bool when calling ShouldFork().
ShouldFork() is ours and none of the code paths actually use that param,
so this commit removes it altogether.
* chore: update permissions_to_register
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2789074
Replace all uses of APIPermission::ID enum with Mojo type
* refactor: update return type of PreMainMessageLoopRun()
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2725153
Used to return void; now returns an int errorcode.
Note: 2725153 also has some nice doc updates about Browser's "stages"
* refactor: sync ElectronBrowserMainParts to MainParts changes
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2725153
RunMainMessageLoopParts has been replaced with WillRunMainMessageLoop
so `BrowserMainLoop::result_code_` is no longer available to us for our
exit_code_ pointer.
This variable held a dual role: (1) of course, hold the exit code, but
also (2) was a nullptr before the message loop was ready, indicating to
anyone calling SetExitCode() that we were still in startup and could
just exit() without any extra steps. exit_code_ still fulfills these two
roles but is now a base::Optional.
* chore: update ElectronBrowserMainParts::PreDefaultMainMessageLoopRun
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2725153
BrowserMainParts::BrowsePreDefaultMainMesssageLoopRun() has been
removed; move that work to the new WillRunMainMessageLoop().
* refactor: stop using CallbackList; it has been removed.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2785973
* refactor: update use of threadpools.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2773408
The upstream code is still in flux (e.g. reverts and re-lands) but the
tl;dr for this commit is (1) include thread_pool.h if you're using it
and (2) don't instantiate pools directly.
* refactor: remove routing_id from CreateLoaderAndStart
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2762858
NB: One logic branch in ProxyingURLLoaderFactory::CreateLoaderAndStart
calls std::make_unique<InProgressRequest>, which needs a routing_id.
This PR uses the member field `routing_id_` since there's no longer one
being passed into CreateLoaderAndStart.
* refactor: sync to upstream ParittionOptions churn
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2771318
PartitionOptions' enums have changed.
* refactor: update Manifest::Location usage
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2771320
tldr: s/Manifest::FOO/ManifestLocation::kFoo/
* chore: bump chromium in DEPS to 91.0.4465.0
* update patches
* refactor: update extensions::Manifest to upstream
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2771320
- extensions::Manifest::COMPONENT
+ extensions::mojom::ManifestLocation::kExternalComponent
* refactor: sync with upstream UrlInfo ctor changes
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2740008
UrlInfo ctor now takes UrlInfo::OriginIsolationRequest instead of a bool
* chore: update invocation of convert_protocol_to_json.py
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2792623
python3 is being used in parts of the upstream build, but the copy of
convert_protocol_to_json.py invoked in v8/third_party/inspector_protocol
is not python3-friendly. Node has a py2+3-friendly version of it in its
tools directory, so call it instead.
* chore: use extensions::mojom::APIPermissionID
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2791122
tldr:
- extensions::APIPermission::kFoo
+ extensions::mojom::APIPermissionID::kFoo
* chore: Remove support for TLS1.0/1.1 in SSLVersionMin policy
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2765737
Remove TLS v1.0 & 1.1 from our SSLProtocolVersionFromString() function.
This is the same change made upstream at
https://chromium-review.googlesource.com/c/chromium/src/+/2765737/8/chrome/browser/ssl/ssl_config_service_manager_pref.cc
* fixup! chore: update ElectronBrowserMainParts::PreDefaultMainMessageLoopRun
* chore: Use IDType for permission change subscriptions.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2791431
tldr: {Subscribe,Unsubscribe}PermissionStatusChange's tag type used to
be an int; now it's the new SubscriptionId type (which is an IdType64).
* chore: sync PowerMonitor code to upstream refactor
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2752635
tldr: PowerMonitor has been split into PowerStateObserver,
PowerSuspendObserver, and PowerThermalObserver to reduce number of tasks
posted to consumers who only need notifications for one of those things
instead of all of them.
* chore: use PartitionOptions's new Cookies field
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2771318
* Revert "refactor: remove routing_id from CreateLoaderAndStart"
This reverts commit 8c9773b87a3c84f9073a47089eb2b6889d745245.
8c9773b was only a partial fix; reverting to start & try again.
* update patches
* chore: bump chromium in DEPS to 91.0.4466.0
* chore: update chromium/accelerator.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2795472
tldr: sync patch with upstream renamed variable & macro names.
* chore: update chromium/gtk_visibility.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2796200
tldr: no code changes; just updating the diff to apply cleanly.
note: ooh upstream Wayland hacking!
* chore: update chromium/picture-in-picture.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2710023
tldr: no code changes; just updating the diff to apply cleanly.
* chore: update chromium/worker_feat_add_hook_to_notify_script_ready.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2775573
tldr: no code changes; just updating the diff to apply cleanly.
* chore: export_all_patches
* chore: update chromium/feat_add_set_theme_source_to_allow_apps_to.patch
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2796511
tldr: NotifyObservers has been renamed to NotifyOnNativeThemeUpdated,
so update the invocation in our patch.
* chore: update ElectronBrowserClient w/upstream API
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2797454
tldr: GetDevToolsManagerDelegate() was returning an owned raw pointer.
Replaced it with CreateDevToolsManagerDelegate() which uses unique_ptr<>.
* chore: handle new content::PermissionType::FILE_HANDLING in toV8()
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2762201
`file-handling` string confirmed in https://chromium-review.googlesource.com/c/chromium/src/+/2762201/18/chrome/browser/ui/webui/settings/site_settings_helper.cc
* refactor: remove routing_id from CreateLoaderAndStart pt 1
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2762858
Part 1: the easiest ones
* 2796724: Support Python3
https://chromium-review.googlesource.com/c/infra/luci/python-adb/+/2796724
* chore: bump chromium in DEPS to 91.0.4468.0
* 2668974: WebShare: Implement SharingServicePicker
https://chromium-review.googlesource.com/c/chromium/src/+/2668974
* 2802766: Apply modernize-make-unique to media/
https://chromium-review.googlesource.com/c/chromium/src/+/2802766
* 2802823: Apply modernize-make-unique to gpu/
https://chromium-review.googlesource.com/c/chromium/src/+/2802823
* 2803041: Apply modernize-make-unique to remaining files
https://chromium-review.googlesource.com/c/chromium/src/+/2803041
* 2798873: Convert GtkKeyBindingsHandler build checks to runtime checks
https://chromium-review.googlesource.com/c/chromium/src/+/2798873
* 2733595: [ch-r] Parse ACCEPT_CH H2/3 frame and restart with new headers if needed
https://chromium-review.googlesource.com/c/chromium/src/+/2733595
* chore: update patch indices
* 2795107: Remove unused PermissionRequest IDs.
https://chromium-review.googlesource.com/c/chromium/src/+/2795107
* chore: bump chromium in DEPS to 91.0.4469.0
* chore: fixup patch indices
* chore: bump chromium in DEPS to 91.0.4469.5
* PiP 1.5: Add microphone, camera, and hang up buttons to the PiP window
https://chromium-review.googlesource.com/c/chromium/src/+/2710023
* fixup! refactor: remove routing_id from CreateLoaderAndStart
* refactor: use URLLoaderNetworkServiceObserver for auth requests from SimpleURLLoader
* fixup! chore: fixup patch indices
* 2724817: Expand scope of wasm-eval to all URLs
https://chromium-review.googlesource.com/c/chromium/src/+/2724817
* Fixup patch after rebase
* chore: bump chromium in DEPS to 91.0.4472.0
* 2797341: [ozone/x11] Enabled the global shortcut listener.
https://chromium-review.googlesource.com/c/chromium/src/+/2797341
* 2805553: Reland Add GTK ColorMixers to ColorPipeline P1
https://chromium-review.googlesource.com/c/chromium/src/+/2805553
* 2804366
: PiP 1.5: Label back to tab button with origin and center it
https://chromium-review.googlesource.com/c/chromium/src/+/2804366
* 2784730: Fix crash on AX mode change in NativeViewHost without a Widget
https://chromium-review.googlesource.com/c/chromium/src/+/2784730
* chore: update patch indices
* 2810174: Add PdfAnnotationsEnabled policy.
https://chromium-review.googlesource.com/c/chromium/src/+/2810174
* 2807829: Allow capturers to indicate if they want a WakeLock or not.
https://chromium-review.googlesource.com/c/chromium/src/+/2807829
* chore: bump chromium in DEPS to 92.0.4473.0
* chore: bump chromium in DEPS to 92.0.4474.0
* chore: bump chromium in DEPS to 92.0.4475.0
* chore: update patches
* chore: updates patches
* chore: update is_media_key patch to handle new ozone impl
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2797341
* fix: ExecuteJavascript requests now need to be flagged as non-bf-aware
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2787195
* chore: icon_util_x11 is now icon_util_linux
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2791362
* build: update sysroots
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2628496
* build: fix missing symbols on linux build
* use_ozone and use_x11 are not exclusive
* new button view to build for pip
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2797341
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2804366
* chore: fix broken gtk_util color patch
* chore: remove patch conflict
* build: update linux manifests
* chore: build bttlb on all platforms for pip
* chore: add thread_pool include for views delegate win
* chore: fix lint
* chore: add node patches for V8 changes
* build: add missing base include on windows
* fix: update frame host manager patch for new state transitions
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2714464
* chore: update windows zip manifests
* chore: update mac zip manifests
* chore: fix patch linting
* refactor: implement missing URLLoaderNetworkServiceObserver methods
It is against The Mojo Rules to leave hanging callbacks. These always
have to be called.
Refs: 186528aab9
* spec: fix locale test on local linux
* fix: pass the exit code correctly in new PreMainMessageLoopRun
Refs: 2622e91c44
* fix: ensure we early-exit when request_handler_ is not provided
Refs: 93077afbfb
* fix: strongly set result_code in the BrowserMainLoop
* fix: invalid usage of non-targetted PostTask
You must always either use a host threadpool or specify a target
thread. In this case we did neither after this refactor.
Refs: 4e33ee0ad3
* chore: fix gn check
* chore: remove stray .rej files in patch
* chore: add mojo error code to url loader failure
* build: ensure CI is truthy in arm test env
* fix: handle windowCaptureMacV2 being enabled when fetching media source id
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2709931
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
2021-04-15 10:44:35 -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
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
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
Milan Burda
da8c35e3b2
chore: remove deprecated worldSafeExecuteJavaScript option ( #28456 )
2021-04-08 12:03:57 -04:00
Cheng Zhao
968b30c9b4
feat: support wasm-eval csp behind WebAssemblyCSP flag ( #28535 )
2021-04-07 13:04:50 -07:00
Shelley Vohr
7d04f729d8
fix: beforeunload and unload firing in BrowserViews ( #28382 )
...
* fix: beforeunload and unload firing in BrowserViews
* Ensure UserGesture is sent for BV webContents
* spec: add tests
* refactor: clean up logic
* spec: fixup specs
* docs: document event behavior for BrowserViews
2021-04-07 00:16:10 -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
Jeremy Rose
77dcf1020a
fix: pass postData to new-window event ( #28513 )
2021-04-06 09:54:05 -07:00
Cheng Zhao
641e9337f3
test: disable "fs in renderer process" test under ASan ( #28509 )
2021-04-06 12:15:45 -04: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
Shelley Vohr
9fecf8369f
fix: errors thrown in functions over the contextBridge
( #28346 )
...
* fix: errors thrown in functions over the contextBridge
* spec: add a test
* fix: ensure exception is a v8::Object
2021-03-30 00:26:49 -07:00
Cheng Zhao
ff96fabe5e
test: increase timeout for spellchecker ( #28427 )
2021-03-29 00:10:09 -07:00
Cheng Zhao
fb4e99e729
test: load minimal dict for spellchecker ( #28386 )
2021-03-25 10:41:11 -04:00
Samuel Attard
7918ddb026
perf: do not double-proxy methods being return over the contextBridge ( #28285 )
2021-03-24 11:43:02 -07:00
Cheng Zhao
1e9e2f8cf6
fix: make sure service worker scheme is registered with allowServiceWorkers ( #28326 )
...
* Fix custom scheme not registered as service worker scheme
* ServiceWorker loaders do not have WebContents associated
* Add test for service worker
* Revert "Fix custom scheme not registered as service worker scheme"
This reverts commit a249235b220a0edcfcb906e0b3b3c0486ece73a6.
* Add scheme to ServiceWorkerSchemes
2021-03-23 11:16:53 -04:00
Shelley Vohr
665ac6f9c8
fix: libuv hang on Windows ( #28175 )
2021-03-22 13:11:03 -07:00
Nikita Kot
e99893df22
feat: add ContextBridgeMutability feature ( #27348 )
2021-03-22 10:16:35 -07:00
Cheng Zhao
db7059eb0a
test: spellchecker may take several minutes to load under ASan ( #28230 )
...
* test: spellchecker may take several minutes to load under ASan
* Add TODO for the timeout
2021-03-22 10:56:08 +09:00
Jeremy Rose
502d4c19ce
feat: allow omitting submitURL when uploadToServer is false ( #28105 )
2021-03-18 14:15:19 -07:00
Samuel Attard
f35fc93080
chore: rename process.contextIsolation to process.contextIsolated ( #28259 )
...
* chore: rename process.contextIsolation to process.contextIsolated
* thing
2021-03-18 14:00:19 -07:00
Milan Burda
fc7f2042ec
feat: add process.contextIsolation property ( #28030 )
2021-03-17 11:23:29 -07:00
Milan Burda
485fa5bea9
feat: add process.contextId used by @electron/remote ( #28007 )
2021-03-17 11:23:03 -07: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
Samuel Attard
8dfe4abd14
fix: handle a nil backgroundColor in win.getBackgroundColor() ( #28120 )
...
* fix: handle a nil backgroundColor in win.getBackgroundColor()
* spec: add crash case
* fix: update to fix native_views transparent color
* chore: fix lint
2021-03-14 17:26:47 -07:00
Cheng Zhao
5b710519cf
test: reliably wait for spellchecker to load ( #28118 )
2021-03-12 16:35:57 +09:00
Cheng Zhao
32ec7e1e21
test: enable locale test for asan build ( #28085 )
2021-03-10 13:04:57 -05: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
Shelley Vohr
d9997c303f
fix: capturePage not resolving with hidden windows ( #27883 )
2021-03-09 05:51:44 -08:00