* 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>
* refactor: make InitWithWebContents take a unique_ptr
Signed-off-by: Darshan Sen <darshan.sen@postman.com>
* refactor: make InspectableWebContents take a unique_ptr
Signed-off-by: Darshan Sen <darshan.sen@postman.com>
* 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: 3076040
* 3069287: Remove the remaining uses and delete the deprecated API
Ref: 3069287
* 2297212: Replace RemoveWithoutPathExpansion(.*, nullptr) with Value::RemoveKey()
Refs: 2297212
Also: 3060296
* 3082756: Change transport_security_persister_path param to be a path to a file.
Refs: 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: 2999884
(example of replacing GetStringWithoutPathExpansion() w/FindStringKey())
Also: 3060296
(removal of DictionaryValue::GetStringWithoutPathExpansion)
* 3059260: Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
Refs: 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: 2920890
* 3039323: [Clipboard API] Clipboard Custom Formats implementation Part 5.
Refs: 3039323
* chore: bump chromium in DEPS to 94.0.4606.0
* 3084502: Add a new PrintRasterizePdfDpi policy.
Refs: 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
2856099
* Remove content::WebContentsObserver::OnInterfaceRequestFromFrame
3092665
* Disable kDesktopCaptureMacV2
3069272
* Add a new PrintRasterizePdfDpi policy.
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
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)
2856099
* DCHECK that predictor always has a non-empty NetworkIsolationKey.
3067698
* Remove --no-untrusted-code-mitigations from //content and //gin
3096585
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
3059260
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
* Convert PrintManager to RenderFrameHostReceiverSet.
3072019
* chore: bump chromium in DEPS to 95.0.4612.5
* chore: disable v8 oilpan
* [Compiler] Remove untrusted code mitigations.
3045704
* Remove most FTP logic from services/network.
3076119
* Rename scale_factor.h -> resource_scale_factor.h
3057113
* [GURL -> SiteForCookies] extensions/
3100825
* breadcrumbs: add desktop entry point
3021746
* Move args_ to private in ExtensionFunction
3076261
* chore: iwyu
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
* Disable kDesktopCaptureMacV2
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.
3039323
* Convert ExtensionFrameHost to RenderFrameHostReceiverSet.
3063358
* Convert PDFWebContentsHelper to RenderFrameHostReceiverSet.
3049751
* [Underscore Migration] Migrate ui/legacy
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().
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>
* 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