Problem with positioning and dimensions of window panels relatively to screen dimensions

Updating/setting position of a window panel from backgroundscript in one of my browser extensions (xIFr) has started to behave weird in some cases (positioning is configurable in xIFr). It looks like positioning relatively to screen dimensions doesn’t work correctly anymore. It is pretty long time ago xIFr last was updated, and the change in behavior started recently. So my suspicion goes towards Firefox 106.

I’m on Windows 11, and it seems to work fine - as it used to - on screens without scaling-factor (physical screen pixel is same as virtual screen pixel). However on high-density screens with a scaling-factor, my positioning and dimensions are not working as intended anymore.

I tried installing Waterfox which is based on Firefox ESR 102, and positioning and dimensions works as intended again on both normal and high density screens.

I cannot find a bug in bugzilla matching my problem, and intend to submit one when I have found time to analyze the situation a bit more. Just wanted to hear if others have noticed any changed behavior when it comes to positioning or sizing of popups relative to “screen area”?

I set position with browser.windows.update() using data derived from window.screen and browser.windows.getCurrent()… Just wanted to hear if other than me has noticed problems?..

EDITED to remove suspicion on browser.windows.getCurrent(). After some investigation I have concluded window.screen properties are the problem.

I have done some investigation on issue. Conclusion is that when read from backgroundscript, window.screen (width, height, availWidth, availHeight) now returns physical pixel dimensions of screen instead of virtual pixel dimensions of screen.
That’s not how it used to be, and it is not what it does in other browsers, including older versions of Firefox.

I created a bugreport in case anyones interested:

2 Likes

I might mostly be talking to myself here, but just a quick follow-up to “close the case”. Bug was fixed. Not only in current nightlies, but also “uplifted” to latest Firefox 108 Beta 3 version (including Developer Edition).
There might still be an issue in multi-display setups, but that is not new (I might create another bug-report on that).

3 Likes