Closed Bug 955956 Opened 10 years ago Closed 3 years ago

Incorrect viewport

Categories

(Firefox for Android Graveyard :: Toolbar, defect)

28 Branch
All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: rnewman, Unassigned)

References

()

Details

After Bug 952878 landed, incorrect viewport calculations became more obvious. Wes provides an example in Bug 952878 Comment 13, and I've also seen this in general browsing.
Blocks: 956939
While this seems like a very ambiguous bug report, I thought it better to provide a test case for the viewport-related issue I've encountered than file a (potential) duplicate.

Tested on release (29) and nightly (2014-06-03).

To reproduce:
  1. visit: http://jsbin.com/vupasutu/9
  2. scroll down
  3. observe white gap between blue and green boxes, where there should be none.

Chrome (35) on Android and Safari on iOS 7.1 render as expected. In fact, it's possible to force Firefox to render as expected by disabling zooming, by adding the "user-scalable=no" to the viewport meta tag. You can see that here: http://jsbin.com/vupasutu/8.
Thanks for creating those example pages, they really illustrate the problem very clearly!
tracking-fennec: --- → ?
What's really interesting is that if I debug this page in the the remote debugger and stick a breakpoint at http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/browser.js?rev=3540dc826ca8#4384 then it loads as expected. If I remove the breakpoint it loads with the giant whitespace. The debugger must be interfering with the normal flow somehow, either because it queries properties or because it affects timing.
Ah, so after debugging some more I think this is actually expected behaviour. When you don't put the user-scalable=no in the meta tag, we have to account for the fact that the user can zoom way out so as to fit the 1000-pixel-width of the page into the the device width. On my Nexus 4 the screen is 768 pixels wide, so the user can zoom out to a zoom factor of 0.768. At this zoom level, we need to make sure the page is tall enough that it takes up the entire screen (1134 pixels). Therefore we expand the height of the page from 1100 pixels tall to 1476.5625 pixels tall, and this results in the gap. This behaviour is what we have found results in the best overall behaviour across all sites (which are generally not designed to deal with mobile browsers).
tracking-fennec: ? → ---
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.