diff options
Diffstat (limited to 'gfx/wr/wrench/reftests/scrolling/sticky-applied.yaml')
-rw-r--r-- | gfx/wr/wrench/reftests/scrolling/sticky-applied.yaml | 367 |
1 files changed, 367 insertions, 0 deletions
diff --git a/gfx/wr/wrench/reftests/scrolling/sticky-applied.yaml b/gfx/wr/wrench/reftests/scrolling/sticky-applied.yaml new file mode 100644 index 0000000000..21a9dc4743 --- /dev/null +++ b/gfx/wr/wrench/reftests/scrolling/sticky-applied.yaml @@ -0,0 +1,367 @@ +root: + items: + # Tests sticky-positioned items with previously-applied-offsets. + + # This item is bottom-sticky; we indicate to WR that it already has had + # a sticky offset of y=-50 applied, and then scroll down by 50 pixels. WR + # should unapply the entire 50px that was applied, and leave the rect + # visually in the same spot. + - type: scroll-frame + id: 2 + bounds: [10, 10, 50, 50] + content-size: [200, 200] + scroll-offset: [0, 50] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [10, 10, 50, 50] + margin-bottom: 0 + vertical-offset-bounds: [-500, 0] + previously-applied-offset: [0, -50] + items: + - type: rect + bounds: [10, 10, 50, 50] + color: green + clip-chain: [2] + # Same as above, but this time we only indicate a previous-applied-offset + # of 40 pixels, so that's the maximum WR will unapply + - type: scroll-frame + id: 3 + bounds: [10, 70, 50, 50] + content-size: [200, 200] + scroll-offset: [0, 50] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [10, 70, 50, 50] + margin-bottom: 0 + vertical-offset-bounds: [-500, 0] + previously-applied-offset: [0, -40] + items: + - type: rect + bounds: [10, 70, 50, 50] + color: green + clip-chain: [3] + # This time we indicate a previously-applied-offset of 50 pixels, but only + # scroll by 40 pixels. In this case 40 of the 50 applied-offset pixels will + # be unapplied + - type: scroll-frame + id: 4 + bounds: [10, 130, 50, 50] + content-size: [200, 200] + scroll-offset: [0, 40] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [10, 130, 50, 50] + margin-bottom: 0 + vertical-offset-bounds: [-500, 0] + previously-applied-offset: [0, -50] + items: + - type: rect + bounds: [10, 130, 50, 50] + color: green + clip-chain: [4] + # Here we indicate a previously-applied-offset of 50 pixels, but continue + # scrolling in WR in the same direction by another 10 pixels. This effectively + # increases the applied offset to 60 pixels. + - type: scroll-frame + id: 5 + bounds: [10, 190, 50, 50] + content-size: [200, 200] + scroll-offset: [0, -10] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [10, 190, 50, 50] + margin-bottom: 0 + vertical-offset-bounds: [-500, 0] + previously-applied-offset: [0, -50] + items: + - type: rect + bounds: [10, 190, 50, 50] + color: green + clip-chain: [5] + # Same as previous case, but this time with the vertical-offset-bounds + # adjusted to limit the applied offset to only 55 pixels. + - type: scroll-frame + id: 6 + bounds: [10, 250, 50, 50] + content-size: [200, 200] + scroll-offset: [0, -10] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [10, 250, 50, 50] + margin-bottom: 0 + vertical-offset-bounds: [-55, 0] + previously-applied-offset: [0, -50] + items: + - type: rect + bounds: [10, 250, 50, 50] + color: green + clip-chain: [6] + + # Repeat all the above cases, for top-sticky + + - type: scroll-frame + id: 7 + bounds: [70, 10, 50, 50] + content-size: [200, 200] + scroll-offset: [0, -50] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [70, 10, 50, 50] + margin-top: 0 + vertical-offset-bounds: [0, 500] + previously-applied-offset: [0, 50] + items: + - type: rect + bounds: [70, 10, 50, 50] + color: green + clip-chain: [7] + - type: scroll-frame + id: 8 + bounds: [70, 70, 50, 50] + content-size: [200, 200] + scroll-offset: [0, -50] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [70, 70, 50, 50] + margin-top: 0 + vertical-offset-bounds: [0, 500] + previously-applied-offset: [0, 40] + items: + - type: rect + bounds: [70, 70, 50, 50] + color: green + clip-chain: [8] + - type: scroll-frame + id: 9 + bounds: [70, 130, 50, 50] + content-size: [200, 200] + scroll-offset: [0, -40] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [70, 130, 50, 50] + margin-top: 0 + vertical-offset-bounds: [0, 500] + previously-applied-offset: [0, 50] + items: + - type: rect + bounds: [70, 130, 50, 50] + color: green + clip-chain: [9] + - type: scroll-frame + id: 10 + bounds: [70, 190, 50, 50] + content-size: [200, 200] + scroll-offset: [0, 10] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [70, 190, 50, 50] + margin-top: 0 + vertical-offset-bounds: [0, 500] + previously-applied-offset: [0, 50] + items: + - type: rect + bounds: [70, 190, 50, 50] + color: green + clip-chain: [10] + - type: scroll-frame + id: 11 + bounds: [70, 250, 50, 50] + content-size: [200, 200] + scroll-offset: [0, 10] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [70, 250, 50, 50] + margin-top: 0 + vertical-offset-bounds: [0, 55] + previously-applied-offset: [0, 50] + items: + - type: rect + bounds: [70, 250, 50, 50] + color: green + clip-chain: [11] + + # Repeat all the above cases, for right-sticky + + - type: scroll-frame + id: 12 + bounds: [130, 10, 50, 50] + content-size: [200, 200] + scroll-offset: [50, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [130, 10, 50, 50] + margin-right: 0 + horizontal-offset-bounds: [-500, 0] + previously-applied-offset: [-50, 0] + items: + - type: rect + bounds: [130, 10, 50, 50] + color: green + clip-chain: [12] + - type: scroll-frame + id: 13 + bounds: [130, 70, 50, 50] + content-size: [200, 200] + scroll-offset: [50, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [130, 70, 50, 50] + margin-right: 0 + horizontal-offset-bounds: [-500, 0] + previously-applied-offset: [-40, 0] + items: + - type: rect + bounds: [130, 70, 50, 50] + color: green + clip-chain: [13] + - type: scroll-frame + id: 14 + bounds: [130, 130, 50, 50] + content-size: [200, 200] + scroll-offset: [40, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [130, 130, 50, 50] + margin-right: 0 + horizontal-offset-bounds: [-500, 0] + previously-applied-offset: [-50, 0] + items: + - type: rect + bounds: [130, 130, 50, 50] + color: green + clip-chain: [14] + - type: scroll-frame + id: 15 + bounds: [130, 190, 50, 50] + content-size: [200, 200] + scroll-offset: [-10, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [130, 190, 50, 50] + margin-right: 0 + horizontal-offset-bounds: [-500, 0] + previously-applied-offset: [-50, 0] + items: + - type: rect + bounds: [130, 190, 50, 50] + color: green + clip-chain: [15] + - type: scroll-frame + id: 16 + bounds: [130, 250, 50, 50] + content-size: [200, 200] + scroll-offset: [-10, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [130, 250, 50, 50] + margin-right: 0 + horizontal-offset-bounds: [-55, 0] + previously-applied-offset: [-50, 0] + items: + - type: rect + bounds: [130, 250, 50, 50] + color: green + clip-chain: [16] + + # Repeat all the above cases, for left-sticky + + - type: scroll-frame + id: 17 + bounds: [190, 10, 50, 50] + content-size: [200, 200] + scroll-offset: [-50, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [190, 10, 50, 50] + margin-left: 0 + horizontal-offset-bounds: [0, 500] + previously-applied-offset: [50, 0] + items: + - type: rect + bounds: [190, 10, 50, 50] + color: green + clip-chain: [17] + - type: scroll-frame + id: 18 + bounds: [190, 70, 50, 50] + content-size: [200, 200] + scroll-offset: [-50, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [190, 70, 50, 50] + margin-left: 0 + horizontal-offset-bounds: [0, 500] + previously-applied-offset: [40, 0] + items: + - type: rect + bounds: [190, 70, 50, 50] + color: green + clip-chain: [18] + - type: scroll-frame + id: 19 + bounds: [190, 130, 50, 50] + content-size: [200, 200] + scroll-offset: [-40, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [190, 130, 50, 50] + margin-left: 0 + horizontal-offset-bounds: [0, 500] + previously-applied-offset: [50, 0] + items: + - type: rect + bounds: [190, 130, 50, 50] + color: green + clip-chain: [19] + - type: scroll-frame + id: 20 + bounds: [190, 190, 50, 50] + content-size: [200, 200] + scroll-offset: [10, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [190, 190, 50, 50] + margin-left: 0 + horizontal-offset-bounds: [0, 500] + previously-applied-offset: [50, 0] + items: + - type: rect + bounds: [190, 190, 50, 50] + color: green + clip-chain: [20] + - type: scroll-frame + id: 21 + bounds: [190, 250, 50, 50] + content-size: [200, 200] + scroll-offset: [10, 0] + clip-to-frame: true + items: + - type: sticky-frame + bounds: [190, 250, 50, 50] + margin-left: 0 + horizontal-offset-bounds: [0, 55] + previously-applied-offset: [50, 0] + items: + - type: rect + bounds: [190, 250, 50, 50] + color: green + clip-chain: [21] |