Closed Bug 1458598 Opened Last year Closed Last year

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

(Blocks 2 open bugs)

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
https://hg.mozilla.org/mozilla-central/rev/06170521ac0a
https://hg.mozilla.org/mozilla-central/rev/0bb3414bd6af
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.