123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
- From: deepak1556 <[email protected]>
- 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 03af516b6c85523c51a70dac281dbd732c10ea7e..b6f91fbd15181dff4d8ddc4be2b66c2a5012f495 100644
- --- a/chrome/browser/media/webrtc/desktop_media_list.h
- +++ b/chrome/browser/media/webrtc/desktop_media_list.h
- @@ -96,7 +96,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 ac1e7854dc9ae629a499fac7626ec456e18c7867..087da9bbfb9081b94ca8ea8d245871dc3601b1a7 100644
- --- a/chrome/browser/media/webrtc/desktop_media_list_base.cc
- +++ b/chrome/browser/media/webrtc/desktop_media_list_base.cc
- @@ -65,12 +65,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 9c77a2d5872cc340b7a237b896afea1dd3be2503..d06869ff78ec0d48e97c3aeb7ac86d4aa9d9b1ba 100644
- --- a/chrome/browser/media/webrtc/desktop_media_list_base.h
- +++ b/chrome/browser/media/webrtc/desktop_media_list_base.h
- @@ -38,7 +38,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 2bf801156b93305705914d3dcb7dcbbebd03c096..6ea87e4471ab64c838b705c64be6bc10d74b213e 100644
- --- a/chrome/browser/media/webrtc/fake_desktop_media_list.cc
- +++ b/chrome/browser/media/webrtc/fake_desktop_media_list.cc
- @@ -77,7 +77,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 1e4a652634fbde2ca9a256baca840bbc5a0e001f..546f5bc3a2f79035f0eec196d9e704b849992a6f 100644
- --- a/chrome/browser/media/webrtc/fake_desktop_media_list.h
- +++ b/chrome/browser/media/webrtc/fake_desktop_media_list.h
- @@ -32,7 +32,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 6d8c9d940bb4488ffedc1eb8c543c065bb3953c9..2026b926eee56f6b235963b23ab86b2743eaed90 100644
- --- a/chrome/browser/media/webrtc/native_desktop_media_list.cc
- +++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc
- @@ -18,7 +18,7 @@
- #include "build/build_config.h"
- #include "build/chromeos_buildflags.h"
- #include "chrome/browser/media/webrtc/desktop_media_list.h"
- -#include "chrome/grit/generated_resources.h"
- +#include "electron/grit/electron_resources.h"
- #include "content/public/browser/browser_task_traits.h"
- #include "content/public/browser/browser_thread.h"
- #include "content/public/common/content_features.h"
- @@ -127,8 +127,9 @@ BOOL CALLBACK AllHwndCollector(HWND hwnd, LPARAM param) {
- #endif // BUILDFLAG(IS_WIN)
-
- #if BUILDFLAG(IS_MAC)
- +// Refs https://github.com/electron/electron/pull/30507
- const base::Feature kWindowCaptureMacV2{"WindowCaptureMacV2",
- - base::FEATURE_ENABLED_BY_DEFAULT};
- + base::FEATURE_DISABLED_BY_DEFAULT};
- #endif
-
- } // namespace
- @@ -415,6 +416,9 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() {
- FROM_HERE,
- base::BindOnce(&NativeDesktopMediaList::UpdateNativeThumbnailsFinished,
- media_list_));
- +
- + // This call is necessary to release underlying OS screen capture mechanisms.
- + capturer_.reset();
- }
-
- void NativeDesktopMediaList::Worker::OnCaptureResult(
- @@ -628,6 +632,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();
- }
- }
-
|