Canvas becomes clipped and unpannable

VERIFIED FIXED in Firefox 11

Status

()

Firefox for Android
General
P2
major
VERIFIED FIXED
6 years ago
a year ago

People

(Reporter: hsivonen, Assigned: kats)

Tracking

({regression})

unspecified
Firefox 12
ARM
Android
regression
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite ?

Firefox Tracking Flags

(firefox11 verified, firefox12 verified, fennec11+)

Details

(URL)

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
(I used Galaxy Nexus with Android 4.0.1. Dunno if that matters.)

Steps to reproduce:
 1) Navigate to http://www.hs.fi/
 2) Click the title/lede/picture of the first story to navigate to a story page.
 3) Double-tap to zoom.
 4) Try to pan.
 5) Multi-touch zoom.
 6) Try to pan.
 7) Retry a couple of times. If you don't see a problem, quit Fennec and try again.

Actual results:
Sometimes, the canvas gets clipped to the area that fits on the screen. After that happens, trying to pan doesn't work. The view behaves as if the area that fits on the screen is all there is. That is, the canvas just snaps back. When zooming out, the view makes it look like the area was clipped, but at least in the most recent build, the clip region seems to update after zooming.

Expected results:
Expected the view to act as if the bounds of the canvas were the bounds of the content. Expected no clipping to an area smaller than that. Expected to be able to pan to all the content at any given zoom level.
This is a pretty bad issue with the browser that should block any release.

Updated

6 years ago
Severity: normal → major

Updated

6 years ago
Duplicate of this bug: 711920
Depends on: 712037
Assignee: nobody → bugmail.mozilla
Priority: -- → P2
This looks like it was introduced by the patch for bug 707935. The problem is the article pages on hs.fi stay in document.readyState == "loading" for a very long time, so we don't update the page size until much later. The throbber even stops, giving the appearance that the page has stopped loading, even though it isn't - if you wait longer eventually the throbber comes back, the page finishes loading for real, and we update the page size. The throbber may or may not be fixed with bug 712414, but regardless, we should do periodic updates to the page size.
Keywords: regression
Depends on: 712414
Created attachment 583610 [details] [diff] [review]
Send page size updates more often
Attachment #583610 - Flags: review?(pwalton)
Duplicate of this bug: 712596
QA: please also verify bug 712596 when verifying this bug.
Duplicate of this bug: 713185

Updated

6 years ago
Duplicate of this bug: 707253

Comment 9

6 years ago
Comment on attachment 583610 [details] [diff] [review]
Send page size updates more often

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

r+ from me with a lengthier comment for the below code.

::: mobile/android/chrome/content/browser.js
@@ +1344,5 @@
> +       * this causes the page size to jump around wildly during page load.
> +       */
> +      if (doc.readyState === 'complete' || (pageWidth >= gScreenWidth && pageHeight >= gScreenHeight)) {
> +        this._viewport.pageWidth = pageWidth;
> +        this._viewport.pageHeight = pageHeight;

Took me a few seconds to realise that this is what we want to do due to the zoom behaviour. It's worth adding a comment about us wanting page sizes less than the screen after loading so that we can adjust the zoom for the page to fit.
Attachment #583610 - Flags: review+
Comment on attachment 583610 [details] [diff] [review]
Send page size updates more often

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

Fine by me. Note that patch part 5 in bug 709492 kills the readyState check entirely, since it's no longer necessary at that point to prevent page size from jumping around.
Attachment #583610 - Flags: review?(pwalton) → review+
Landed on m-i:

https://hg.mozilla.org/integration/mozilla-inbound/rev/bb41941cdf9d
status-firefox11: --- → affected
Whiteboard: [inbound], [leave open after inbound merge]
Target Milestone: --- → Firefox 12
Attachment #583610 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/integration/mozilla-inbound/rev/b58836d3fa78

Backed out on suspicion of causing Android m1 and m2 orange.
Whiteboard: [inbound], [leave open after inbound merge] → [leave open after inbound merge]
Comment on attachment 583610 [details] [diff] [review]
Send page size updates more often

Investigating oranges
Attachment #583610 - Flags: approval-mozilla-aurora?
Re-landed on m-i: https://hg.mozilla.org/integration/mozilla-inbound/rev/bfe14712fe3c
Try run ran green: https://tbpl.mozilla.org/?tree=Try&rev=30bbb4acc8ca

Oranges were caused by the patch for bug 712761
Whiteboard: [leave open after inbound merge] → [leave open after inbound merge], [inbound]
https://hg.mozilla.org/mozilla-central/rev/bfe14712fe3c
Whiteboard: [leave open after inbound merge], [inbound]
Attachment #583610 - Flags: approval-mozilla-aurora?

Comment 16

6 years ago
Comment on attachment 583610 [details] [diff] [review]
Send page size updates more often

[triage comment]
Approved for aurora. QA says this is bad and would block a release.
Attachment #583610 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Landed on aurora: https://hg.mozilla.org/releases/mozilla-aurora/rev/7986e3f95244
Status: NEW → RESOLVED
Last Resolved: 6 years ago
status-firefox11: affected → fixed
Resolution: --- → FIXED
Target Milestone: Firefox 12 → Firefox 11
Samsung Nexus S (Android 4.0.3)
Samsung Galaxy SII (Android 2.3.4)
20111230040819
http://hg.mozilla.org/mozilla-central/rev/9fdaea5d67e2
20111229042021
http://hg.mozilla.org/releases/mozilla-aurora/rev/06335a118a5a
Status: RESOLVED → VERIFIED
status-firefox11: fixed → verified
status-firefox12: --- → verified
Flags: in-testsuite?
tracking-fennec: --- → 11+

Updated

6 years ago
Duplicate of this bug: 712082
Fixing target milestone I incorrectly changed when landing on aurora.
Target Milestone: Firefox 11 → Firefox 12

Updated

6 years ago
Blocks: 729156
Comment hidden (off-topic)
Comment hidden (off-topic)
You need to log in before you can comment on or make changes to this bug.