firefox/pw5.patch

54 lines
1.8 KiB
Diff

# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1605025841 0
# Node ID e04be7688dfb4fbbe8dee73e366df8bc9a5da580
# Parent 41d3c1292480de14d05b34aa0cf2d56015994878
Bug 1675767 [Linux] Use PipeWire on Wayland desktop, r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D96587
diff --git a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
--- a/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
+++ b/third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capturer.cc
@@ -72,37 +72,21 @@ std::unique_ptr<DesktopCapturer> Desktop
if (capturer && options.detect_updated_region()) {
capturer.reset(new DesktopCapturerDifferWrapper(std::move(capturer)));
}
return capturer;
}
#if defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11)
-// Return true if Firefox is actually running with Wayland backend.
-static bool IsWaylandDisplayUsed() {
- const auto display = gdk_display_get_default();
- if (display == nullptr) {
- // We're running in headless mode.
- return false;
- }
- return !GDK_IS_X11_DISPLAY(display);
-}
-
-// Return true if Firefox is actually running on Wayland enabled session.
-// It means some screensharing capabilities may be limited.
-static bool IsWaylandSessionUsed() {
+bool DesktopCapturer::IsRunningUnderWayland() {
const char* xdg_session_type = getenv("XDG_SESSION_TYPE");
if (!xdg_session_type || strncmp(xdg_session_type, "wayland", 7) != 0)
return false;
if (!(getenv("WAYLAND_DISPLAY")))
return false;
return true;
}
-
-bool DesktopCapturer::IsRunningUnderWayland() {
- return IsWaylandSessionUsed() ? IsWaylandDisplayUsed() : false;
-}
#endif // defined(WEBRTC_USE_PIPEWIRE) || defined(USE_X11)
} // namespace webrtc