1ed5bea
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
1ed5bea
--- a/widget/gtk/nsWindow.cpp
1ed5bea
+++ b/widget/gtk/nsWindow.cpp
1ed5bea
@@ -1295,13 +1295,12 @@
1ed5bea
     GdkWindow* window, const GdkRectangle* flipped_rect,
1ed5bea
     const GdkRectangle* final_rect, gboolean flipped_x, gboolean flipped_y,
1ed5bea
     void* aWindow) {
1ed5bea
-  LOG(("%s [%p] flipped_x %d flipped_y %d\n", __FUNCTION__, aWindow, flipped_x,
1ed5bea
-       flipped_y));
1ed5bea
-
1ed5bea
-  LOG(("%s [%p] flipped %d %d w:%d h:%d\n", __FUNCTION__, aWindow,
1ed5bea
-       flipped_rect->x, flipped_rect->y, flipped_rect->width,
1ed5bea
-       flipped_rect->height));
1ed5bea
-  LOG(("%s [%p] final %d %d w:%d h:%d\n", __FUNCTION__, aWindow, final_rect->x,
1ed5bea
+  LOG(("NativeMoveResizeWaylandPopupCallback [%p] flipped_x %d flipped_y %d\n",
1ed5bea
+       aWindow, flipped_x, flipped_y));
1ed5bea
+
1ed5bea
+  LOG(("  flipped_rect x: %d y: %d width: %d height: %d\n", flipped_rect->x,
1ed5bea
+       flipped_rect->y, flipped_rect->width, flipped_rect->height));
1ed5bea
+  LOG(("  final_rect x: %d y: %d width: %d height: %d\n", final_rect->x,
1ed5bea
        final_rect->y, final_rect->width, final_rect->height));
1ed5bea
 }
1ed5bea
 #endif
1ed5bea
@@ -1312,12 +1311,13 @@
1ed5bea
   static auto sGdkWindowMoveToRect = (void (*)(
1ed5bea
       GdkWindow*, const GdkRectangle*, GdkGravity, GdkGravity, GdkAnchorHints,
1ed5bea
       gint, gint))dlsym(RTLD_DEFAULT, "gdk_window_move_to_rect");
1ed5bea
+  LOG(("nsWindow::NativeMoveResizeWaylandPopup [%p]\n", (void*)this));
1ed5bea
 
1ed5bea
   // Compositor may be confused by windows with width/height = 0
1ed5bea
   // and positioning such windows leads to Bug 1555866.
1ed5bea
   if (!AreBoundsSane()) {
1ed5bea
-    LOG(("nsWindow::NativeMoveResizeWaylandPopup [%p] Bounds are not sane\n",
1ed5bea
-         (void*)this));
1ed5bea
+    LOG(("  Bounds are not sane (width: %d height: %d)\n", mBounds.width,
1ed5bea
+         mBounds.height));
1ed5bea
     return;
1ed5bea
   }
1ed5bea
 
1ed5bea
@@ -1331,15 +1331,14 @@
1ed5bea
   // - gdk_window_move_to_rect() is not available
1ed5bea
   // - the widget doesn't have a valid GdkWindow
1ed5bea
   if (!sGdkWindowMoveToRect || !gdkWindow) {
1ed5bea
-    LOG(("nsWindow::NativeMoveResizeWaylandPopup [%p] use gtk_window_move()\n",
1ed5bea
-         (void*)this));
1ed5bea
+    LOG(("  use gtk_window_move(%d, %d)\n", aPosition->x, aPosition->y));
1ed5bea
     gtk_window_move(GTK_WINDOW(mShell), aPosition->x, aPosition->y);
1ed5bea
     return;
1ed5bea
   }
1ed5bea
 
1ed5bea
   GtkWidget* parentWindow = ConfigureWaylandPopupWindows();
1ed5bea
-  LOG(("nsWindow::NativeMoveResizeWaylandPopup [%p] Set popup parent %p\n",
1ed5bea
-       (void*)this, parentWindow));
1ed5bea
+  LOG(("nsWindow::NativeMoveResizeWaylandPopup: Set popup parent %p\n",
1ed5bea
+       parentWindow));
1ed5bea
 
1ed5bea
   int x_parent, y_parent;
1ed5bea
   gdk_window_get_origin(gtk_widget_get_window(GTK_WIDGET(parentWindow)),
1ed5bea
@@ -1351,12 +1350,6 @@
1ed5bea
     rect.height = aSize->height;
1ed5bea
   }
1ed5bea
 
1ed5bea
-  LOG(("%s [%p] request position %d,%d\n", __FUNCTION__, (void*)this,
1ed5bea
-       aPosition->x, aPosition->y));
1ed5bea
-  if (aSize) {
1ed5bea
-    LOG(("  request size %d,%d\n", aSize->width, aSize->height));
1ed5bea
-  }
1ed5bea
-  LOG(("  request result %d %d\n", rect.x, rect.y));
1ed5bea
 #ifdef DEBUG
1ed5bea
   if (!g_signal_handler_find(
1ed5bea
           gdkWindow, G_SIGNAL_MATCH_FUNC, 0, 0, nullptr,
1ed5bea
@@ -1389,10 +1382,8 @@
1ed5bea
     HideWaylandWindow();
1ed5bea
   }
1ed5bea
 
1ed5bea
-  LOG(
1ed5bea
-      ("nsWindow::NativeMoveResizeWaylandPopup [%p]: requested rect: x%d y%d "
1ed5bea
-       "w%d h%d\n",
1ed5bea
-       this, rect.x, rect.y, rect.width, rect.height));
1ed5bea
+  LOG(("  requested rect: x: %d y: %d width: %d height: %d\n", rect.x, rect.y,
1ed5bea
+       rect.width, rect.height));
1ed5bea
   if (aSize) {
1ed5bea
     LOG(("  aSize: x%d y%d w%d h%d\n", aSize->x, aSize->y, aSize->width,
1ed5bea
          aSize->height));
1ed5bea
@@ -7348,8 +7339,9 @@
1ed5bea
   if (monitor) {
1ed5bea
     GdkRectangle workArea;
1ed5bea
     s_gdk_monitor_get_workarea(monitor, &workArea);
1ed5bea
-    aRect->x = workArea.x;
1ed5bea
-    aRect->y = workArea.y;
1ed5bea
+    // The monitor offset won't help us in Wayland, because we can't get the
1ed5bea
+    // absolute position of our window.
1ed5bea
+    aRect->x = aRect->y = 0;
1ed5bea
     aRect->width = workArea.width;
1ed5bea
     aRect->height = workArea.height;
1ed5bea
     LOG(("  workarea for [%p], monitor %p: x%d y%d w%d h%d\n", this, monitor,
1ed5bea