Closed Bug 727236 Opened 12 years ago Closed 12 years ago

MAPLE: Extra white space at the bottom (scrollable page length is longer than content)

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(firefox13 affected, firefox14 verified, blocking-fennec1.0 +, fennec+)

VERIFIED FIXED
Firefox 14
Tracking Status
firefox13 --- affected
firefox14 --- verified
blocking-fennec1.0 --- +
fennec + ---

People

(Reporter: nhirata, Assigned: kats)

References

()

Details

(Keywords: testcase, Whiteboard: MAPLE [viewport])

Attachments

(3 files)

1. go to www.cnn.com
2. scroll down towards the bottom
3. keep scrolling

Expected: should not be able to scroll past the bottom of the page
Actual: a large white space after the bottom of the page

Thunderbolt, 2.2.1, Maple 2/14/2012
I believe this has now been fixed. Are you still seeing this?
I don't see it. Please reopen if you still do.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
I'm still seeing this with a build after the Maple merge, 2012-03-15 Fennec14.0a1.
This is on the HTC Desire HD, while on http://news.google.com
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
tracking-fennec: --- → ?
blocking-fennec1.0: --- → ?
Keywords: testcase
Assignee: nobody → bugmail.mozilla
tracking-fennec: ? → +
blocking-fennec1.0: ? → +
Whiteboard: MAPLE → MAPLE [viewport] DUPEME
Is this just a dupe of bug 732016?
tracking-fennec: + → ?
blocking-fennec1.0: + → ?
tracking-fennec: ? → +
blocking-fennec1.0: ? → +
(In reply to Joe Drew (:JOEDREW!) from comment #7)
> Is this just a dupe of bug 732016?

No, I think it's a different issue. Either the meta-viewport calculations in browser.js are bad, or the compositor is getting something that's not the actual page size from gecko. I'll look into it.
Summary: MAPLE: Extra white space at the bottom → MAPLE: Extra white space at the bottom (scrollable page length is longer than content)
Status: REOPENED → ASSIGNED
Whiteboard: MAPLE [viewport] DUPEME → MAPLE [viewport]
There were a couple of things wrong with the old CSS viewport height expansion calculation (at least the way it was in the latest code). One is that it was using body.clientWidth in getPageZoom() which seems to be 16 pixels short of the actual scrollable width (presumably because of the 8-pixel margins on the html element in the default UA CSS). The other is that the clientWidth was not based on the new CSS viewport width, and so the minScale would be wrong.

I suspect this code always potentially generated the wrong viewport height the first time it was run on a given page, but corrected itself on subsequent runs because on the subsequent runs the clientWidth would be correct from having set the viewport width the previous run. When I added the call to setBrowserSize(kDefault...) in the before-first-paint handler to reset the viewport, that uncovered this error by making it show up at exactly the wrong time.
Attachment #606912 - Flags: review?(chrislord.net)
Attachment #606912 - Flags: feedback?(mbrubeck)
Comment on attachment 606912 [details] [diff] [review]
Fix CSS viewport height calculation

Review of attachment 606912 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good to me.

::: mobile/android/chrome/content/browser.js
@@ +2094,5 @@
> +    // the page is zoomed out to show its full width. Note that before
> +    // we set the viewport width, the "full width" of the page isn't properly
> +    // defined, so that's why we have to call setBrowserSize twice - once
> +    // to set the width, and the second time to figure out the height based
> +    // on the layout at that width.

Maybe this comment should be above the two lines above it, so that those lines aren't mistakenly removed due to overlooking this.

@@ +2096,5 @@
> +    // defined, so that's why we have to call setBrowserSize twice - once
> +    // to set the width, and the second time to figure out the height based
> +    // on the layout at that width.
> +    let minScale = 1.0;
> +    if (this.browser.contentDocument) {

I guess this is missing the comment about it being called before the document is loaded, might want to re-add that here?
Attachment #606912 - Flags: review?(chrislord.net) → review+
I am able to see this issue even on About Nightly page on the latest Nightly build.

--
Firefox 14.0a1 (2012-03-19)
Device: Samsung Nexus S
OS: Android 2.3.6
Blocks: 737021
Attachment #606912 - Flags: feedback?(mbrubeck) → feedback+
https://hg.mozilla.org/mozilla-central/rev/6da2067a6689
Status: ASSIGNED → RESOLVED
Closed: 12 years ago12 years ago
Resolution: --- → FIXED
Version: Firefox 13 → Trunk
Verified fixed on:

Firefox 14.0a1 (2012-03-21)
Device: Samsung Nexus S
OS: Android 2.3.6
Status: RESOLVED → VERIFIED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: