Closed Bug 640217 Opened 9 years ago Closed 9 years ago

Unzooming out of Text zoom reflow causes checkerboarded borders

Categories

(Firefox for Android Graveyard :: Panning/Zooming, defect)

defect
Not set

Tracking

(fennec2.0+)

VERIFIED FIXED
Tracking Status
fennec 2.0+ ---

People

(Reporter: tchung, Assigned: mbrubeck)

References

()

Details

(Whiteboard: [has patch][needs review])

Attachments

(2 files)

When unzooming out of certain sites like AMO, zoom reflow doesnt seem to handle restoring the view very well.  I get checkerboarded borders.

See screenshot

REpro:
1) install android nightly : Mozilla/5.0 (Android; Linux armv71; rv:2.0b13pre) Gecko/20110309 Firefox/4.0b13pre Fennec/4.0b6pre	
2) follow the steps in https://bugzilla.mozilla.org/show_bug.cgi?id=623820#c0
3) lastly, double tap to zoom back out to original view
4) Verify checkerboarded borders

Expected:
- zoom out handles proper case of restoring original view

Actual:
- checkerboarded borders and mini view
what is the dependency on bug 623820?
Attached image unzoom screenshot
(In reply to comment #1)
> what is the dependency on bug 623820?

wasnt sure if the fix on that bug will apply to this one.  feel free to unappend it if thats true.
Summary: Unzooming out of Text zoom reflow causes checkerboarded boarders → Unzooming out of Text zoom reflow causes checkerboarded borders
Assignee: nobody → mbrubeck
Blocks: 611555
No longer depends on: 623820
OS: Android → All
Hardware: ARM → All
tracking-fennec: ? → 2.0+
The reflow is causing the scrolled area to change, but the zoom happens before the scrolled area is updated and so it uses the old area.  Working on a fix.
This happens when MozScrolledAreaChanged is fired while an AnimatedZoom is still in progress.  We update the zoom level on MozScrolledAreaChanged, but the AnimatedZoom is still animating toward the old value.
Attached patch patchSplinter Review
At the end of animated zoom, check whether the scale ended up out of bounds, and adjust it if necessary.

This might be smoother if we did the check during each animation step, instead of after the animation, but I'm worried that could affect zoom performance.  I'd rather go with this conservative approach for RC1.
Attachment #518163 - Flags: review?(mark.finkle)
Whiteboard: [has patch][needs review]
Comment on attachment 518163 [details] [diff] [review]
patch

the .scale setter does the same kind of finish as finishFuzzyZoom, I assume
Attachment #518163 - Flags: review?(mark.finkle) → review+
(In reply to comment #7)
> the .scale setter does the same kind of finish as finishFuzzyZoom, I assume

That's correct; I've added a comment to that effect.

Pushed: http://hg.mozilla.org/mobile-browser/rev/b10e388c18bc
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Verified fix on Mozilla/5.0 (Android; Linux armv71; rv:2.0b13pre) Gecko/20110315 Firefox/4.0b13pre Fennec/4.0b6pre
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.