(In reply to Michael Perrin from comment #9) > Open https://jsfiddle.net/tm3qujhr/ on the left screen (Retina) and have a non-Retina one positioned to the right. > Click on "Try it" button. That will open the window on the right screen, with double size. Web pages are not supposed to be able to open a new window on a different screen with opener's one. It suggests that Firefox fails to find a correct screen. (In reply to Rares Doghi from comment #12) > (main) Screen0: scale:2 at origin ( 0, 0) with size 1440 by 900 > Screen1: scale:1 at origin ( 1440, -84) with size 1920 by 1080 If Firefox conflates device pixels with desktop pixels, it will think that the main screen "overlaps" with the large portion of the second screen. I think here is the source of miscalculation: https://searchfox.org/mozilla-central/rev/74d0efd1107a26f178b108b6a18a179e9b06547c/toolkit/components/windowwatcher/nsWindowWatcher.cpp#2308-2315 `ScreenForRect` takes desktop pixels while `scale` is a device-pixels-to-css-pixels scale. Jonathan, any thoughts?
Bug 1554229 Comment 13 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
(In reply to Michael Perrin from comment #9) > Open https://jsfiddle.net/tm3qujhr/ on the left screen (Retina) and have a non-Retina one positioned to the right. > Click on "Try it" button. That will open the window on the right screen, with double size. ~~~Web pages are not supposed to be able to open a new window on a different screen with opener's one. It suggests that Firefox fails to find a correct screen.~~~ (Edit: this is wrong.) (In reply to Rares Doghi from comment #12) > (main) Screen0: scale:2 at origin ( 0, 0) with size 1440 by 900 > Screen1: scale:1 at origin ( 1440, -84) with size 1920 by 1080 If Firefox conflates device pixels with desktop pixels, it will think that the main screen "overlaps" with the large portion of the second screen. I think here is the source of miscalculation: https://searchfox.org/mozilla-central/rev/74d0efd1107a26f178b108b6a18a179e9b06547c/toolkit/components/windowwatcher/nsWindowWatcher.cpp#2308-2315 `ScreenForRect` takes desktop pixels while `scale` is a device-pixels-to-css-pixels scale. Jonathan, any thoughts?