Closed Bug 722325 Opened 8 years ago Closed 8 years ago

Repeated areas of the page, or blank areas displayed momentarily after panning

Categories

(Firefox for Android :: General, defect, P1)

ARM
Android
defect

Tracking

()

VERIFIED FIXED
Firefox 13
Tracking Status
firefox11 --- unaffected
firefox12 --- fixed
firefox13 --- verified

People

(Reporter: ibarlow, Assigned: cwiiis)

References

Details

(Keywords: regression)

Attachments

(2 files)

Sorry for the vague (and possibly duplicate) bug title, but scrolling on today's Nightly feels pretty rough. 

1. Lots of checkerboarding
2. Strange redraw issues where text and images jump around while scrolling
3. Flinging a page often results in an abrupt stop. 

Below are videos of scrolling the same site on a Samsung Galaxy Nexus (ICS) and an HTC Desire S (GB/Sense)

http://dl.dropbox.com/u/2182500/Mozilla/Firefox%20Mobile/Scrolling%20Galaxy%20Nexus.MOV

http://dl.dropbox.com/u/2182500/Mozilla/Firefox%20Mobile/Scrolling%20Desire%20S.MOV

Are these issues being tracked in other bugs? If not we should take a look at what we can do to fix them.
This seems to be a new bug in nightly builds from the 29th onwards.

This is the regression range (I've not narrowed it down any further than this):
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=e99e0dc97746&tochange=aee879a3190a

It's very easily testable on http://m.wired.com/, where it manifests as a repeated area of the page after panning upwards or downwards.

It manifests on http://endgadget.com/ as a blank off-white area that appears, before the page is rendered into that area.

Note, though it looks somewhat like one, this is not a tiling bug. No tiling code was changed within this range, and it happens on both the tiling and non-tiling rendering path.

My best guess is that it's a layout bug, but I've not looked through the commit list properly yet.
OS: Mac OS X → Android
Hardware: x86 → ARM
Summary: Lots of checkerboarding and page rendering issues → Repeated areas of the page, or blank areas displayed momentarily after panning
Version: Firefox 11 → Trunk
Two suspect bugs that may have caused this:

https://bugzilla.mozilla.org/show_bug.cgi?id=719177 - Use UpdateOverflow hint more
https://bugzilla.mozilla.org/show_bug.cgi?id=721294 - Clean up nsIPresShell::DidPaint/WillPaint related code

Cc'ing roc for comment, will try builds with those patches reverted to confirm.
tracking-fennec: --- → ?
Keywords: regression
Assignee: nobody → chrislord.net
tracking-fennec: ? → 11+
Priority: -- → P2
I think this should be P1 IMHO -- it makes the browser basically unusable.
tracking-fennec: 11+ → ?
Priority: P2 → --
Sorry for removing the flags, my mistake.
(This was previously tracking-fennec:11+, not tracking-firefox11:+.)
tracking-fennec: ? → 11+
Priority: -- → P1
After a nice lengthy bisect, the problem commit is this one: http://hg.mozilla.org/mozilla-central/rev/731208933852 (bug 720987)

Will look into it further.
FYI, I made a build with https://hg.mozilla.org/mozilla-central/rev/a71b7cea4577 and there's still weirdness with parts of the page blanking both temporarily and permanently.

http://www.youtube.com/watch?v=q3FDXzoM-84

Note in particular how at the end if I scroll all the way to the right of the page it paints fine but if I'm a little bit away from the end the entire right column doesn't paint. The page I was using as a test is at https://bug720538.bugzilla.mozilla.org/attachment.cgi?id=590899
This fixes the issue for me - I don't know enough to properly comment, but it seems the replacement from bug 720987 wasn't logically equivalent.

Could do with a suggestion for the commit message, assuming that this is the correct way to fix it.
Attachment #593120 - Flags: review?(roc)
Comment on attachment 593120 [details] [diff] [review]
Fix overflow areas on transformed frames

This will regress bug 720987 when there's a transform.
Attachment #593120 - Flags: review?(roc) → review-
(In reply to Matt Brubeck (:mbrubeck) from comment #6)
> (This was previously tracking-fennec:11+, not tracking-firefox11:+.)

I believe you actually want tracking-fennec:12+.
tracking-fennec: 11+ → ?
(In reply to Chris Lord [:cwiiis] from comment #9)
> Created attachment 593120 [details] [diff] [review]
> Fix overflow areas on transformed frames
> 

This fixes the issue for me as well. I don't know what bug 720987 is fixing but in light of this massive regression perhaps it should just be backed out and reworked. Note also that m-c is now going into aurora, carrying this regression with it.
(In reply to Mats Palmgren [:mats] from comment #11)
> Comment on attachment 593120 [details] [diff] [review]
> Fix overflow areas on transformed frames
> 
> This will regress bug 720987 when there's a transform.

Ok, how does it need to be changed to fix the bug and not regress that? Bug 720987 only happening on transformed frames is still a better situation than the one we have now, where native fennec is completely unusable.

I don't really know this code and there are very few comments explaining what things are doing or how they work - could you take this on?
ok, been mxr'ing and I see the problem that bug 720987 solves - I guess this bug would suggest that an UpdateOverflow implementation somewhere is incorrect with respect to transforms?
If Android is a Tier 1 platform, we must back out bug 720987, no?
Comment on attachment 593120 [details] [diff] [review]
Fix overflow areas on transformed frames

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

I'll rubber-stamp this to fix the regression.

Hopefully Mats can work on finding a real fix.
Attachment #593120 - Flags: review- → review+
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #17)
> Comment on attachment 593120 [details] [diff] [review]
> Fix overflow areas on transformed frames
> 
> Review of attachment 593120 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> I'll rubber-stamp this to fix the regression.
> 
> Hopefully Mats can work on finding a real fix.

Thanks, will push to inbound and reopen bug 720987 when the trees open.
Status: NEW → ASSIGNED
Duplicate of this bug: 722830
https://hg.mozilla.org/mozilla-central/rev/a8b8c4489e4e
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 13
Aurora nom?
Comment on attachment 593120 [details] [diff] [review]
Fix overflow areas on transformed frames

[Approval Request Comment]
Regression caused by (bug #): 720987
User impact if declined: browser is unusable because of large blank areas visible on-screen
Testing completed (on m-c, etc.): on m-c
Risk to taking this patch (and alternatives if risky): re-introduces bug 720987 which is not as critical.
String changes made by this patch: none
Attachment #593120 - Flags: approval-mozilla-aurora?
Comment on attachment 593120 [details] [diff] [review]
Fix overflow areas on transformed frames

[Triage Comment]
Will prevent Aurora 12 from being pushed out. Approved.
Attachment #593120 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
This has regressed in mozilla-central.
Assignee: chrislord.net → nobody
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Yeah, I think I see the problem on m.wired.com now, sorry about regressing it again.
I'll just re-land this patch while I'm getting to the bottom of this. This wallpaper
patch is clearly wrong, but since it hides the problem it's fine with me.
The other alternative is making transform changes use a Reflow hint again.
Not sure which is preferable for Fx12, roc?
Depends on: 725664
https://hg.mozilla.org/mozilla-central/rev/fe7a433de8ff

Filed bug 725664 to fix it for real.
Assignee: nobody → chrislord.net
Status: REOPENED → RESOLVED
Closed: 8 years ago8 years ago
No longer depends on: 725664
Resolution: --- → FIXED
Depends on: 725664
(In reply to Mats Palmgren [:mats] from comment #26)
> Not sure which is preferable for Fx12, roc?

wallpaper.
Verified fixed on:

Firefox 13.0a1 (2012-03-02)
20120302031112
http://hg.mozilla.org/mozilla-central/rev/3a7b9e61c263

--
Device: Samsung Galaxy S2
OS: Android 2.3.4
Status: RESOLVED → VERIFIED
Blocks: 764554
Depends on: 790239
Depends on: 790258
tracking-fennec: ? → ---
You need to log in before you can comment on or make changes to this bug.