Closed Bug 1200399 Opened 5 years ago Closed 5 years ago
The dynamic tool bar in Fennec will some times permanently hide
When scrolling page http://jsbin.com/nekumuyonu/3 with C++APZ enabled in Fennec. The dynamic toolbar will hide, but scrolling down does not make it visible again.
I wasn't able to reproduce on the above jsbin, but I can reproduce on this page: https://people.mozilla.org/~kgupta/griddiv.html - just scroll the page down and then you won't be able to scroll back up.
On this page you shouldn't be able to scroll at all to begin with, so the computed page size is probably wrong, possibly coming from an incorrect CSS viewport.
At least one problem here is that the metrics being picked up by the Java code are for the subdocument rather than the parent document. i.e. in the ImmutableViewportMetrics on the Java side I'm seeing a page size of 2000x2000 which is the size of the scrollable div, not the size of the document.
The problem here was pretty straightforward - Java was getting the wrong metrics because the C++ code was sending the metrics from every scrollable layer up, and whatever layer was processed last would be the one that Java ended up with. Instead we should only be sending the metrics for the root content document, because that's what the Java code cares about.
Assignee: nobody → bugmail.mozilla
Comment on attachment 8656052 [details] [diff] [review] Patch This ain't quite right...
Here's a better version. the mIsFirstPaint and mLayersUpdated flags are only used by Fennec so I moved them into the ifdef as well. On Fennec with the Java PZC we should never be executing this code anyway because we'll hit the "continue" condition at the top of the loop every time.
Attachment #8656148 - Flags: review?(rbarker) → review+
I wonder if this will resolve bug 1006294, which I still see from time to time. Setting a see also so I can close out the older bug if I don't see it any more when C++ APZ makes it onto the trains.
See Also: → 1006294
You need to log in before you can comment on or make changes to this bug.