Milan Burda
09190085c0
refactor: add gin_helper::Dictionary::CreateEmpty() helper ( #39547 )
2023-08-21 10:43:41 +09:00
Athul Iddya
fa5b1be6f3
fix: delete desktop capturers when they're not needed ( #39194 )
...
* fix: delete desktop capturers when they're not needed
Delete desktop capturer objects by resetting the DesktopMediaList
objects that own them after the sources have been collected. Capturers
that are not delegated are already being reset via a patch on
NativeDesktopMediaList. That is not safe for delegated capturers as
thumbnail generation depends on user events. Deleting the
DesktopMediaList operation is safe for all capturers and releases OS
capture resources as soon as possible.
* fix: add a patch to clean up PipeWire resources
Adding a patch to workaround a Chromium issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=1467060
The patch can be removed when the issue is resolved.
2023-07-26 10:40:19 +02:00
Athul Iddya
9cd5de7588
fix: use generic capturer to list both screens and windows when possible ( #39111 )
...
Screensharing with PipeWire via XDG Desktop Portal requires explicit
user permission via permission dialogs. Chromium has separate tabs for
screens and windows and thus its portal implementation requests
permissions separately for each. However, the screencast portal has no
such limitation and supports both screens and windows in a single
request.
WebRTC now supports this type of capture in a new method called
called `CreateGenericCapturer`. The `desktopCapturer` implementation has
been modified to use it. Additionally, Chromium has been patched to use
same generic capturer to ensure that the source IDs remain valid for
`getUserMedia`.
2023-07-21 16:03:01 -07:00
Athul Iddya
905e41bbdd
fix: use StartUpdating method for PipeWire capturer ( #38833 )
...
* fix: use StartUpdating method for PipeWire capturer
Fixed a crash related to PipeWire capturer by adapting to Chromium's
interface changes. Chromium expects a call to
`NativeDesktopMediaList::StartUpdating` with an implementation of
`DesktopMediaListObserver` for delegated capturers like PipeWire. This
interface allows listening to user permission events and listing
sources only after the user has made a choice on the permission dialog.
The interface has been implemented by an inner class to allow listening
to screen and window capture permissions concurrently using two
instances of the class. A patch that was resetting the capturer on the
first refresh has been changed to exclude PipeWire. PipeWire capturer
object will follow the lifecycle of `NativeDesktopMediaList`, as is the
case in Chromium.
Fixes #37463
* fix: wait for thumbnails from PipeWire when necessary
The PipeWire stream starts after the dialog is dismissed. If the sources
are listed immediately afterwards, the thumbnail may not have been
generated by that time. Explicitly wait for both thumbnail generation
and a selection on the source dialog before listing sources.
2023-07-11 10:21:11 +02:00
David Sanders
08593fd2bd
chore: fix clang-tidy warnings ( #38079 )
...
* chore: fix clang-tidy warnings
* refactor: avoid need for NOLINTNEXTLINE
2023-04-26 10:09:54 -04:00
Keeley Hammond
77bd80dfb2
fix: fallback to X11 capturer if pipewire fails on Wayland ( #37511 )
...
* fix: fallback to x11 desktop capturer on Wayland
* fix: sanitize window/screen capturer inputs
* chore: clean up patch description
2023-03-07 13:59:06 -08:00
Milan Burda
35a9e67dba
chore: rename built-in modules to bindings to match naming update in node ( #37182 )
2023-02-09 10:31:38 +09:00
electron-roller[bot]
f2c341b655
chore: bump chromium to 108.0.5355.0 (main) ( #35900 )
...
* chore: bump chromium in DEPS to 108.0.5339.0
* chore: bump chromium in DEPS to 108.0.5341.0
* chore: sync patch to unrelated upstream code shear
patches/chromium/network_service_allow_remote_certificate_verification_logic.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3927793
* chore: sync patch to unrelated upstream code shear
patches/chromium/printing.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3927793
* chore: sync patch to unrelated upstream code shear
patches/chromium/chore_add_electron_deps_to_gitignores.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3906023
* chore: refresh patches - `e patches all`
* chore: remove unused parameter from WillCreateURLLoaderRequestInterceptors
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3932218
* perf: avoid unique pointer round trip
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3913938
* refactor: Simplify entropy provider management.
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3901211
* fixup! perf: avoid unique pointer round trip
* fixup! perf: avoid unique pointer round trip
* refactor: update typeof FileSelectHelper::select_file_dialog_
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3930092
* fixup! fixup! perf: avoid unique pointer round trip
* chore: bump chromium in DEPS to 108.0.5343.0
* chore: update patches
* chore: bump chromium in DEPS to 108.0.5345.0
* chore: bump chromium in DEPS to 108.0.5347.0
* chore: bump chromium in DEPS to 108.0.5349.0
* chore: bump chromium in DEPS to 108.0.5351.0
* chore: bump chromium in DEPS to 108.0.5353.0
* chore: bump chromium in DEPS to 108.0.5355.0
* chore: update patches
* Refactor display::win::DisplayInfo to display::win::internal::DisplayInfo
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3929014
* Update proxy resolution to use NAK - Part 2
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3934016
* Disable PreconnectManager when the user disabled preloading.
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3928470
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3937183
* chore: update patches
* chore: update sysroot
* linux: Remove breakpad integration
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3764621
* chore: update comments
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: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
2022-10-17 10:22:24 -04:00
James Cash
998a0820d9
fix: set display_id in desktop capturer on Linux ( #33861 )
...
Previously, display_id was an empty string, pending Chrome support for
sharing individual screens. Now that this has been added, it is
desirable to have this property set correctly.
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2022-09-27 11:40:44 -04:00
David Sanders
5d120359f6
chore: used nested namespaces ( #34737 )
2022-06-29 12:55:47 -07:00
Jeremy Rose
d8a7219d07
chore: stop using v8::Locker everywhere ( #34078 )
2022-05-05 11:50:21 -07:00
electron-roller[bot]
28ada6ea8b
chore: bump chromium to 100.0.4857.0 (main) ( #32419 )
...
* chore: bump chromium in DEPS to 99.0.4819.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4824.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4827.0
* chore: update patches
* 3352511: PiP: Add inkdrop and pointer cursor to PiP window buttons
https://chromium-review.googlesource.com/c/chromium/src/+/3352511
* 3309164: webhid: Show FIDO devices in the chooser if allowed
https://chromium-review.googlesource.com/c/chromium/src/+/3309164
* 3297868: hid: Add experimental HIDDevice.forget()
https://chromium-review.googlesource.com/c/chromium/src/+/3297868
* 3362491: [Extensions] Move i18n API to //extensions
https://chromium-review.googlesource.com/c/chromium/src/+/3362491
* MCC Refactor step0: Allow embedders to register associated_interface binders with RenderFrameHostImpl::associated_registry_.
https://chromium-review.googlesource.com/c/chromium/src/+/3281481
* 3352616: [Gtk] Remove libgtk from the link-line
https://chromium-review.googlesource.com/c/chromium/src/+/3352616
* 3249211: Clear-Site-Data support for partitioned cookies
https://chromium-review.googlesource.com/c/chromium/src/+/3249211
* [Extensions][COIL] Use [allow|block]list in //extensions/common
https://chromium-review.googlesource.com/c/chromium/src/+/3372668
* Begin ScopedUserPrefUpdate migration to modern base::Value
https://chromium-review.googlesource.com/c/chromium/src/+/3376154
* [Code Health] Refactor PrefService GetDict + GetList to use base::Value
https://chromium-review.googlesource.com/c/chromium/src/+/3343526
* 3354997: [CodeHealth] Remove deprecated SetDictionary method
https://chromium-review.googlesource.com/c/chromium/src/+/3354997
* 3287323: Add LacrosPrefStore for lacros settings
https://chromium-review.googlesource.com/c/chromium/src/+/3287323
* 3365916: [PA] Clean up remaining lazy commit code
https://chromium-review.googlesource.com/c/chromium/src/+/3365916
* [MPArch] Target the external protocol error at the responsible frame.
https://chromium-review.googlesource.com/c/chromium/src/+/3011560
* Pass origin to RegisterNonNetworkSubresourceURLLoaderFactories
https://chromium-review.googlesource.com/c/chromium/src/+/3350608
* Linux: Send OSCrypt raw encryption key to the Network Service
https://chromium-review.googlesource.com/c/chromium/src/+/3320484
* [PlzServiceWorker] Remove remaining references to PlzServiceWorker.
https://chromium-review.googlesource.com/c/chromium/src/+/3359441
* chore: fixup for lint
* 3327621: Fix tablet mode detection for Win 11.
https://chromium-review.googlesource.com/c/chromium/src/+/3327621
* 3342428: ax_mac: move AXTextMarker conversion utils under ui umbrella
https://chromium-review.googlesource.com/c/chromium/src/+/3342428
* 3353974: Mac: Use base::Feature for overlay features
https://chromium-review.googlesource.com/c/chromium/src/+/3353974
* chore: bump chromium in DEPS to 99.0.4828.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4837.0
* chore: update patches
* chore: update patches
* 3379142: Drop FALLTHROUGH macro
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3379142
* 3381749: C++17: Allow use of std::map::try_emplace and std::map::insert_or_assign
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/3381749
* chore: bump chromium in DEPS to 99.0.4839.0
* chore: update patches
* chore: bump chromium in DEPS to 99.0.4840.0
* chore: bump chromium in DEPS to 99.0.4844.0
* 3395881: [api] Deprecate Local<v8::Context> v8::Object::CreationContext()
Ref: https://chromium-review.googlesource.com/c/v8/v8/+/3395881
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4845.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4847.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4849.0
* chore: update patches
* chore: bump chromium in DEPS to 100.0.4851.0
* chore: bump chromium in DEPS to 100.0.4853.0
* update patches
* chore: update patches
* update patches
* 3383599: Fonts Access: Remove prototype that uses a font picker.
https://chromium-review.googlesource.com/c/chromium/src/+/3383599
* 3404768: Remove ALLOW_UNUSED macros
https://chromium-review.googlesource.com/c/chromium/src/+/3404768
* 3374762: Remove ignore_result.h
https://chromium-review.googlesource.com/c/chromium/src/+/3374762
* 3399305: [unseasoned-pdf] Apply proper frame offsets for touch selections
https://chromium-review.googlesource.com/c/chromium/src/+/3399305
* 3402210: [Extensions] Don't trigger unload event for already unloaded extension
https://chromium-review.googlesource.com/c/chromium/src/+/3402210
* 3410912: Combine URLLoaderClient OnReceiveResponse and OnStartLoadingResponseBody.
https://chromium-review.googlesource.com/c/chromium/src/+/3410912
* 3370428: Make the AuthSchemes policy support dynamic refresh
https://chromium-review.googlesource.com/c/chromium/src/+/3370428
* 3407603: Finish ScopedUserPrefUpdate migration to modern base::Value
https://chromium-review.googlesource.com/c/chromium/src/+/3407603
* 3378352: ozone/x11: move code from //ui/p/x11 to //ui/ozone/p/x11
https://chromium-review.googlesource.com/c/chromium/src/+/3378352
* 3370810: Delete chrome/service, AKA the Cloud Print service process.
https://chromium-review.googlesource.com/c/chromium/src/+/3370810
* chore: bump chromium in DEPS to 100.0.4855.0
* chore: update patches
* fixup! 3370810: Delete chrome/service, AKA the Cloud Print service process.
* revert 3348007 to fix windows build
* 3318572: [Code health] Fix gn check errors in //extensions/browser:*
https://chromium-review.googlesource.com/c/chromium/src/+/3318572
* fix printing.patch
* fix iwyu issue
* 3408515: win: Make ShorcutOperation an enum class and modernize names
https://chromium-review.googlesource.com/c/chromium/src/+/3408515
* 3388333: [UIA] Remove dead code accessibility_misc_utils.h/cc
https://chromium-review.googlesource.com/c/chromium/src/+/3388333
* fix windows build? i hope
* patch gn visibility of //ui/ozone/platform/x11
* missing include base/logging.h
* use BUILDFLAG for USE_NSS_CERTS
https://chromium-review.googlesource.com/c/chromium/src/+/3379123
* defined(OS_*) ==> BUILDFLAG(IS_*)
https://bugs.chromium.org/p/chromium/issues/detail?id=1234043
* fixup! 3404768: Remove ALLOW_UNUSED macros
* another attempt to fix windows build
* temporarily disable the custom scheme service worker test
https://github.com/electron/electron/issues/32664
* fix loading mv3 extensions
not sure what cl broke this unfort.
* fixup! 3404768: Remove ALLOW_UNUSED macros
* patch nan
https://chromium-review.googlesource.com/c/v8/v8/+/3395880
* fix node test
* fix nullptr in FindPdfFrame
* patch perfetto to fix build issue on win-ia32
bc44c3c753
* fix build for linux-x64-testing-no-run-as-node
* fix patch
* skip <webview>.capturePage() test
https://github.com/electron/electron/issues/32705
* test: fix failing tests of focus/blur events of WebContents (#32711 )
* inherit stdio from app module test child processes
this prevents them from timing out due to full stdout buffers
* test to see if we can get better logs on windows ci
* try again for appveyor log things
* skip contentTracing tests on ia32
* ci: disable gpu compositing
* drop applied patch
* fix merge fail
* Revert "ci: disable gpu compositing"
This reverts commit 0344129fcb19ea3e87e06c1110d751f22eba3fec.
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: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: VerteDinde <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
2022-02-09 18:58:52 -08:00
Jeremy Rose
1dcb8a370e
refactor: simplify desktop_capturer patch ( #30685 )
2021-09-03 16:37:36 -07:00
Jeremy Rose
39e3576c48
Merge remote-tracking branch 'origin/master' into roller/chromium/master
2021-03-23 11:14:58 -07:00
Samuel Maddock
4057e6b56e
fix: DesktopCapturer gc'd prior to capture completion ( #28273 )
...
desktopCapture.getSources() returns a promise which should resolve
when capturing finishes. Internally it creates an instance of
DesktopCapturer which is responsible for resolving or rejecting
the promise.
Between the time DesktopCapturer starts capturing frames and when
it finishes, it's possible for its handle to be GC'd leading to
it never resolving.
These changes pin the instance of DesktopCapturer until it either
finishes or errors.
fixes #25595
2021-03-18 13:43:35 -07:00
Samuel Attard
4e02d9407a
refactor: DesktopMediaList::Type replaces content::DesktopMediaType_*
...
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2700637
2021-03-05 16:46:44 -08:00
Jeremy Rose
9f4a097e03
feat: remove getMediaSourceIdForWebContents() ( #25414 )
...
This reverts commit 204f001c5d
.
2020-09-14 10:38:05 -07:00
Electron Bot
8798571a77
chore: bump chromium to 0e4ca9c0a63d7a39bd910997ad4c6 (master) ( #24687 )
...
* chore: bump chromium in DEPS to 1f1c4d91f6eaa4a033ec8f499d63a0717f79a42a
* viz: Do not apply white level scaling for RGBA fp16 HDR video
https://chromium-review.googlesource.com/c/chromium/src/+/2296006
* Move WebPreferences to WebContents
https://chromium-review.googlesource.com/c/chromium/src/+/2263635
* Fix missing WeakPtr check in PreconnectManager
https://chromium-review.googlesource.com/c/chromium/src/+/2309029
* Fixup swiftshader roll revision
* Update patch indices
* Move WebDeviceEmulationParams into common.
https://chromium-review.googlesource.com/c/chromium/src/+/2303356
* Move EnableDisableDeviceEmulation to blink mojom messages
https://chromium-review.googlesource.com/c/chromium/src/+/2303367
* PDF Viewer: Remove flag for two-up view
https://chromium-review.googlesource.com/c/chromium/src/+/2311130
* Add mojom definition for DeviceEmulationParams.
https://chromium-review.googlesource.com/c/chromium/src/+/2303491
* Remove ServiceWorkerContextWatcher from PaymentAppInstaller
https://chromium-review.googlesource.com/c/chromium/src/+/2291186
* Loader: Move transferrable_url_loader.mojom into blink's mojom directory
https://chromium-review.googlesource.com/c/chromium/src/+/2306123
* chore: bump chromium in DEPS to 4974f436479739025a90ebc2cc2e36d67ee1ac46
* mac: Work around Xcode 12b3 SDK bug
https://chromium-review.googlesource.com/c/chromium/src/+/2315078
* Reland Update core items for macOS Big Sur.
https://chromium-review.googlesource.com/c/chromium/src/+/2315162
* Update Swiftshader revision
* mac/arm64: When cross-building the snapshot, use page size of the target ISA instead of the host.
https://chromium-review.googlesource.com/c/v8/v8/+/2310575
* Update patch indices
* Rename {,Non}ClientView::CanClose() to OnWindowCloseRequested()
https://chromium-review.googlesource.com/c/chromium/src/+/2247838
* chore: bump chromium in DEPS to e9465d70d1dea539400f0fddad43358ea3c31d71
* chore: bump chromium in DEPS to bd5b71c5f20288eb26068a39ae6e0579566a51c5
* chore: bump chromium in DEPS to 786ee543048bd07d07c5ac50b7dbbdd6bdd8dcce
* chore: bump chromium in DEPS to 34eb6ecbf2c5894b648900bf771a2a29de204798
* chore: bump chromium in DEPS to 567ff038d68e3adb8116a01eec863cdf34d775f5
* chore: bump chromium in DEPS to 340b45c8d4ceb2dd61969fc34e1928d3c46db48c
* chore: update patches
* chore: base::DeleteFile with two params is removed
Should use base::DeleteFile and base::DeletePathRecursively when
appropriate
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2313376
* chore: add patch for NodePlatform::PostJob impl
* chore: update patches
* chore: extension file access is now instrumented
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2209995
* chore: implement SetWindowFrameInScreen in OSR RWHV
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2321409
* chore: NotifyUserActivation requires a type now
This is just for a histogram thing and therefore it does not matter what
we pass in
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2281303
* chore: update patches
* chore: bump chromium in DEPS to cd570e6dd3dcb84463ac252b04e92ceb02d8400c
* chore: update patches
* chore: bump chromium in DEPS to 0187908a31866992b90c59719ac1d016328f6ee0
* chore: bump chromium in DEPS to 3c9df38c508f3dba26a75248beed4882ddfb98e9
* chore: bump chromium in DEPS to 1a47d3b9cee710bd3c958c4f2d8b205710df9d50
* chore: bump chromium in DEPS to baac93040d96abdab72d46dd034c60f86e108702
* chore: bump chromium in DEPS to 13836145f97299e636491de38064b78861c4fb2e
* update patches
* change OS_MACOSX -> OS_MAC
Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=1105907
* patch: add header for ToExecutionContext in WebMessagePortConverter
* chore: bump chromium in DEPS to 91ab9b6ac5d04dc034a03ad847fbfa8261328c2b
* update patches
* NeedToFireBeforeUnloadOrUnload -> NeedToFireBeforeUnloadOrUnloadEvents
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2288711
* chore: bump chromium in DEPS to 290deb11f0e30cb1382fd8f8793d340560283c23
* update patches
* add dragdrop header for autofill popup
* int -> x11::Time
* patch out accessibility private API use
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2330812
* remove usage of XEvent
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2317767
* trigger recalculation of WebPreferences before renderer initialization
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2263635
* chore: bump chromium in DEPS to 6bdb484583b99c96ef3388d0c2184326581b2d5a
* chore: bump chromium in DEPS to 1eb2a79cde04fd5c8ae51b4d813e6521635269e5
* chore: bump chromium in DEPS to 3dc8e3c0f400e4ca9c0a63d7a39bd910997ad4c6
* chore: update patches
* fixup! trigger recalculation of WebPreferences before renderer initialization
* views: Make MenuButton and RadioButton default constructible
https://chromium-review.googlesource.com/c/chromium/src/+/2339586
* chore: fix code style
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
Co-authored-by: Andy Locascio <andy@slack-corp.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
2020-08-12 11:33:58 -07:00
Jeremy Rose
45551f6bf2
refactor: WebContents::From returns pointer ( #24605 )
2020-07-16 16:16:05 -07:00
Shelley Vohr
61a05caa78
refactor: remove uses of v8::Isolate::GetCurrent ( #24179 )
2020-06-22 09:35:24 -07:00
Jeremy Judeaux
204f001c5d
feat: add desktopCapturer.getMediaSourceIdForWebContents() to get stream source id from web contents ( #22701 )
...
* feat: add desktopCapturer.getMediaSourceIdForWebContents() to get stream source id from web contents
* Cleanup from #22701 PR comments
2020-05-26 16:34:24 -04:00
Milan Burda
85fae67966
perf: use type-utils for desktopCapturer.getSources() result serialization ( #23549 )
2020-05-13 19:05:53 +02:00
Jeremy Apthorp
6159066c26
refactor: ginify Menu ( #22916 )
2020-04-02 16:07:56 -07:00
Jeremy Apthorp
a824e12275
refactor: ginify desktopCapturer ( #22746 )
2020-03-19 11:35:11 -07:00
Jeremy Apthorp
602913cb4c
chore: rename node bindings atom => electron ( #22176 )
2020-02-14 06:25:39 -05:00
Jeremy Apthorp
d9321f4df7
chore: rename atom -> electron ( #21986 )
2020-02-04 12:19:40 -08:00