* chore: bump chromium in DEPS to 135.0.7021.0 * chore: bump chromium in DEPS to 135.0.7023.0 * chore: update patches * chore: gen-libc++-filenames.js * [Extensions] Add a BUILD.gn file for the chrome.system.display API. Refs https://chromium-review.googlesource.com/c/chromium/src/+/6227347 * chore: bump chromium in DEPS to 135.0.7025.0 * fixup! [Extensions] Add a BUILD.gn file for the chrome.system.display API. * [DevTools] Add support for automatic workspace folders. Refs https://chromium-review.googlesource.com/c/chromium/src/+/6275926 * Add UseCounter for potential PNA 2.0 breakage Refs https://chromium-review.googlesource.com/c/chromium/src/+/6259197 * Remove references to NavigationEntry/Controller in Zoom code. Refs https://chromium-review.googlesource.com/c/chromium/src/+/6258070 * chore: update patches * Allow DevTools to record UmaHistogramMediumTimes Refs https://chromium-review.googlesource.com/c/chromium/src/+/6183713 * chore: update patches * [gpu] Remove unnecessary media_buildflags include Refs https://chromium-review.googlesource.com/c/chromium/src/+/6286526 * chore: bump chromium in DEPS to 135.0.7027.0 * chore: update patches * Remove type alias Refs https://chromium-review.googlesource.com/c/chromium/src/+/6280957 * [Refactor] Make ExtensionRegistrar a browser keyed service. Refs https://chromium-review.googlesource.com/c/chromium/src/+/6285230 * Remove unused functions Refs https://chromium-review.googlesource.com/c/chromium/src/+/6278736 * chore: IWYU --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: deepak1556 <hop2deep@gmail.com>
		
			
				
	
	
		
			135 lines
		
	
	
	
		
			6.6 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
	
		
			6.6 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 bd2b565158f807d872d4c9205012b91fc37c2290..312882d656f9f6b3d3fd98128131cea63f818e0d 100644
 | 
						|
--- a/chrome/browser/media/webrtc/native_desktop_media_list.cc
 | 
						|
+++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc
 | 
						|
@@ -215,9 +215,13 @@ content::DesktopMediaID::Id GetUpdatedWindowId(
 | 
						|
     }
 | 
						|
   }
 | 
						|
 #elif BUILDFLAG(IS_MAC)
 | 
						|
+#if 0
 | 
						|
+  // Should be re-enabled when addressing
 | 
						|
+  // https://github.com/electron/electron/issues/30682
 | 
						|
   if (remote_cocoa::ScopedCGWindowID::Get(desktop_media_id.id)) {
 | 
						|
     window_id = desktop_media_id.id;
 | 
						|
   }
 | 
						|
+#endif
 | 
						|
 #endif
 | 
						|
 
 | 
						|
   return window_id;
 | 
						|
@@ -320,7 +324,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_;
 | 
						|
@@ -602,6 +606,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(
 | 
						|
@@ -1009,6 +1019,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();
 | 
						|
   }
 | 
						|
 }
 | 
						|
 
 |