# Transforms specifying singular matrices shouldn't display at all. # NOTE: Regressions might manifest themselves as reftest timeouts on # this test. == singular-1a.html about:blank # Multiple transforms should act identically to nested divs. fuzzy(0-1,0-27) pref(apz.allow_zooming,true) == compound-1a.html compound-1-ref.html != compound-1a.html compound-1-fail.html == dynamic-inherit-1.html dynamic-inherit-1-ref.html == dynamic-addremove-1a.html dynamic-addremove-1-ref.html == dynamic-addremove-1b.html dynamic-addremove-1-ref.html == dynamic-addremove-1c.html dynamic-addremove-1-ref.html == dynamic-addremove-2.html dynamic-addremove-2-ref.html # translatex should act like position: relative == translatex-1a.html translatex-1-ref.html == translatex-1b.html translatex-1-ref.html == translatex-1c.html translatex-1-ref.html == translatex-1d.html translatex-1-ref.html == translatex-1e.html translatex-1-ref.html == translatex-1a.html translatex-1-ref-2.html # translatey should act like position: relative == translatey-1a.html translatey-1-ref.html == translatey-1b.html translatey-1-ref.html == translatey-1c.html translatey-1-ref.html == translatey-1d.html translatey-1-ref.html == translatey-1e.html translatey-1-ref.html # matrices defined to be translations should act like position: relative == translatex-2.html translatex-1-ref.html == translatey-2.html translatey-1-ref.html # translate should act like position: relative != translate-1a.html translate-1-ref.html == translate-1b.html translate-1-ref.html == translate-1c.html translate-1-ref.html == translate-1d.html translate-1-ref.html == translate-1e.html translate-1-ref.html == translate-2a.html translate-2-ref.html == translate-3.html translate-3-ref.html # rotate: Several rotations of the same object should be idempotent. These # tests are currently disabled because of subpixel (< 0.00001 gfx units) # rounding errors. random == rotate-1a.html rotate-1-ref.html random == rotate-1b.html rotate-1-ref.html random == rotate-1c.html rotate-1-ref.html random == rotate-1d.html rotate-1-ref.html random == rotate-1e.html rotate-1-ref.html random == rotate-1f.html rotate-1-ref.html # rotate: 90deg rotations should be indistinguishable from objects constructed # to look the same. == rotate-2a.html rotate-2-ref.html == rotate-2b.html rotate-2-ref.html # -transform-origin: We should NOT get the same images when using different # -transform-origins. != origin-1a.html origin-1-ref.html != origin-1b.html origin-1-ref.html # -transform-origin: We should get the same images when using equivalent # -transform-origins. == origin-2a.html origin-2-ref.html == origin-2b.html origin-2-ref.html == origin-2c.html origin-2-ref.html # "Translate" with percentages should be indistinguishable from translate with # equivalent values. == percent-1a.html percent-1-ref.html fuzzy(0-1,0-2) == percent-1b.html percent-1-ref.html fuzzy(0-1,0-80) == percent-1c.html percent-1-ref.html fuzzy(0-1,0-80) == percent-1d.html percent-1-ref.html fuzzy(0-1,0-80) == percent-1e.html percent-1-ref.html fuzzy(0-1,0-80) == percent-1f.html percent-1-ref.html fuzzy(0-1,0-80) == percent-1g.html percent-1-ref.html # Transformed elements are abs-pos and fixed-pos containing blocks. == abspos-1a.html abspos-1-ref.html == abspos-1b.html abspos-1-ref.html == abspos-1c.html abspos-1-ref.html == abspos-1d.html abspos-1-ref.html != abspos-1e.html abspos-1-ref.html == abspos-1f.html abspos-1-ref.html == abspos-1g.html abspos-1-ref.html # Origin can use "top" "right" etc. == origin-name-1a.html origin-name-1-ref.html fuzzy(0-1,0-19) == origin-name-1b.html origin-name-1-ref.html == origin-name-2a.html origin-name-2-ref.html == origin-name-2b.html origin-name-2-ref.html fuzzy(0-1,0-350) == origin-name-2c.html origin-name-2-ref.html == origin-name-3a.html origin-name-3-ref.html == origin-name-3b.html origin-name-3-ref.html # Snapping still applies after 90 degree rotations. == snapping-1.html snapping-1-ref.html # SVG effects should work on transforms. == transform-svg-1a.xhtml transform-svg-1-ref.xhtml fuzzy(0-2,0-500) == transform-svg-2a.xhtml transform-svg-2-ref.xhtml != transform-svg-2a.xhtml transform-svg-2-fail.xhtml # skew should allow a mix of one and two parameters. fuzzy(0-1,0-20) == skew-1a.html skew-1-ref.html fuzzy(0-1,0-80) == skew-1b.html skew-1-ref.html fuzzy(0-1,0-250) == skew-2a.html skew-2-ref.html # matrix with values equal to other transforms should behave indistinguishably == matrix-1a.html matrix-1-ref.html == matrix-2a.html matrix-2-ref.html == matrix-3a.html matrix-3-ref.html == matrix-4a.html matrix-4-ref.html fuzzy(0-1,0-120) == matrix-5a.html matrix-5-ref.html fuzzy(0-1,0-110) == matrix-6a.html matrix-6-ref.html == matrix-7a.html matrix-7-ref.html # ensure matrix 3d does not break us - should do nothing == matrix3d-1.html matrix3d-1-ref.html # Test that complex transform can be reversed fuzzy(0-2,0-5) == stresstest-1.html stresstest-1-ref.html # Test scale transforms == scalex-1.html scalex-1-ref.html == scaley-1.html scaley-1-ref.html == scale-1a.html scale-1-ref.html == scale-1b.html scale-1-ref.html == scale-percent-1.html scale-percent-1-ref.html == scaled-blend-mode.html scaled-blend-mode-ref.html # Some simple checks that it obeys selector operations == descendant-1.html descendant-1-ref.html == propagate-inherit-boolean.html propagate-inherit-boolean-ref.html # Ensure you can't move outside an iframe == iframe-1.html iframe-1-ref.html # Bugs == 601894-1.html 601894-ref.html == 601894-2.html 601894-ref.html == 830299-1.html 830299-1-ref.html # Bug 722777 == table-1a.html table-1-ref.html == table-1b.html table-1-ref.html == table-1c.html table-1-ref.html == table-2a.html table-2-ref.html == table-2b.html table-2-ref.html # Bug 722463 == inline-1a.html inline-1-ref.html == transform-box-svg-1a.svg transform-box-svg-1-ref.svg == transform-box-svg-1b.svg transform-box-svg-1-ref.svg == transform-box-svg-2a.svg transform-box-svg-2-ref.svg == transform-box-svg-2b.svg transform-box-svg-2-ref.svg == transform-box-svg-3a.svg pass.svg == transform-origin-svg-1a.svg transform-origin-svg-1-ref.svg == transform-origin-svg-1b.svg transform-origin-svg-1-ref.svg == transform-origin-svg-2a.svg transform-origin-svg-2-ref.svg == transform-origin-svg-2b.svg transform-origin-svg-2-ref.svg # Bug 1122526 == animate-layer-scale-inherit-1.html animate-layer-scale-inherit-1-ref.html fuzzy(0-145,0-10000) == animate-layer-scale-inherit-2.html animate-layer-scale-inherit-2-ref.html == animate-layer-scale-inherit-3.html animate-layer-scale-inherit-1-ref.html # Bug 1301500 == dynamic-add-without-change-cb-1.html dynamic-add-without-change-cb-1-ref.html skip-if(useDrawSnapshot) fuzzy(0-26,0-208) == table-overflowed-by-animation.html table-overflowed-by-animation-ref.html # Bug 1715402 for useDrawSnapshot&&webrender == translate-rounding-1.html translate-rounding-ref.html == translate-rounding-2.html translate-rounding-ref.html fails == translate-rounding-3.html translate-rounding-viewport-ref.html # bug 1397146 == invalidate-transform-1.html invalidate-transform-1-ref.html == invalidate-svg-scale-1.html invalidate-svg-scale-1-ref.html # Bug 1526847 pref(layout.css.individual-transform.enabled,true) == animate-layer-scale-inherit-4.html animate-layer-scale-inherit-4-ref.html fuzzy-if(winWidget,0-1,0-1000) == 1569215-1.html 1569215-1-ref.html test-pref(layout.css.zoom-transform-hack.enabled,true) == zoom-hack-1.html zoom-hack-ref.html test-pref(layout.css.zoom-transform-hack.enabled,false) != zoom-hack-1.html zoom-hack-ref.html test-pref(layout.css.zoom-transform-hack.enabled,true) == zoom-hack-2.html zoom-hack-ref.html == transform-anon-block-1.html transform-anon-block-1-ref.html test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) == partial-prerender-expansion-translate.html partial-prerender-expansion-ref.html test-pref(layout.animation.prerender.partial,true) == partial-prerender-translate-1.html about:blank test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") fuzzy(0-59,0-1800) fuzzy-if(Android,0-255,0-7000) == partial-prerender-translate-2.html partial-prerender-translate-2-ref.html test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") random == partial-prerender-translate-3.html partial-prerender-translate-3-ref.html # bug 1642575 # This reftest doesn't fail on WebRender, this reftest fails only if there is a jank mechanism and the mechanism doesn't properly handle ancestor's transform values test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") == partial-prerender-translate-4.html partial-prerender-expansion-ref.html # This reftest doesn't fail on WebRender, this reftest fails only if there is a jank mechanism and the mechanism does inproperly handle position:fixed scroll target test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") == partial-prerender-translate-5.html partial-prerender-translate-5-ref.html random-if(useDrawSnapshot) test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") fuzzy(0-46,0-1250) fuzzy-if(Android,0-255,0-9900) random-if(gtkWidget&&isDebugBuild) == partial-prerender-translate-6.html partial-prerender-translate-6-ref.html test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") fuzzy(0-4,0-1200) == partial-prerender-translate-7.html partial-prerender-translate-2-ref.html # This reftest doesn't fail on WebRender, this reftest fails only if there is a jank mechanism and the mechanism doesn't properly clip transform in iframes. test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") == partial-prerender-translate-8.html partial-prerender-translate-8-ref.html # This reftest doesn't fail on WebRender, this reftest fails only if there is a jank mechanism and the mechanism does inproperly handle position:fixed scroll target fails-if(useDrawSnapshot) test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") == partial-prerender-translate-9.html partial-prerender-translate-5-ref.html test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") == partial-prerender-translate-10.html partial-prerender-translate-10-ref.html test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") == partial-prerender-translate-11.html partial-prerender-translate-11-ref.html skip test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") == partial-prerender-translate-12.html partial-prerender-translate-2-ref.html # bug 1666692 for WebRender # This reftest heavily depends on layout.animation.prerender.viewport-ratio-limit # and reftest viewport size (800, 1000). skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)||Android) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") fuzzy-if(!layersGPUAccelerated,0-75,0-2683) == partial-prerender-expansion-rotate.html partial-prerender-expansion-ref.html skip-if(useDrawSnapshot) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") pref(dom.meta-viewport.enabled,true) pref(apz.allow_zooming,true) == partial-prerender-expansion-with-resolution-1.html partial-prerender-expansion-with-resolution-ref.html skip test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") pref(dom.meta-viewport.enabled,true) pref(apz.allow_zooming,true) == partial-prerender-expansion-with-resolution-2.html partial-prerender-expansion-with-resolution-ref.html # bug 1650039 for WebRender test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") fuzzy-if(Android,0-255,0-400) == partial-prerender-in-svg-1.html partial-prerender-in-svg-1-ref.html test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") == partial-prerender-in-svg-2.html partial-prerender-in-svg-1-ref.html # Reuse partial-prerender-in-svg-1-ref.html since the result should look same as partial-prerender-in-svg-1.html test-pref(layout.animation.prerender.partial.jank,true) test-pref(layout.animation.prerender.partial,true) test-pref(layout.animation.prerender.viewport-ratio-limit,"1.125") fuzzy(0-62,0-400) fuzzy-if(Android,0-255,0-2000) == partial-prerender-in-svg-3.html partial-prerender-in-svg-3-ref.html