Closed Bug 746120 Opened 11 years ago Closed 11 years ago

Pinch-zooming inwards on pages "separate" them from underlying canvas when a hidden overflow is used

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(firefox14 verified, firefox15 verified, blocking-fennec1.0 +)

VERIFIED FIXED
Firefox 15
Tracking Status
firefox14 --- verified
firefox15 --- verified
blocking-fennec1.0 --- +

People

(Reporter: aaronmt, Assigned: kats)

References

Details

(Keywords: testcase)

Attachments

(3 files)

Currently on DuckDuckGo when one pinch-zooms outwards, the page "separates" from it's underlying white blank canvas. This is evident in the attached screenshot.

--
Samsung Galaxy Nexus (Android 4.0.4)
Nightly (04/17)
qawanted to get a reduced test case for ddg
Keywords: qawanted
Keywords: testcase-wanted
Attached file testcase
Pinch-zoom outwards with this test-case and see the layout separation
Keywords: testcase-wanted
Keywords: testcase
removing qawanted now that testcase has been added.
Keywords: qawanted
Looks like the hidden overflow is the issue here?
Summary: Pinch-zooming outwards on DDG "separates" the page from its canvas → Pinch-zooming inwards on pages "separate" them from underlying canvas when a hidden overflow is used
Let us know if this is tricky and needs beta testing instead.
Assignee: nobody → tnikkel
blocking-fennec1.0: ? → +
If you give the html element a background color then the bottom right rectangle stays white, so I'm wondering what exactly it is.
Blocks: 746995
user-scalable=no is supposed to prevent any zooming per:
https://developer.mozilla.org/en/Mobile/Viewport_meta_tag

Did we break that recently? Regression window please.
The bug happens without user-scalable=no so that is a separate issue.
(In reply to Jet Villegas (:jet) from comment #8)
> user-scalable=no is supposed to prevent any zooming per:
> https://developer.mozilla.org/en/Mobile/Viewport_meta_tag
> 
> Did we break that recently? Regression window please.

Yes, that is currently broken. Bug 707571 is tracking it. However as :tn said, that is a separate issue.
Good build: 03/17

Bad build: 03/18

Possible regression range: 
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=ecaad3ae9964&tochange=e94edfdb1f5b

--
Device: Samsung Galaxy S (Captivate)
OS: Android 2.2
Attached patch PatchSplinter Review
(In reply to Timothy Nikkel (:tn) from comment #7)
> If you give the html element a background color then the bottom right
> rectangle stays white, so I'm wondering what exactly it is.

I've been investigating this issue indirectly via bug 735652 and bug 748526, and I believe that white rectangle is drawn by Java. By commenting out various lines in this function: http://mxr.mozilla.org/mozilla-central/source/mobile/android/base/gfx/LayerRenderer.java#574 I was able to make it go away. In latest m-c code the white rectangle is drawn by the checkerboard layer; if you comment that out it will turn black because it a "hole" in the background layer; if you comment out the line that sets the mask on the background layer the hole is filled in.

The attached patch that removes the "separation" of the layers by ensuring that the gecko root layer is transformed even if it is not scrollable.
Attachment #618686 - Flags: review?(ajuma)
Comment on attachment 618686 [details] [diff] [review]
Patch

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

Transforming the root layer when it's not scrollable may cause other weirdness (since we don't have a displayport set in that situation). But it seems the right approach is to take this fix, and then get follow-up fixes for the other problems.
Attachment #618686 - Flags: review?(ajuma) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/1cc5c7879c82
Assignee: tnikkel → bugmail.mozilla
Target Milestone: --- → Firefox 15
https://hg.mozilla.org/mozilla-central/rev/1cc5c7879c82
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment on attachment 618686 [details] [diff] [review]
Patch

[Approval Request Comment]
Regression caused by (bug #): OMTC
User impact if declined: on pages with frameset or an overflow:hidden body, pinch zooming leaves the page anchored to the top-left of the screen with another white rect moving around
Testing completed (on m-c, etc.): tested locally, should probably bake on m-c for a day or two
Risk to taking this patch (and alternatives if risky): could expose other, worse, behaviour on overflow:hidden pages but i'd say low-risk.
String changes made by this patch: none
Attachment #618686 - Flags: approval-mozilla-aurora?
Attachment #618686 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Is there any possibility of this having caused bug 749658?
(In reply to IU from comment #18)
> Is there any possibility of this having caused bug 749658?

No, this is a mobile-only change.
On duckduckgo.com with the following build:
ftp://ftp.mozilla.org/pub/mobile/tinderbox-builds/mozilla-aurora-android/1335647503/

There is a black background you can see when you pinch zoom out.  Is this expected (ie the ignoring the user-scalable piece).
(In reply to JP Rosevear [:jpr] from comment #20)
> On duckduckgo.com with the following build:
> ftp://ftp.mozilla.org/pub/mobile/tinderbox-builds/mozilla-aurora-android/
> 1335647503/
> 
> There is a black background you can see when you pinch zoom out.  Is this
> expected (ie the ignoring the user-scalable piece).

Filed bug 749741; it needs attention
This issue doesn't occur anymore on the latest Nightly and Aurora builds. Closing bug as verified fixed on:

Firefox 15.0a1 (2012-05-29)
Firefox 14.0a2 (2012-05-29)

Device: Galaxy Nexus
OS: Android 4.0.2
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.