summaryrefslogtreecommitdiffstats
path: root/widget/gtk/GtkCompositorWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'widget/gtk/GtkCompositorWidget.cpp')
-rw-r--r--widget/gtk/GtkCompositorWidget.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/widget/gtk/GtkCompositorWidget.cpp b/widget/gtk/GtkCompositorWidget.cpp
index 073ad5248f..50eb90a0c8 100644
--- a/widget/gtk/GtkCompositorWidget.cpp
+++ b/widget/gtk/GtkCompositorWidget.cpp
@@ -141,15 +141,12 @@ bool GtkCompositorWidget::SetEGLNativeWindowSize(
}
LayoutDeviceIntRegion GtkCompositorWidget::GetTransparentRegion() {
- // We need to clear target buffer alpha values of popup windows as
- // SW-WR paints with alpha blending (see Bug 1674473).
- if (!mWidget || mWidget->IsPopup()) {
- return LayoutDeviceIntRect(LayoutDeviceIntPoint(0, 0), GetClientSize());
+ LayoutDeviceIntRegion fullRegion(
+ LayoutDeviceIntRect(LayoutDeviceIntPoint(), GetClientSize()));
+ if (mWidget) {
+ fullRegion.SubOut(mWidget->GetOpaqueRegion());
}
-
- // Clear background of titlebar area to render titlebar
- // transparent corners correctly.
- return mWidget->GetTitlebarRect();
+ return fullRegion;
}
#ifdef MOZ_WAYLAND