![electron-roller[bot]](/assets/img/avatar_default.png)
* chore: bump chromium in DEPS to 133.0.6858.0 * chore: bump chromium in DEPS to 133.0.6860.0 * chore: update patches v8/revert_fastapi_remove_dynamic_overload_resolution.patch had some additions due to https://chromium-review.googlesource.com/c/v8/v8/+/6023139 * 6044060: Reland "Moves shared GN templates into //build/config/apple." https://chromium-review.googlesource.com/c/chromium/src/+/6044060 * Revert "6023139: [fastapi] Add support for attribute setters" https://chromium-review.googlesource.com/c/v8/v8/+/6023139 * Update printing.patch The removed include is present in the original source file now, just slightly before where it was being added. 6015430: Reduce platform-like buildflags in sandbox code Refs: https://chromium-review.googlesource.com/c/chromium/src/+/6015430 * 6039836: Migrate Command::IsMediaKey to be a member of ui::Accelerator https://chromium-review.googlesource.com/c/chromium/src/+/6039836 * 6038659: [CodeHealth] Clean up the feature ZstdContentEncoding https://chromium-review.googlesource.com/c/chromium/src/+/6038659 * chore: bump chromium in DEPS to 133.0.6862.0 * chore: update patches * 72747: crypto: switch to C++ https://boringssl-review.googlesource.com/c/boringssl/+/72747 * fixup! 72747: crypto: switch to C++ https://boringssl-review.googlesource.com/c/boringssl/+/72747 * chore: gen libc++ filenames * 6042601: [shared storage] Implement with_lock option for methods from response headers https://chromium-review.googlesource.com/c/chromium/src/+/6042601 * chore: bump chromium in DEPS to 133.0.6864.0 * chore: bump chromium in DEPS to 133.0.6866.0 * chore: bump chromium in DEPS to 133.0.6868.0 * chore: bump chromium in DEPS to 133.0.6870.0 * chore: bump chromium in DEPS to 133.0.6872.0 * chore: bump chromium in DEPS to 133.0.6874.0 * chore: bump chromium in DEPS to 133.0.6876.0 * 6039992: Fix false activation logic for context menu. | https://chromium-review.googlesource.com/c/chromium/src/+/6039992 * chore: update patches * chore: update patches * chore: bump chromium in DEPS to 133.0.6878.0 * chore: update patches * [Build] Organize //components/dbus into a single component Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6055280 * Merge //components/dbus/* into a single //components/dbus, which matches how most components are organized. This avoids having many small shared libraries which incurs unnecessary overhead. * Limit visibility of //components/dbus/* to //components/dbus * fixup! Update _LIBCPP_ABI_VERSION to always have a default value while keeping unstable false due to changes in llvm https://github.com/llvm/llvm-project/pull/112094 * 6040416: Let s know which widget the input came on. | https://chromium-review.googlesource.com/c/chromium/src/+/6040416 * 6056267: [MPArch guest view] Fix authentication for MPArch guests | https://chromium-review.googlesource.com/c/chromium/src/+/6056267 * make_span() is deprecated: https://issues.chromium.org/issues/341907909 * fixup: https://issues.chromium.org/issues/341907909 * chore: delete extra bracket from removing make_span commit * fixup: 6059305: Make WTF::UTF8ConversionMode a scoped enum | https://chromium-review.googlesource.com/c/chromium/src/+/6059305 * 6051058: CookieInclusionStatus: Remove ctors which bypass invariants | https://chromium-review.googlesource.com/c/chromium/src/+/6051058 * 6038981: Remove most remaining CHECK(false)s | https://chromium-review.googlesource.com/c/chromium/src/+/6038981 * build: use third_party/simdutf in Node.js * chore: node ./script/gen-libc++-filenames.js * chore: fix strict-cast conversion error in subspan() Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6044946 * chore: fix strict-cast conversion error in base::as_bytes() Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6044946 * chore: fix strict-cast conversion error in span.split_at() Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6044946 * chore: use shorthand target name * chore: better docs in build_add_public_config_simdutf_config.patch --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: clavin <clavin@electronjs.org> Co-authored-by: alice <alice@makenotion.com> Co-authored-by: Charles Kerr <charles@charleskerr.com>
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 6fb778093f57942faebbc6a68a92967826476674..57cad85973c5cfe3a19f80fd318ec46f085ad4d0 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 a82e0b1a7e999817c8ee420ceddeb7ca9ee78caf..e07f4ded61a7a64983da1b6d07315aee9684a148 100644
|
|
--- a/chrome/browser/media/webrtc/desktop_media_list_base.cc
|
|
+++ b/chrome/browser/media/webrtc/desktop_media_list_base.cc
|
|
@@ -74,12 +74,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 9368d56f2b434b1a7101f28908f070ad9908be7e..804eb2c7ede137b8c9d0cf43042ff7f20dad5b91 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 cea6af048e682e33b5d93e4a3bfb4072840ca4fe..1c98d2275fa73a9e105bbd8928e05b48a4a05c14 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 786c526588d81b8b5b1b5dd3760719a53e005995..f66b7d0b4dfcbb8ed3dde5a9ff463ae2c8818d27 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 43accd5c9c9af47185f7d71ae9adfb402537b1a7..0ac8e20073bd2db507e49200fd0b48f8535d666b 100644
|
|
--- a/chrome/browser/media/webrtc/native_desktop_media_list.cc
|
|
+++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc
|
|
@@ -176,7 +176,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(
|
|
@@ -363,7 +363,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_;
|
|
const bool auto_show_delegated_source_list_;
|
|
@@ -654,6 +654,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(
|
|
@@ -1058,6 +1064,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();
|
|
}
|
|
}
|
|
|