It's actually a regression from https://phabricator.services.mozilla.com/D140263 (Bug 1757996). We set mUntransformedAnchorRect even when IsAnchored() is false, i.e. we overwrite original anchor by point. The sequence is: 1) anchor is correctly set by layout 2) popup is positioned by move-to-rect. When it's moved in callback , new popup origin is placed to anchor instead of the layout one. 3) we have wrong anchor now - it can be located outside of main window and xdg-positioner fails.
Bug 1759157 Comment 12 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
It's actually a regression from https://phabricator.services.mozilla.com/D140263 (Bug 1757996). We set mUntransformedAnchorRect even when IsAnchored() is false, i.e. we overwrite original anchor by point. The sequence is: 1) anchor is correctly set by layout 2) popup is resized by move-to-rect, mositon is not updated by layout. When it's moved in callback , new popup origin is placed to anchor instead of the layout one. 3) we have wrong anchor now - it can be located outside of main window and xdg-positioner fails.