9b0409f7c9
* chore: bump chromium in DEPS to 125.0.6421.0 * chore: bump chromium in DEPS to 125.0.6422.0 * Add ENABLE_BASE_TRACING flags for compatibility with enable_base_tracing = false on Windows https://chromium-review.googlesource.com/c/chromium/src/+/5434658 * chore: update patches * fixup: Add ENABLE_BASE_TRACING flags for compatibility with enable_base_tracing = false on Windows * chore: bump chromium in DEPS to 126.0.6423.0 * chore: update patches * 5426599: Next generation control of unsafe-buffers-usage plugin https://chromium-review.googlesource.com/c/chromium/src/+/5426599 * chore: bump chromium in DEPS to 126.0.6425.0 * chore: update patches * Roll clang+rust llvmorg-19-init-7229-g315c88c5-2 : llvmorg-19-init-8091-gab037c4f-1 / ceab6128fa48a616bfd3e3adf4bc80133b8ee223-1 : ab71ee7a9214c2793108a41efb065aa77aeb7326-1 https://chromium-review.googlesource.com/c/chromium/src/+/5444328 Also see https://issues.chromium.org/issues/332931387 * 5445074: [Views AX] Move AXEventNotificationDetails to ui/accessibility/ https://chromium-review.googlesource.com/c/chromium/src/+/5445074 Also 5455993: [Views AX] Rename AXEventNotificationDetails to AXUpdatesAndEvents | https://chromium-review.googlesource.com/c/chromium/src/+/5455993 * Pass IsolationInfo to ContentBrowserClient::WillCreateURLLoaderFactory() https://chromium-review.googlesource.com/c/chromium/src/+/5405301 * chore: bump chromium in DEPS to 126.0.6427.0 * chore: update patches * chore: remove no longer needed patch perfetto is now turned on so this patch is no longer needed. * chore: bump chromium in DEPS to 126.0.6429.0 * chore: bump chromium in DEPS to 126.0.6431.0 * chore: bump chromium in DEPS to 126.0.6433.0 * 5466654: Do not create a console if logging to a handle https://chromium-review.googlesource.com/c/chromium/src/+/5466654 * chore: fixup patch indices * Address Linux NonClientFrameView Changes - https://chromium-review.googlesource.com/c/chromium/src/+/5180720 - https://chromium-review.googlesource.com/c/chromium/src/+/5367794 * chore: bump chromium in DEPS to 126.0.6435.0 * chore: bump chromium in DEPS to 126.0.6437.0 * chore: update patches * chore: bump chromium in DEPS to 126.0.6439.0 * chore: bump chromium in DEPS to 126.0.6441.0 * 5477689: components/crash/content/tools: Format with yapf | https://chromium-review.googlesource.com/c/chromium/src/+/5477689 * 5485006: Remove enable_print_content_analysis GN flag | https://chromium-review.googlesource.com/c/chromium/src/+/5485006 * chore: update chromium patches * chore: bump chromium in DEPS to 126.0.6443.0 * 5465608: Convert DCHECKs near RenderWidgetHost, DelegatedFrameHost to CHECK | https://chromium-review.googlesource.com/c/chromium/src/+/5465608 * 5492605: Migrate TODOs referencing old crbug IDs to the new issue tracker IDs | https://chromium-review.googlesource.com/c/chromium/src/+/5492605 * chore: update patches * chore: bump chromium in DEPS to 126.0.6445.0 * chore: update patches * 5468588: Fullscreen: Encapsulate ExclusiveAccessBubble params in a struct | https://chromium-review.googlesource.com/c/chromium/src/+/5468588 * fixup! 5485006: Remove enable_print_content_analysis GN flag | https://chromium-review.googlesource.com/c/chromium/src/+/5485006 * 5461340: `size_t` in `mojo::DataPipe[Consumer|Producer]Handle`: /components. | https://chromium-review.googlesource.com/c/chromium/src/+/5461340 * 5480213: Add an EvictIds struct to FrameEvictorClient | https://chromium-review.googlesource.com/c/chromium/src/+/5480213 * 4341506: [api] Deprecate Isolate::IdleNotificationDeadline | https://chromium-review.googlesource.com/c/v8/v8/+/4341506 * 5300826: [v8-tasks] Add source location to v8::TaskRunner, step 4/4. | https://chromium-review.googlesource.com/c/v8/v8/+/5300826 * partially revert is_newly_created to allow for browser initiated about:blank loads * add dep on app_launch_prefetch Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5420149 * install sysroots from electron not from chrome We should add a new var upstream for `download_sysroots` so that we can skip downloading chromes at all. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5462469 * refactor: make UpdateFrameHints an override Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5473548 * fix ppapi * refactor: update namespace for pwm switches Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5444617 * 5459367: WebSQL: Restrict WebSQL service creation to Android only | https://chromium-review.googlesource.com/c/chromium/src/+/5459367 * 5455853: Revert "[Clipboard] Don't add meta charset tag for async write() method on Mac." | https://chromium-review.googlesource.com/c/chromium/src/+/5455853 * fixup! refactor: update namespace for pwm switches edd9e26 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5444617 * 5147611: [heap] Add checks for ensuring position info slow path is not used in heap snapshot | https://chromium-review.googlesource.com/c/v8/v8/+/5147611 * fixup! 5412666: [heap] Also avoid heap allocation for allocation tracked functions | https://chromium-review.googlesource.com/c/v8/v8/+/5412666 * chore: add websql removal to breaking-changes.md --------- 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: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: VerteDinde <vertedinde@electronjs.org> Co-authored-by: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: Samuel Attard <marshallofsound@electronjs.org>
130 lines
6.5 KiB
Diff
130 lines
6.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: deepak1556 <hop2deep@gmail.com>
|
|
Date: Thu, 18 Oct 2018 17:07:01 -0700
|
|
Subject: desktop_media_list.patch
|
|
|
|
* Use our grit resources instead of the chrome ones.
|
|
* Disabled WindowCaptureMacV2 feature for https://github.com/electron/electron/pull/30507
|
|
* Ensure "OnRefreshComplete()" even if there are no items in the list
|
|
|
|
diff --git a/chrome/browser/media/webrtc/desktop_media_list.h b/chrome/browser/media/webrtc/desktop_media_list.h
|
|
index 904c3a99c7d9ab7ffccf2de596950438b2225502..7a879b2f5332f98927c5e3858dd31c5de169e5ce 100644
|
|
--- a/chrome/browser/media/webrtc/desktop_media_list.h
|
|
+++ b/chrome/browser/media/webrtc/desktop_media_list.h
|
|
@@ -107,7 +107,8 @@ class DesktopMediaList {
|
|
// once per DesktopMediaList instance. It should not be called after
|
|
// StartUpdating(), and StartUpdating() should not be called until |callback|
|
|
// has been called.
|
|
- virtual void Update(UpdateCallback callback) = 0;
|
|
+ virtual void Update(UpdateCallback callback,
|
|
+ bool refresh_thumbnails = false) = 0;
|
|
|
|
virtual int GetSourceCount() const = 0;
|
|
virtual const Source& GetSource(int index) const = 0;
|
|
diff --git a/chrome/browser/media/webrtc/desktop_media_list_base.cc b/chrome/browser/media/webrtc/desktop_media_list_base.cc
|
|
index 0389599ac786b6abd61ca921347fe12ddd5d0ee7..780927301744ea7312f230cec76a24a33d71f767 100644
|
|
--- a/chrome/browser/media/webrtc/desktop_media_list_base.cc
|
|
+++ b/chrome/browser/media/webrtc/desktop_media_list_base.cc
|
|
@@ -69,12 +69,12 @@ void DesktopMediaListBase::StartUpdating(DesktopMediaListObserver* observer) {
|
|
Refresh(true);
|
|
}
|
|
|
|
-void DesktopMediaListBase::Update(UpdateCallback callback) {
|
|
+void DesktopMediaListBase::Update(UpdateCallback callback, bool refresh_thumbnails) {
|
|
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
|
DCHECK(sources_.empty());
|
|
DCHECK(!refresh_callback_);
|
|
refresh_callback_ = std::move(callback);
|
|
- Refresh(false);
|
|
+ Refresh(refresh_thumbnails);
|
|
}
|
|
|
|
int DesktopMediaListBase::GetSourceCount() const {
|
|
diff --git a/chrome/browser/media/webrtc/desktop_media_list_base.h b/chrome/browser/media/webrtc/desktop_media_list_base.h
|
|
index 90928e07af384f145ce089ea7c4caabc40da460d..f11992ea8904ba68ccde9d392cc517bc31027b86 100644
|
|
--- a/chrome/browser/media/webrtc/desktop_media_list_base.h
|
|
+++ b/chrome/browser/media/webrtc/desktop_media_list_base.h
|
|
@@ -39,7 +39,7 @@ class DesktopMediaListBase : public DesktopMediaList {
|
|
void SetThumbnailSize(const gfx::Size& thumbnail_size) override;
|
|
void SetViewDialogWindowId(content::DesktopMediaID dialog_id) override;
|
|
void StartUpdating(DesktopMediaListObserver* observer) override;
|
|
- void Update(UpdateCallback callback) override;
|
|
+ void Update(UpdateCallback callback, bool refresh_thumbnails) override;
|
|
int GetSourceCount() const override;
|
|
const Source& GetSource(int index) const override;
|
|
DesktopMediaList::Type GetMediaListType() const override;
|
|
diff --git a/chrome/browser/media/webrtc/fake_desktop_media_list.cc b/chrome/browser/media/webrtc/fake_desktop_media_list.cc
|
|
index 16c21bb299683e7b45245701618527dd4c6769a0..43bbc94f68c455d33ab3fa1995d5e33d9eb87c9b 100644
|
|
--- a/chrome/browser/media/webrtc/fake_desktop_media_list.cc
|
|
+++ b/chrome/browser/media/webrtc/fake_desktop_media_list.cc
|
|
@@ -79,7 +79,8 @@ void FakeDesktopMediaList::StartUpdating(DesktopMediaListObserver* observer) {
|
|
thumbnail_ = gfx::ImageSkia::CreateFrom1xBitmap(bitmap);
|
|
}
|
|
|
|
-void FakeDesktopMediaList::Update(UpdateCallback callback) {
|
|
+void FakeDesktopMediaList::Update(UpdateCallback callback,
|
|
+ bool refresh_thumbnails) {
|
|
std::move(callback).Run();
|
|
}
|
|
|
|
diff --git a/chrome/browser/media/webrtc/fake_desktop_media_list.h b/chrome/browser/media/webrtc/fake_desktop_media_list.h
|
|
index afc2cf89299315cca68b50196c2377a7d474883d..52bfd487d501ef895915800b9ee83a5b6c945473 100644
|
|
--- a/chrome/browser/media/webrtc/fake_desktop_media_list.h
|
|
+++ b/chrome/browser/media/webrtc/fake_desktop_media_list.h
|
|
@@ -40,7 +40,8 @@ class FakeDesktopMediaList : public DesktopMediaList {
|
|
void SetThumbnailSize(const gfx::Size& thumbnail_size) override;
|
|
void SetViewDialogWindowId(content::DesktopMediaID dialog_id) override;
|
|
void StartUpdating(DesktopMediaListObserver* observer) override;
|
|
- void Update(UpdateCallback callback) override;
|
|
+ void Update(UpdateCallback callback,
|
|
+ bool refresh_thumbnails = false) override;
|
|
int GetSourceCount() const override;
|
|
const Source& GetSource(int index) const override;
|
|
DesktopMediaList::Type GetMediaListType() const override;
|
|
diff --git a/chrome/browser/media/webrtc/native_desktop_media_list.cc b/chrome/browser/media/webrtc/native_desktop_media_list.cc
|
|
index a3eabf92a33b15c7eaf04468f2f684b72890aafb..7a0390f2d86b334710dee16a54b9d43889d78211 100644
|
|
--- a/chrome/browser/media/webrtc/native_desktop_media_list.cc
|
|
+++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc
|
|
@@ -171,7 +171,7 @@ BOOL CALLBACK AllHwndCollector(HWND hwnd, LPARAM param) {
|
|
#if BUILDFLAG(IS_MAC)
|
|
BASE_FEATURE(kWindowCaptureMacV2,
|
|
"WindowCaptureMacV2",
|
|
- base::FEATURE_ENABLED_BY_DEFAULT);
|
|
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
|
#endif
|
|
|
|
content::DesktopMediaID::Type ConvertToDesktopMediaIDType(
|
|
@@ -356,7 +356,7 @@ class NativeDesktopMediaList::Worker
|
|
base::WeakPtr<NativeDesktopMediaList> media_list_;
|
|
|
|
DesktopMediaID::Type source_type_;
|
|
- const std::unique_ptr<ThumbnailCapturer> capturer_;
|
|
+ std::unique_ptr<ThumbnailCapturer> capturer_;
|
|
const ThumbnailCapturer::FrameDeliveryMethod frame_delivery_method_;
|
|
const bool add_current_process_windows_;
|
|
|
|
@@ -644,6 +644,12 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() {
|
|
FROM_HERE,
|
|
base::BindOnce(&NativeDesktopMediaList::UpdateNativeThumbnailsFinished,
|
|
media_list_));
|
|
+
|
|
+ // This call is necessary to release underlying OS screen capture mechanisms.
|
|
+ // Skip if the source list is delegated, as the source list window will be active.
|
|
+ if (!capturer_->GetDelegatedSourceListController()) {
|
|
+ capturer_.reset();
|
|
+ }
|
|
}
|
|
|
|
void NativeDesktopMediaList::Worker::OnCaptureResult(
|
|
@@ -1028,6 +1034,11 @@ void NativeDesktopMediaList::RefreshForVizFrameSinkWindows(
|
|
FROM_HERE, base::BindOnce(&Worker::RefreshThumbnails,
|
|
base::Unretained(worker_.get()),
|
|
std::move(native_ids), thumbnail_size_));
|
|
+ } else {
|
|
+#if defined(USE_AURA)
|
|
+ pending_native_thumbnail_capture_ = true;
|
|
+#endif
|
|
+ UpdateNativeThumbnailsFinished();
|
|
}
|
|
}
|
|
|