* chore: bump chromium in DEPS to 124.0.6315.0
* chore: update patches
* 5279678: Stream AIDA responses
5279678
* 5276439: Remove non_network_url_loader_factory_remotes_
5276439
* 5310165: Add DevTools API to show search results
5310165
* chore: bump chromium in DEPS to 124.0.6317.0
* chore: update patches
* Remove Setup.Install.CumulativeDiskUsage2 and supporting code
5314269
* browser: Make cmd line non-const in process singleton callback
5311256
* chore: bump chromium in DEPS to 124.0.6319.0
* chore: bump chromium in DEPS to 124.0.6321.0
* chore: bump chromium in DEPS to 124.0.6323.0
* 5318335: Roll src/third_party/boringssl/src 23824fa0f..4fe29ebc7
5318335
* 5318051: [CBE Watermarking] Hoist `watermark_view` to a member variable.
5318051
* chore: fixup patch indices
* 4946553: Delegate HID permission to Chrome App in webview
4946553
* 5310001: DevTools UI binding for reporting client events to AIDA
5310001
* [libc++] Refactor the predicate taking variant of `__cxx_atomic_wait`
* chore: fix browser_view patch harder
* 5293937: Reland "[gUM] Use preferred device if more than one is eligible"
5293937
* fix: filter {video|audio} devices by eligible device id
* 5267921: enable speak content under the pointer on PWA and WV2
5267921
* 5310195: heap: Remove Blink's GCTaskRunner
5310195
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* fix: disable background throttling also in the `viz::DisplayScheduler`
`viz::DisplayScheduler` is responsible for drawing and swapping frames
in the `DisplayScheduler::DrawAndSwap` which is called from the
`DisplayScheduler::AttemptDrawAndSwap` if the `DisplayScheduler::ShouldDraw`
returns true. `ShouldDraw` depends on the `DisplayScheduler` visibility
and when it is not visible then it returns false.
In order to keep producing frames, disabling `backgroundThrottling`
should also prevent changing `DisplayScheduler` visibility to false.
`DisplayScheduler` lives in the `ui::Compositor` where every
`electron::NativewWindow` has its own `Compositor`. `electron::NativewWindow`
may be host of the multiple `electron::api::WebContents` instances which may
have different `WebPreferences` settings. Therefore if at least one
of the `WebContents` requires disabling throttling then all other `WebContents`
using the same window will have it disabled in the `ui::Compositor`.
BREAKING CHANGE:
`backgroundThrottling` set to false will disable frames throttling
in the `BrowserWindow` for all `WebContents` displayed by it.
Close: [#31016](https://github.com/electron/electron/issues/31016)
* fixup! fix: disable background throttling also in the `viz::DisplayScheduler`
* fixup! fix: disable background throttling also in the `viz::DisplayScheduler`
* fixup! fix: disable background throttling also in the `viz::DisplayScheduler`
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: bump chromium in DEPS to 117.0.5846.0
* chore: update patches
* 4628901: Bump the macOS deployment target to 10.15
4628901
* 4593350: [Private Network Access] Trigger Permission Prompt
4593350
* 4631011: Remove unlaunched "InstallReplacementAndroidApp" Platform App APIs
4631011
* chore: disable API deprecation warnings in NSKeyedArchiver
* chore: update libcxx filenames
* chore: bump chromium in DEPS to 117.0.5848.2
* chore: update feat_add_set_theme_source_to_allow_apps_to.patch
Xref: 4629743
No manual changes; patch succeeded with fuzz
* chore: update process_singleton.patch
Xref: 4605398
Trivial manual patch adjustments to account for code shear.
* chore: remove electron::BrowserContext::GetMediaDeviceIDSalt()
Xref: 4608130
upstream tldr:
- content::BrowserContext::GetMediaDeviceIDSalt()
- content::ContentBrowserClient::ArePersistentMediaDeviceIDsAllowed()
+ content::ContentBrowserClient::GetMediaDeviceIDSalt()
This commit leaves ElectronBrowserContext::GetMediaDeviceIDSalt() in
place (now non-virtual, non-override). It is now called by the new
function ElectronBrowserClient::GetMediaDeviceIDSalt().
As a followup, we might want to consider using the new upstream
media_device_salt::MediaDeviceSaltService and removing our
electron::MediaDeviceIDSalt code. CC @MarshallOfSound for 2nd
opinion since he has done the most work on MediaDeviceIDSalt and
may have more context.
* chore: fix iwyu breakage
Xref: 4629624
electron_browser_main_parts.cc uses ui::ColorProviderManager but didn't
include it. Things worked anyway because we got it indirectly from
content/public/browser/web_contents.h until 4629624.
* chore: remove call to base::mac::IsAtLeastOS10_14
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove obsolete API_AVAILABLE calls in IAP
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove obsolete API_AVAILABLE calls in electron_application_delegate
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove broken-before-macOS-10.15 patch in mas_avoid_usage_of_private_macos_apis.patch
Upstream has bumped minimum to macOS 10.15
* chore: remove @available(macOS 10.14) check
Upstream minimum requirement for macOS is now 10.15
* chore: update patches
* chore: bump chromium in DEPS to 117.0.5850.0
* chore: update patches
* chore: bump chromium in DEPS to 117.0.5852.0
* chore: update patches
* Move two params from NetworkContextParams to NetworkContextFilePaths.
4615930
* WebUSB: Add exclusionFilters to USBRequestDeviceOptions
4614682
* Convert /chrome/browser/ui to use ARC
4615920
* fixup! Bump the macOS deployment target to 10.15
* fixup! Bump the macOS deployment target to 10.15
* chore: update libcxx files
* win: Remove 10Glass from Windows10Glass function and var names
4641314
* chore: revert 392e5f43 from chromium
* Add an ExecutionContext to ScriptState
4609446
* fixup! Add an ExecutionContext to ScriptState
* chore: fix header
* Revert "chore: revert 392e5f43 from chromium"
This reverts commit b7f782943e4ce83cae8cd35780d8d3618cf0772c.
* fix: return correct min/max sizes in WinFrameView
* fixup! Revert chore: revert 392e5f43 from chromium
* fixup! Add an ExecutionContext to ScriptState
* Revert "fixup! Revert chore: revert 392e5f43 from chromium"
This reverts commit 7e2c7281abfc4f309255339fdba073d90a9ae3eb.
* Revert "fix: return correct min/max sizes in WinFrameView"
This reverts commit 3f418b1ab5155686730e087ae6cabe4a21b4bb61.
* Revert "Revert "chore: revert 392e5f43 from chromium""
This reverts commit 56296d8b7c434147e032e3c3b08c0e371b6c27ba.
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* Add MDN link to web-request-filter.md
When I was using the Electron docs I wanted to know how to use [webRequest.onBeforeSendHeaders](https://www.electronjs.org/docs/latest/api/web-request#webrequestonbeforesendheadersfilter-listener) but I was unable to correctly guess the correct format for the `WebRequestFilter` URL strings, and there was no explanation in the Electron docs. Eventually I googled it and found the MDN article which helped me.
* Update docs/api/structures/web-request-filter.md
Co-authored-by: Black-Hole <158blackhole@gmail.com>
* Update docs/api/structures/web-request-filter.md
Co-authored-by: Black-Hole <158blackhole@gmail.com>
Co-authored-by: Black-Hole <158blackhole@gmail.com>
* docs: fix broken links
* docs: change link to navigator.getUserMedia
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* docs: fix link in examples.md
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* feat: add support for WebUSB
* fixup for gn check
* fixup gn check on Windows
* Apply review feedback
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: address review feedback
* chore: removed unneeded code
* Migrate non-default ScopedObservation<> instantiations to ScopedObservationTraits<> in chrome/browser/
4016595
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: bump chromium in DEPS to 98.0.4726.0
* 3292117: Remove unneeded base/compiler_specific.h includes in //chrome.
3292117
* 3289198: Enables calculating line, word and sentence boundaries on the browser
3289198
* 3276176: Remove expired gdi-text-printing flag and associated code.
3276176
* 3240963: content: allow embedder to prevent locking scheme registry
3240963
* 3269899: Rename WebContentsImpl::GetFrameTree to GetPrimaryFrameTree
3269899
* chore: fixup patch indices
* 3276279: Enable -Wshadow by default for the "chromium code" config.
3276279
* 3279737: appcache: Remove WebPreference/WebSetting
3279737
* 3275564: [api] Advance API deprecation for APIs last marked in v9.6
3275564
* 3261873: Clean up WebScriptSource constructors
3261873
* 3279346: appcache: Remove ConsoleMessage appcache field
3279346
* 3264212: Move legacy file loading to legacy_test_runner
3264212
Both Persistence and UI have been removed from globals, but the issues they
seemed to be patching are no longer reproducible from what I can tell, and
so we can just delete these and re-evaluate if something surfaces.
* 3290415: x11: remove the USE_X11 define.
3290415
* chore: bump Chromium to 98.0.4728.0
* 3179530: Defer system calls in PrintingContext for OOP printing
3179530
* 3299445: Consolidate is_win conditionals in chrome/test/BUILD.gn.
3299445
* chore: update patch indices
* 3223975: Break PrintJobWorker OOP logic into separate class
3223975
* chore: bump chromium in DEPS to 98.0.4730.0
* 3279001: Remove support for font-family: -webkit-pictograph
3279001
* chore: fixup patch indices
* chore: bump chromium in DEPS to 98.0.4732.0
* chore: update patches
* chore: bump chromium in DEPS to 98.0.4734.0
* chore: bump chromium in DEPS to 98.0.4736.0
* chore: update patches
* chore: update printing patch for miracle ptr
* chore: add noexcept to fix clang error
* chore: bump chromium in DEPS to 98.0.4738.0
* chore: update patches
* chore: bump chromium in DEPS to 98.0.4740.0
* chore: bump chromium in DEPS to 98.0.4742.0
* chore: bump chromium in DEPS to 98.0.4744.0
* chore: bump chromium in DEPS to 98.0.4746.0
* chore: bump chromium in DEPS to 98.0.4748.0
* chore: bump chromium in DEPS to 98.0.4750.0
* chore: update patches
* 3293841: Remove File Handling permissions code
Ref: 3293841
* chore: update patches
3311700: Move the PpapiPluginSandboxedProcessLauncherDelegate | 3311700
* 3289260: [CodeHealth]: Remove uses of Notification Service
Ref: 3289260
* 3301600: Disable scripted print in fenced frames
Ref: 3301600
* chore: add missing thread_restrictions headers
* 3305132: Rewrite most `Foo* field_` pointer fields to `raw_ptr<Foo> field_`.
Ref: 3305132
* fix: add ppapi_sandbox header for linux
3311700: Move the PpapiPluginSandboxedProcessLauncherDelegate | 3311700
* chore: manually bump chromium in DEPS to 98.0.4757.0
* chore: update patches
* 3321044: Remove DictionaryValue::Clear()
Ref: 3321044
* chore: update printing.patch
Refs:
- 3304556: [code health] Remove notification observation from PrintJob. | 3304556
- 3305095: [code health] Remove NotificationService from PrintViewManagerBase. | 3305095
* build: add v8-embedder-state headers to GN patch
* chore: bump chromium in DEPS to 99.0.4767.0
* chore: update patches
* chore: rename CookiePartitionKeychain
...to CookiePartitionKeyCollection
* chore: update video consumers
* refactor: use newer base::Value API
* 3232598: Convert net::DnsOverHttpsServerConfig into a class | 3232598
* 3327865: Remove the default WebContentsUserData ctor. | 3327865
* 3302814: DevTools: Add getPreference binding | 3302814
* 3301474: [tq][runtime] Use build flags for JS context promise hooks | 3301474
* oops 😵💫
* 3272411: Reland "base/allocator: Enable PartitionAlloc-Everywhere on macOS" | 3272411
build: turn PartitionAlloc back off on mac for now
* fix: WCO method got renamed
* 3344749: Revert "Stop using NSRunLoop in renderer process"
3344749
* 3288746: [serial] Fix BluetoothSerialDeviceEnumerator threading issues.
3288746
* Revert "3288746: [serial] Fix BluetoothSerialDeviceEnumerator threading issues."
This reverts commit 5cc69f102e43ca72ac9ef45063711bcc7d849740.
* chore: disable serial device enumerator sequence dcheck
* fix: comment out line in DeviceService dtor
* fixup! 3279001: Remove support for font-family: -webkit-pictograph
* fixup! 3279346: appcache: Remove ConsoleMessage appcache field
* chore: update patches after rebase
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: VerteDinde <khammond@slack-corp.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* 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>
* chore: update ts parser for description comment fixes
* docs: strongly type the getUserDefault API
* spec: add getUserMedia type assertions to smoke run
* 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
* fix: reject task when description exceeds 260 characters
* Switched out wcslen() for size() [linear -> constant time]
* Included comment describing the need for the additional check
* Added information about character limit to documentation
* Added newline character to end of jump-list-category.md
* docs: correction meaning of DesktopCapturerSource.id
Corrected the meaning of the id string to match observed behavior
(verified on Windows 10 and Ubuntu).
* chore: adjust wordings
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>