XDG Desktop Portal provides restore tokens to restore a previously
selected PipeWire stream instead of prompting the user again. This
restore token is single use only and it has to be replaced when the
stream is completed/stopped.
BaseCapturerPipewire maintains two source IDs: one is initialized by
the constructor for new sources (source_id_) and another is for
capturing previously selected sources (selected_source_id_). The
restore token was always being stored under `source_id_`, even if the
capture was ongoing for `selected_source_id_`. This prevents a stream
from being restored more than once. Fix that by storing the restore
token under the selected source ID if it exists.
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Athul Iddya <athul@iddya.com>
fix: capturePage for hidden windows on Windows/Linux
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
fix: crash when calling non-reentrant function in loadURL
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
test: fix "crashed event does not crash main process when destroying WebContents in it" (#40135)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Milan Burda <milan.burda@gmail.com>
fix: toggling devtools while minimized on Windows
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Propagate layout call to all children of InspectableWebContentsViewViews.
When BrowserView bounds are set from js, those might not trigger layout
immediately, sometimes propagating InvalidateLayout call to parent.
View is marked as needing layout, expecting to receive it from parent on
next layout call. The problem is that BrowserView's view is added as child
of InspectableWebContentsViews which does not call setBounds (which
would trigger layout) on all of it's children when doing it's layout,
so it skips propagating Layout call to its children BrowserViews views,
even though those were marked as needing layout.
Call base class View::Layout which will iterate over views' children
and call Layout on those that were marked as needing them.
Fixes#39993.
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Marek Haranczyk <marek@openfin.co>
chore: add deprecated app.runningUnderRosettaTranslation to breaking-changes.md
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Milan Burda <milan.burda@gmail.com>
refactor: use type enum in file stats for asar archive (#39889)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Milan Burda <milan.burda@gmail.com>
fix: app.runningUnderARM64Translation() always returning true on ARM64
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Milan Burda <milan.burda@gmail.com>
* build: use afs on aks instead of circle cache (#39881)
* build: use afs on aks instead of circle cache
* build: do not use aks logic on linux hosts checking out for macOS
* build: fix gn-check could-be-aks
* build: sigh
* build: no ls mnt
* build: keep build alive while debugging
* build: make debuggable
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* build: also update node build
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* fix: check PipeWire init before creating generic capturer
Check if PipeWire can be initialized before creating generic capturer.
This harmonizes the conditions with the ones used in Linux
implementations of DesktopCapturer::CreateRawScreenCapturer and
DesktopCapturer::CreateRawWindowCapturer.
Co-authored-by: Athul Iddya <athul@iddya.com>
* chore: update patches
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Athul Iddya <athul@iddya.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
* chore: bump chromium in DEPS to 116.0.5845.190
* chore: 4869108: handle absolute and relative gn imports in autoninja
https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4869108
(cherry picked from commit d94c7720ba)
* chore: set GOMA_DIR for autoninja
(cherry picked from commit 94f24bde4d)
* Revert "chore: 4869108: handle absolute and relative gn imports in autoninja"
This reverts commit 8b567d7d2c.
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* build: use aks backed runners for linux builds (#39403)
* build: test aks runner
* build: stress test
* build: use super-large nodes for publish jobs
* build: try using aks for everything...
* build: shared host not great
* build: clean up
* build: apparently tests dont run in kube infra?
* build: do not change test size
* ci: fixup known hosts for linux publish (#39437)
* ci: fixup known hosts for linux publish
* build: use 2023 known hosts
* build: use rebuilt docker image
* Revert "build: use rebuilt docker image"
This reverts commit f9506a9cc0.
---------
Co-authored-by: Samuel Attard <marshallofsound@electronjs.org>
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* fix: restore flag that allowed websockets to not be backgrounded
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* chore: update patches
* chore: update patches
---------
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>