Bug 1719913 Comment 15 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Next, some content-side dumps.

For WebRender, a WebRenderLayerScrollData tree:

```
WebRenderLayerScrollData(0x7f564c310008), descendantCount=8, visible=[]
    WebRenderLayerScrollData(0x7f564c310188), descendantCount=7, visible=[]
        WebRenderLayerScrollData(0x7f564c310c08), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310a88), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[1268,0,1280,415], scrollbarType=1, scrollbarAnimationId=0x509000000002
        WebRenderLayerScrollData(0x7f564c310908), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310788), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[622,0,634,139], scrollbarType=1, scrollbarAnimationId=0x509000000003
        WebRenderLayerScrollData(0x7f564c310488), descendantCount=1, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, ancestorTransform=[ 1 0; 0 1; 0 50; ], visible=[]
            WebRenderLayerScrollData(0x7f564c310608), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=622, h=859)] [sr=(x=0, y=0, w=622, h=5000)] [s=(0,0)] [dp=(x=0, y=0, w=622, h=2304)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=622, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 3)] scrollId=4 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=3] [overscroll=auto] [1 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310308), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
```

And for non-WebRender, a layer tree:

```
ClientLayerManager (0x7fca4066e800) --- in content order
  ClientContainerLayer (0x7fca3d73a800) [visible=[0,0,1280,859]] [opaqueContent] [presShellResolution=1]
    ClientPaintedLayer (0x7fca3d73b800) [clip=(x=0, y=0, w=0, h=0)] [not visible]
      ContentClient (0x7fca3d789400)
    ClientColorLayer (0x7fca3d740800) [visible=[0,0,1280,859]] { Hit=[0,0,1280,859] } [opaqueContent] [color=dev_rgba(255, 255, 255, 1.000000)] [bounds=(x=0, y=0, w=1280, h=859)]
    ClientContainerLayer (0x7fca3d73b000) [clip=(x=0, y=0, w=1280, h=859)] [visible=[0,0,1280,859]] [asyncZoomContainer scrollId=2] [presShellResolution=1]
      ClientPaintedLayer (0x7fca3d73c800) [visible=[0,0,1280,859]] { Hit=[0,0,1280,859] DispatchToContent=[1268,0,1280,859] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [valid=[0,0,1280,859]]
        ContentClient (0x7fca3d789640)
      ClientContainerLayer (0x7fca3d73c000) [clip=(x=1268, y=0, w=12, h=859)] [visible=[1268,0,1280,415]] [vscrollbar=3] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [presShellResolution=1]
        ClientPaintedLayer (0x7fca3d73d800) [transform=[ 1 0; 0 1; 1268 0; ]] [effective-transform=[ 1 0; 0 1; 1268 0; ]] [visible=[0,0,12,415]] { Hit=[0,0,12,415] DispatchToContent=[0,0,12,415] } [valid=[0,0,12,415]]
          ContentClient (0x7fca3d7897c0)
      ClientPaintedLayer (0x7fca3d743800) [not visible] { Hit=[0,0,1268,1718] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }]
        ContentClient (0x7fca3d794640)
      ClientContainerLayer (0x7fca3d73d000) [clip=(x=0, y=0, w=1268, h=1718)] [transform=[ 1 0; 0 1; 0 50; ]] [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[0,0,634,859]] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [presShellResolution=1]
        ClientPaintedLayer (0x7fca3d73f800) [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[622,0,634,859]] { Hit=[0,0,634,859] DispatchToContent=[622,0,634,859] } [opaqueContent] [valid=[622,0,634,859]]
          ContentClient (0x7fca3d789a00)
        ClientContainerLayer (0x7fca440cd800) [clip=(x=622, y=0, w=12, h=859)] [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[622,0,634,139]] [vscrollbar=4] [presShellResolution=1]
          ClientPaintedLayer (0x7fca440d0000) [transform=[ 1 0; 0 1; 622 0; ]] [effective-transform=[ 1 0; 0 1; 622 50; ]] [visible=[0,0,12,139]] { Hit=[0,0,12,139] DispatchToContent=[0,0,12,139] } [valid=[0,0,12,139]]
            ContentClient (0x7fca3d794700)
        ClientPaintedLayer (0x7fca440ce800) [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[0,0,622,3200]] { Hit=[0,0,622,5000] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=622, h=859)] [sr=(x=0, y=0, w=622, h=5000)] [s=(0,0)] [dp=(x=0, y=0, w=622, h=3200)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=622, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 3)] scrollId=4 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=3] [clip=(x=0, y=0, w=622, h=859)] [overscroll=auto] [1 scrollupdates] }] [valid=[0,0,622,3200]]
          ContentClient (0x7fca3d794880)
      ClientPaintedLayer (0x7fca3d743000) [not visible] { [Parent 23029: Compositor]: 
Hit=[0,859,634,1718] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }]
        ContentClient (0x7fca3d794a00)
```

In both cases, the parent (v=3) and grandparent (v=2) of the v=4 hit-testing tree node come from a single node in the above trees. That single node has two metrics (v=2 and v=3), and the (0,50) transform is present on that node (as a property of the node, not the metrics). However, when the hit-testing tree is created, with WebRender the transform ends up on the v=2 node whereas with non-WR the transform ends up on the v=3 node.
Next, some content-side dumps.

For WebRender, a WebRenderLayerScrollData tree:

```
WebRenderLayerScrollData(0x7f564c310008), descendantCount=8, visible=[]
    WebRenderLayerScrollData(0x7f564c310188), descendantCount=7, visible=[]
        WebRenderLayerScrollData(0x7f564c310c08), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310a88), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[1268,0,1280,415], scrollbarType=1, scrollbarAnimationId=0x509000000002
        WebRenderLayerScrollData(0x7f564c310908), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310788), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[622,0,634,139], scrollbarType=1, scrollbarAnimationId=0x509000000003
        WebRenderLayerScrollData(0x7f564c310488), descendantCount=1, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, ancestorTransform=[ 1 0; 0 1; 0 50; ], visible=[]
            WebRenderLayerScrollData(0x7f564c310608), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=622, h=859)] [sr=(x=0, y=0, w=622, h=5000)] [s=(0,0)] [dp=(x=0, y=0, w=622, h=2304)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=622, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 3)] scrollId=4 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=3] [overscroll=auto] [1 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310308), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
```

And for non-WebRender, a layer tree:

```
ClientLayerManager (0x7fca4066e800) --- in content order
  ClientContainerLayer (0x7fca3d73a800) [visible=[0,0,1280,859]] [opaqueContent] [presShellResolution=1]
    ClientPaintedLayer (0x7fca3d73b800) [clip=(x=0, y=0, w=0, h=0)] [not visible]
    ClientColorLayer (0x7fca3d740800) [visible=[0,0,1280,859]] { Hit=[0,0,1280,859] } [opaqueContent] [color=dev_rgba(255, 255, 255, 1.000000)] [bounds=(x=0, y=0, w=1280, h=859)]
    ClientContainerLayer (0x7fca3d73b000) [clip=(x=0, y=0, w=1280, h=859)] [visible=[0,0,1280,859]] [asyncZoomContainer scrollId=2] [presShellResolution=1]
      ClientPaintedLayer (0x7fca3d73c800) [visible=[0,0,1280,859]] { Hit=[0,0,1280,859] DispatchToContent=[1268,0,1280,859] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [valid=[0,0,1280,859]]
      ClientContainerLayer (0x7fca3d73c000) [clip=(x=1268, y=0, w=12, h=859)] [visible=[1268,0,1280,415]] [vscrollbar=3] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [presShellResolution=1]
        ClientPaintedLayer (0x7fca3d73d800) [transform=[ 1 0; 0 1; 1268 0; ]] [effective-transform=[ 1 0; 0 1; 1268 0; ]] [visible=[0,0,12,415]] { Hit=[0,0,12,415] DispatchToContent=[0,0,12,415] } [valid=[0,0,12,415]]
      ClientPaintedLayer (0x7fca3d743800) [not visible] { Hit=[0,0,1268,1718] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }]
      ClientContainerLayer (0x7fca3d73d000) [clip=(x=0, y=0, w=1268, h=1718)] [transform=[ 1 0; 0 1; 0 50; ]] [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[0,0,634,859]] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [presShellResolution=1]
        ClientPaintedLayer (0x7fca3d73f800) [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[622,0,634,859]] { Hit=[0,0,634,859] DispatchToContent=[622,0,634,859] } [opaqueContent] [valid=[622,0,634,859]]
        ClientContainerLayer (0x7fca440cd800) [clip=(x=622, y=0, w=12, h=859)] [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[622,0,634,139]] [vscrollbar=4] [presShellResolution=1]
          ClientPaintedLayer (0x7fca440d0000) [transform=[ 1 0; 0 1; 622 0; ]] [effective-transform=[ 1 0; 0 1; 622 50; ]] [visible=[0,0,12,139]] { Hit=[0,0,12,139] DispatchToContent=[0,0,12,139] } [valid=[0,0,12,139]]
        ClientPaintedLayer (0x7fca440ce800) [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[0,0,622,3200]] { Hit=[0,0,622,5000] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=622, h=859)] [sr=(x=0, y=0, w=622, h=5000)] [s=(0,0)] [dp=(x=0, y=0, w=622, h=3200)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=622, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 3)] scrollId=4 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=3] [clip=(x=0, y=0, w=622, h=859)] [overscroll=auto] [1 scrollupdates] }] [valid=[0,0,622,3200]]
      ClientPaintedLayer (0x7fca3d743000) [not visible] { [Parent 23029: Compositor]: 
Hit=[0,859,634,1718] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }]
```

In both cases, the parent (v=3) and grandparent (v=2) of the v=4 hit-testing tree node come from a single node in the above trees. That single node has two metrics (v=2 and v=3), and the (0,50) transform is present on that node (as a property of the node, not the metrics). However, when the hit-testing tree is created, with WebRender the transform ends up on the v=2 node whereas with non-WR the transform ends up on the v=3 node.
Next, some content-side dumps.

For WebRender, a WebRenderLayerScrollData tree:

```
WebRenderLayerScrollData(0x7f564c310008), descendantCount=8, visible=[]
    WebRenderLayerScrollData(0x7f564c310188), descendantCount=7, visible=[]
        WebRenderLayerScrollData(0x7f564c310c08), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310a88), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[1268,0,1280,415], scrollbarType=1, scrollbarAnimationId=0x509000000002
        WebRenderLayerScrollData(0x7f564c310908), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310788), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[622,0,634,139], scrollbarType=1, scrollbarAnimationId=0x509000000003
        WebRenderLayerScrollData(0x7f564c310488), descendantCount=1, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, ancestorTransform=[ 1 0; 0 1; 0 50; ], visible=[]
            WebRenderLayerScrollData(0x7f564c310608), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=622, h=859)] [sr=(x=0, y=0, w=622, h=5000)] [s=(0,0)] [dp=(x=0, y=0, w=622, h=2304)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=622, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 3)] scrollId=4 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=3] [overscroll=auto] [1 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310308), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
```

And for non-WebRender, a layer tree:

```
ClientLayerManager (0x7fca4066e800) --- in content order
  ClientContainerLayer (0x7fca3d73a800) [visible=[0,0,1280,859]] [opaqueContent] [presShellResolution=1]
    ClientPaintedLayer (0x7fca3d73b800) [clip=(x=0, y=0, w=0, h=0)] [not visible]
    ClientColorLayer (0x7fca3d740800) [visible=[0,0,1280,859]] { Hit=[0,0,1280,859] } [opaqueContent] [color=dev_rgba(255, 255, 255, 1.000000)] [bounds=(x=0, y=0, w=1280, h=859)]
    ClientContainerLayer (0x7fca3d73b000) [clip=(x=0, y=0, w=1280, h=859)] [visible=[0,0,1280,859]] [asyncZoomContainer scrollId=2] [presShellResolution=1]
      ClientPaintedLayer (0x7fca3d73c800) [visible=[0,0,1280,859]] { Hit=[0,0,1280,859] DispatchToContent=[1268,0,1280,859] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [valid=[0,0,1280,859]]
      ClientContainerLayer (0x7fca3d73c000) [clip=(x=1268, y=0, w=12, h=859)] [visible=[1268,0,1280,415]] [vscrollbar=3] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [presShellResolution=1]
        ClientPaintedLayer (0x7fca3d73d800) [transform=[ 1 0; 0 1; 1268 0; ]] [effective-transform=[ 1 0; 0 1; 1268 0; ]] [visible=[0,0,12,415]] { Hit=[0,0,12,415] DispatchToContent=[0,0,12,415] } [valid=[0,0,12,415]]
      ClientPaintedLayer (0x7fca3d743800) [not visible] { Hit=[0,0,1268,1718] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }]
      ClientContainerLayer (0x7fca3d73d000) [clip=(x=0, y=0, w=1268, h=1718)] [transform=[ 1 0; 0 1; 0 50; ]] [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[0,0,634,859]] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [presShellResolution=1]
        ClientPaintedLayer (0x7fca3d73f800) [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[622,0,634,859]] { Hit=[0,0,634,859] DispatchToContent=[622,0,634,859] } [opaqueContent] [valid=[622,0,634,859]]
        ClientContainerLayer (0x7fca440cd800) [clip=(x=622, y=0, w=12, h=859)] [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[622,0,634,139]] [vscrollbar=4] [presShellResolution=1]
          ClientPaintedLayer (0x7fca440d0000) [transform=[ 1 0; 0 1; 622 0; ]] [effective-transform=[ 1 0; 0 1; 622 50; ]] [visible=[0,0,12,139]] { Hit=[0,0,12,139] DispatchToContent=[0,0,12,139] } [valid=[0,0,12,139]]
        ClientPaintedLayer (0x7fca440ce800) [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[0,0,622,3200]] { Hit=[0,0,622,5000] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=622, h=859)] [sr=(x=0, y=0, w=622, h=5000)] [s=(0,0)] [dp=(x=0, y=0, w=622, h=3200)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=622, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 3)] scrollId=4 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=3] [clip=(x=0, y=0, w=622, h=859)] [overscroll=auto] [1 scrollupdates] }] [valid=[0,0,622,3200]]
      ClientPaintedLayer (0x7fca3d743000) [not visible] { Hit=[0,859,634,1718] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }]
```

In both cases, the parent (v=3) and grandparent (v=2) of the v=4 hit-testing tree node come from a single node in the above trees. That single node has two metrics (v=2 and v=3), and the (0,50) transform is present on that node (as a property of the node, not the metrics). However, when the hit-testing tree is created, with WebRender the transform ends up on the v=2 node whereas with non-WR the transform ends up on the v=3 node.
Next, some content-side dumps.

For WebRender, a WebRenderLayerScrollData tree:

```
WebRenderLayerScrollData(0x7f564c310008), descendantCount=8, visible=[]
    WebRenderLayerScrollData(0x7f564c310188), descendantCount=7, visible=[]
        WebRenderLayerScrollData(0x7f564c310c08), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310a88), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[1268,0,1280,415], scrollbarType=1, scrollbarAnimationId=0x509000000002
        WebRenderLayerScrollData(0x7f564c310908), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310788), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[622,0,634,139], scrollbarType=1, scrollbarAnimationId=0x509000000003
        WebRenderLayerScrollData(0x7f564c310488), descendantCount=1, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, ancestorTransform=[ 1 0; 0 1; 0 50; ], visible=[]
            WebRenderLayerScrollData(0x7f564c310608), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=622, h=859)] [sr=(x=0, y=0, w=622, h=5000)] [s=(0,0)] [dp=(x=0, y=0, w=622, h=2304)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=622, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 3)] scrollId=4 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=3] [overscroll=auto] [1 scrollupdates] }, visible=[]
        WebRenderLayerScrollData(0x7f564c310308), descendantCount=0, metadata0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [overscroll=auto] [0 scrollupdates] }, metadata1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [overscroll=auto] [0 scrollupdates] }, visible=[]
```

And for non-WebRender, a layer tree:

```
ClientLayerManager (0x7fca4066e800) --- in content order
  ClientContainerLayer (0x7fca3d73a800) [visible=[0,0,1280,859]] [opaqueContent] [presShellResolution=1]
    ClientPaintedLayer (0x7fca3d73b800) [clip=(x=0, y=0, w=0, h=0)] [not visible]
    ClientColorLayer (0x7fca3d740800) [visible=[0,0,1280,859]] { Hit=[0,0,1280,859] } [opaqueContent] [color=dev_rgba(255, 255, 255, 1.000000)] [bounds=(x=0, y=0, w=1280, h=859)]
    ClientContainerLayer (0x7fca3d73b000) [clip=(x=0, y=0, w=1280, h=859)] [visible=[0,0,1280,859]] [asyncZoomContainer scrollId=2] [presShellResolution=1]
      ClientPaintedLayer (0x7fca3d73c800) [visible=[0,0,1280,859]] { Hit=[0,0,1280,859] DispatchToContent=[1268,0,1280,859] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [valid=[0,0,1280,859]]
      ClientContainerLayer (0x7fca3d73c000) [clip=(x=1268, y=0, w=12, h=859)] [visible=[1268,0,1280,415]] [vscrollbar=3] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [presShellResolution=1]
        ClientPaintedLayer (0x7fca3d73d800) [transform=[ 1 0; 0 1; 1268 0; ]] [effective-transform=[ 1 0; 0 1; 1268 0; ]] [visible=[0,0,12,415]] { Hit=[0,0,12,415] DispatchToContent=[0,0,12,415] } [valid=[0,0,12,415]]
      ClientPaintedLayer (0x7fca3d743800) [not visible] { Hit=[0,0,1268,1718] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }]
      ClientContainerLayer (0x7fca3d73d000) [clip=(x=0, y=0, w=1268, h=1718)] [transform=[ 1 0; 0 1; 0 50; ]] [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[0,0,634,859]] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }] [presShellResolution=1]
        ClientPaintedLayer (0x7fca3d73f800) [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[622,0,634,859]] { Hit=[0,0,634,859] DispatchToContent=[622,0,634,859] } [opaqueContent] [valid=[622,0,634,859]]
        ClientContainerLayer (0x7fca440cd800) [clip=(x=622, y=0, w=12, h=859)] [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[622,0,634,139]] [vscrollbar=4] [presShellResolution=1]
          ClientPaintedLayer (0x7fca440d0000) [transform=[ 1 0; 0 1; 622 0; ]] [effective-transform=[ 1 0; 0 1; 622 50; ]] [visible=[0,0,12,139]] { Hit=[0,0,12,139] DispatchToContent=[0,0,12,139] } [valid=[0,0,12,139]]
        ClientPaintedLayer (0x7fca440ce800) [effective-transform=[ 1 0; 0 1; 0 50; ]] [visible=[0,0,622,3200]] { Hit=[0,0,622,5000] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=622, h=859)] [sr=(x=0, y=0, w=622, h=5000)] [s=(0,0)] [dp=(x=0, y=0, w=622, h=3200)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=622, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 3)] scrollId=4 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=3] [clip=(x=0, y=0, w=622, h=859)] [overscroll=auto] [1 scrollupdates] }] [valid=[0,0,622,3200]]
      ClientPaintedLayer (0x7fca3d743000) [not visible] { Hit=[0,859,634,1718] } [opaqueContent] [metrics0={ [metrics={ [cb=(x=0, y=0, w=1268, h=859)] [sr=(x=0, y=0, w=1268, h=1718)] [s=(0,0)] [dp=(x=0, y=0, w=1268, h=1718)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1268, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 2)] scrollId=3 }] [color=dev_rgba(0, 0, 0, 0.000000)] [scrollParent=2] [clip=(x=0, y=0, w=1268, h=859)] [overscroll=auto] [0 scrollupdates] }] [metrics1={ [metrics={ [cb=(x=0, y=0, w=1280, h=859)] [sr=(x=0, y=0, w=1280, h=859)] [s=(0,0)] [dp=(x=0, y=0, w=1280, h=859)] [cdp=(x=0, y=0, w=0, h=0)] [rcs=(1280 x 859)] [v=(x=0, y=0, w=1280, h=859)] [z=(ld=1.000 r=1.000 cr=1 z=1 er=1 )] [u=(0 1)] scrollId=2 [rcd] }] [color=dev_rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=1280, h=859)] [overscroll=auto] [0 scrollupdates] }]
```

In both cases, the parent (v=3) and grandparent (v=2) of the v=4 hit-testing tree node come from a single node in the above trees. That single node has two metrics (v=2 and v=3), and the (0,50) transform is present on that node (as a property of the node itself, not one of the metrics). However, when the hit-testing tree is created, with WebRender the transform ends up on the v=2 node whereas with non-WR the transform ends up on the v=3 node.

Back to Bug 1719913 Comment 15