Closed Bug 1458598 Opened 6 years ago Closed 6 years ago

Make layout/reftests/async-scrolling/fixed-pos-scrolled-clip-3.html pass on linux64-qr with APZ enabled

Categories

(Core :: Graphics: WebRender, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox61 --- wontfix
firefox62 --- fixed

People

(Reporter: kats, Assigned: kats)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(2 files)

+++ This bug was initially created as a clone of Bug #1377187 +++ With WR+APZ enabled, the layout/reftests/async-scrolling/fixed-pos-scrolled-clip-3.html reftest fails. This bug is for the patches that make it pass, without regressing any "earlier" tests.
Part of the problem here is the scrollbar isn't showing up properly, but that's fixed by bug 1451168. The other part of the problem is that we have a situation like so: DefineScrollFrame (the root scrollframe) PushStackingContext with transform (10, 10) DefineScrollFrame (the overflow:scroll item) <fixed item> Right now (with the patches in bug 1377187) we ending up using the root scrollframe as the scrollid for the fixed item, which means it gets hoisted out of the transform, and so position of the fixed item is off by 10,10. I verified this by injecting a dummy infinite-rect clip inside the stacking context like so: DefineScrollFrame (the root scrollframe) PushStackingContext with transform (10, 10) Dummy Clip DefineScrollFrame (the overflow:scroll item) <fixed item> and then using the dummy clip as the scrollid for the fixed item. That fixed the problem but isn't really a great solution because we're going to introduce a ton of dummy clips. Instead we should expose the reference frame clip id that is created by the stacking context and use that as the scrollid for the fixed item.
Depends on: 1451168
The three failures don't seem to be specific to the patches that I wrote for this bug; instead they seem to be a result of combining the patches on bug 1377187 and bug 1451168. So I'll have to fuzz them when I land bug 1377187.
The patches here depend on servo/webrender#2720 which should be in the next WR update.
Depends on: 1457891
Comment on attachment 8972854 [details] Bug 1458598 - Expose the generated reference frame id for stacking contexts. https://reviewboard.mozilla.org/r/241410/#review248064
Attachment #8972854 - Flags: review?(mstange) → review+
Comment on attachment 8972855 [details] Bug 1458598 - Override scrollframes with their descendant reference frames. https://reviewboard.mozilla.org/r/241412/#review248068
Attachment #8972855 - Flags: review?(mstange) → review+
Pushed by kgupta@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/06170521ac0a Expose the generated reference frame id for stacking contexts. r=mstange https://hg.mozilla.org/integration/autoland/rev/0bb3414bd6af Override scrollframes with their descendant reference frames. r=mstange
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: