From b7f7ba9230d6781fa31c3db8942f5f56980cf7bf Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Wed, 15 Jul 2020 16:58:58 -0700 Subject: [PATCH] browser(firefox): screencast support for Windows headful (#2965) --- browser_patches/firefox/BUILD_NUMBER | 4 ++-- .../firefox/juggler/screencast/nsScreencastService.cpp | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/browser_patches/firefox/BUILD_NUMBER b/browser_patches/firefox/BUILD_NUMBER index 712cb5629a..243bc3c3a5 100644 --- a/browser_patches/firefox/BUILD_NUMBER +++ b/browser_patches/firefox/BUILD_NUMBER @@ -1,2 +1,2 @@ -1128 -Changed: yurys@chromium.org Wed Jul 15 09:22:48 PDT 2020 +1129 +Changed: yurys@chromium.org Wed Jul 15 23:55:13 GMTST 2020 diff --git a/browser_patches/firefox/juggler/screencast/nsScreencastService.cpp b/browser_patches/firefox/juggler/screencast/nsScreencastService.cpp index bdc9a2f821..94afa75997 100644 --- a/browser_patches/firefox/juggler/screencast/nsScreencastService.cpp +++ b/browser_patches/firefox/juggler/screencast/nsScreencastService.cpp @@ -50,6 +50,13 @@ rtc::scoped_refptr CreateWindowCapturer(nsIWidget* w fprintf(stderr, "Video capture for Wayland is not implemented\n"); return nullptr; # endif +#elif defined(_WIN32) + mozilla::widget::CompositorWidgetInitData initData; + widget->GetCompositorWidgetInitData(&initData); + const mozilla::widget::WinCompositorWidgetInitData& winInitData = initData.get_WinCompositorWidgetInitData(); + nsCString windowId; + windowId.AppendPrintf("%lu", winInitData.hWnd()); + return webrtc::DesktopCaptureImpl::Create(sessionId, windowId.get(), webrtc::CaptureDeviceType::Window); #else fprintf(stderr, "Video capture is not implemented on this platform\n"); return nullptr;