Closed
Bug 1409508
Opened 7 years ago
Closed 7 years ago
Make layout/reftests/async-scrolling/sticky-pos-scrollable-1.html pass correctly
Categories
(Core :: Graphics: WebRender, enhancement, P1)
Tracking
()
RESOLVED
FIXED
mozilla58
Tracking | Status | |
---|---|---|
firefox57 | --- | unaffected |
firefox58 | --- | unaffected |
People
(Reporter: kats, Assigned: kats)
References
Details
(Whiteboard: [wr-mvp] [gfx-noted])
Attachments
(2 files, 1 obsolete file)
This reftest is currently passing with WR enabled, but it does so because of a "two wrongs making a right" situation. The patches in bug 1409446 affect the way clips are defined on the gecko side, and cause this test to start failing. This bug is to track the correct fix.
Assignee | ||
Updated•7 years ago
|
Assignee | ||
Comment 1•7 years ago
|
||
Note that in current m-c (prior to bug 1409446) the clip with id=8 is getting defined while the clip id=3 is the most recently pushed thing. This means that clip id=8 is effectively defined outside the sticky clip (id=7) and the rect that is pushed later is inside clip 8 which means it is also outside the sticky clip. Effectively the rect is attached to the root scrollframe and doesn't move at all which I believe is wrong.
Assignee | ||
Comment 2•7 years ago
|
||
This patch applies on top of bug 1409446 and fixes the clip chains by making the cache override behave differently. That is, the sticky clip id=7 introduces a new cache override, but instead of just causing the override for id=6, we make it add overrides for the entire clip chain, including id=3. This way when we go to define id=8, we pick up the override and make it a child of sticky id=7 instead of id=3.
This makes the clip ancestry correct, as far as I can tell, however the reftest still fails because the yellow rect is mispositioned by 10 pixels. I haven't investigated that but I'm guessing that's coming from the origin adjustment that sticky positioning introduces [1].
[1] http://searchfox.org/mozilla-central/rev/a984558fa2bbde6492d3fb918496fc0b0835b2ce/layout/painting/nsDisplayList.cpp#7137
Assignee | ||
Comment 3•7 years ago
|
||
The 10,10 mispositioning is not coming from the origin adjustment. AFAICT we're doing things fine on the gecko side so maybe it's a bug in WR. At any rate I'm going to continue working on bug 1405359 for now and circle back to this later.
Updated•7 years ago
|
Updated•7 years ago
|
Priority: P3 → P2
Whiteboard: [gfx-noted][wr-mvp][triage] → [wr-mvp] [gfx-noted]
Assignee | ||
Comment 4•7 years ago
|
||
The WIP on this bug requires the patches in bug 1409446 to land first. And the "10,10 mispositioning" I mentioned in a previous comment will be fixed by the patch I'm going to post to bug 1410527.
Depends on: 1409446
Assignee | ||
Comment 5•7 years ago
|
||
Parking this with me since I have all the patches needed to make this pass. It's just waiting on a queue of patches that need to get reviewed and land.
Assignee: nobody → bugmail
Status: NEW → ASSIGNED
Priority: P2 → P1
Assignee | ||
Comment 6•7 years ago
|
||
Comment hidden (mozreview-request) |
Comment 8•7 years ago
|
||
mozreview-review |
Comment on attachment 8922034 [details]
Bug 1409508 - Handle another clip edge case.
https://reviewboard.mozilla.org/r/193032/#review198280
Thank you for the long comment.
Attachment #8922034 -
Flags: review?(mstange) → review+
Assignee | ||
Updated•7 years ago
|
Attachment #8919449 -
Attachment is obsolete: true
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/732521699363
Handle another clip edge case. r=mstange
Comment 10•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in
before you can comment on or make changes to this bug.
Description
•