Closed
Bug 1178354
Opened 10 years ago
Closed 10 years ago
layout/reftests/w3c-css/submitted/css21/pagination/moz-css21-table-page-break-inside-avoid-4.html fails on R-e10s with APZ enabled
Categories
(Core :: Panning and Zooming, defect)
Core
Panning and Zooming
Tracking
()
RESOLVED
FIXED
mozilla42
People
(Reporter: kats, Assigned: kats)
References
Details
(Whiteboard: [gfx-noted])
Attachments
(1 file, 1 obsolete file)
3.30 KB,
patch
|
tnikkel
:
review+
|
Details | Diff | Splinter Review |
When APZ is enabled a bunch of reftests fail on Linux R-e10s. tests/layout/reftests/w3c-css/submitted/css21/pagination/moz-css21-table-page-break-inside-avoid-4.html is one of them, and this bug is to track that. See https://treeherder.mozilla.org/#/jobs?repo=try&revision=67ec1b076ad0 for an example push that has this failure.
Updated•10 years ago
|
tracking-e10s:
--- → -
Updated•10 years ago
|
Whiteboard: [gfx-noted]
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → bugmail.mozilla
Assignee | ||
Comment 1•10 years ago
|
||
So, in a newer try push I didn't see this reftest fail but I saw a different one (layout/reftests/w3c-css/submitted/css21/pagination/moz-css21-row-page-break-inside-avoid-2.html) fail in the same way. I was able to reproduce it locally.
I ran it with layer texture dumping enabled and the textures didn't show the problem. I then ran it with gfx.xrender.enabled=false (thanks acomminos for that tip!) and stuck a watchpoint on the raw pixel data in the cairo_image_surface_t and reverse-executed in rr, tracing through the copies and so on. It turned out that the white rect was coming from the DrawQuad call at [1] because a layer was getting a scrollId but had an empty displayport and so was hitting the LayerHasCheckerboardingAPZC check.
Tracing backwards from there, the displayport margins are supposed to get set in the before-first-paint listener in TabChild.cpp, but that wasn't getting hit, because the before-first-paint event itself wasn't firing on that document. That in turn was because UnsuppressPainting was early-exiting as the painting was already unsuppressed. In fact, it was never suppressed to begin with, because of [2].
[1] http://mxr.mozilla.org/mozilla-central/source/gfx/layers/composite/ContainerLayerComposite.cpp?rev=91d6e262b662#358
[2] http://mxr.mozilla.org/mozilla-central/source/layout/base/nsPresShell.cpp?rev=fee45cd9a4d9#1712
Assignee | ||
Comment 2•10 years ago
|
||
This patch fixes it for me locally, although I'm not sure if there's any assumptions this violates. I'll do a try push both with and without APZ to make sure it doesn't break anything and fixes the failure on try.
Assignee | ||
Comment 3•10 years ago
|
||
Slight update to also catch the case where the timer initialization fails, just in case.
Attachment #8638081 -
Attachment is obsolete: true
Comment 4•10 years ago
|
||
Comment on attachment 8638087 [details] [diff] [review]
Patch
This makes sense to me.
Attachment #8638087 -
Flags: review+
Assignee | ||
Comment 5•10 years ago
|
||
Try looks green as well: https://treeherder.mozilla.org/#/jobs?repo=try&revision=8b3974d7b5c8
Comment 7•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in
before you can comment on or make changes to this bug.
Description
•