From 96197d959734164ac74192b4ca0fa506126a62de Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 08:39:04 +0100 Subject: [PATCH] fix: handle OnDelegatedSourceListDismissed asynchronously (#46235) --- shell/browser/api/electron_api_desktop_capturer.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/shell/browser/api/electron_api_desktop_capturer.cc b/shell/browser/api/electron_api_desktop_capturer.cc index b7d7177bf47a..1fcb7fbaa54c 100644 --- a/shell/browser/api/electron_api_desktop_capturer.cc +++ b/shell/browser/api/electron_api_desktop_capturer.cc @@ -15,6 +15,7 @@ #include "chrome/browser/media/webrtc/desktop_media_list.h" #include "chrome/browser/media/webrtc/thumbnail_capturer_mac.h" #include "chrome/browser/media/webrtc/window_icon_util.h" +#include "content/public/browser/browser_thread.h" #include "content/public/browser/desktop_capture.h" #include "gin/handle.h" #include "gin/object_template_builder.h" @@ -252,7 +253,8 @@ void DesktopCapturer::DesktopListListener::OnSourceThumbnailChanged(int index) { } void DesktopCapturer::DesktopListListener::OnDelegatedSourceListDismissed() { - std::move(failure_callback_).Run(); + content::GetUIThreadTaskRunner({})->PostTask(FROM_HERE, + std::move(failure_callback_)); } void DesktopCapturer::StartHandling(bool capture_window,