aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/MANIFEST.json723
-rw-r--r--tests/wpt/metadata/css/css-animations/AnimationEffect-getComputedTiming.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/CSSTransition-canceling.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/CSSTransition-currentTime.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/CSSTransition-effect.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/CSSTransition-finished.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/CSSTransition-ready.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/CSSTransition-startTime.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/CSSTransition-transitionProperty.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/Document-getAnimations.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/Element-getAnimations.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/KeyframeEffect-target.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/before-DOMContentLoaded-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-transitions/before-load-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-transitions/changing-while-transition.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-transitions/event-dispatch.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/events-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/events-005.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-transitions/events-006.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/events-007.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/hidden-container-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/transition-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/transition-delay-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/transition-duration-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/transition-property-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/transition-property-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-transitions/transition-timing-function-001.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini40
-rw-r--r--tests/wpt/metadata/url/urlencoded-parser.any.js.ini29
-rw-r--r--tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/compositing/parsing/isolation-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/compositing/parsing/isolation-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/compositing/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/compositing/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/AnimationEffect-getComputedTiming.tentative.html (renamed from tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-getComputedTiming.tentative.html)2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-animationName.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-canceling.tentative.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-effect.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-finished.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-id.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-pausing.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-playState.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-ready.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-startTime.tentative.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/CSSPseudoElement-getAnimations.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/KeyframeEffect-target.tentative.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/event-dispatch.tentative.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/box-shadow-syntax-001.html79
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-invalid.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-valid.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-backgrounds/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/clear-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/clear-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/float-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/float-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/height-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/height-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/margin-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/margin-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/max-height-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/max-height-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/max-width-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/max-width-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/min-height-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/min-height-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/min-width-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/min-width-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/overflow-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/overflow-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/padding-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/padding-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-box/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/visibility-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/visibility-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/width-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-box/parsing/width-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-cascade/parsing/all-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-cascade/parsing/all-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-cascade/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-cascade/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/color-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/color-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/opacity-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/opacity-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-color/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/object-position-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/object-position-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-images/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-masking/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-shapes/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-transforms/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html329
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-canceling.tentative.html252
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative.html110
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html122
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-finished.tentative.html40
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-ready.tentative.html73
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-startTime.tentative.html116
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-transitionProperty.tentative.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html94
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/Element-getAnimations.tentative.html117
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html135
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-target.tentative.html69
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/event-dispatch.tentative.html409
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/support/helper.js85
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-mandatory.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-optional.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-optional.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/resize-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/resize-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-ui/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/css-writing-modes/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/filter-effects/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/motion/parsing/support/parsing-testcommon.js (renamed from tests/wpt/web-platform-tests/css/motion/support/parsing-testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/css/support/parsing-testcommon.js39
250 files changed, 2834 insertions, 690 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 16fccc8cc4b..c5405775129 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -241755,7 +241755,7 @@
{}
]
],
- "css/compositing/support/parsing-testcommon.js": [
+ "css/compositing/parsing/support/parsing-testcommon.js": [
[
{}
]
@@ -242440,6 +242440,11 @@
{}
]
],
+ "css/css-backgrounds/parsing/support/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/css-backgrounds/reference/60x60-green-background.html": [
[
{}
@@ -242935,11 +242940,6 @@
{}
]
],
- "css/css-backgrounds/support/parsing-testcommon.js": [
- [
- {}
- ]
- ],
"css/css-backgrounds/support/pattern-grg-rgr-grg.png": [
[
{}
@@ -243110,7 +243110,7 @@
{}
]
],
- "css/css-box/support/parsing-testcommon.js": [
+ "css/css-box/parsing/support/parsing-testcommon.js": [
[
{}
]
@@ -243140,12 +243140,12 @@
{}
]
],
- "css/css-cascade/reference/ref-filled-green-100px-square.xht": [
+ "css/css-cascade/parsing/support/parsing-testcommon.js": [
[
{}
]
],
- "css/css-cascade/support/parsing-testcommon.js": [
+ "css/css-cascade/reference/ref-filled-green-100px-square.xht": [
[
{}
]
@@ -243210,12 +243210,12 @@
{}
]
],
- "css/css-color/rebeccapurple-ref.html": [
+ "css/css-color/parsing/support/parsing-testcommon.js": [
[
{}
]
],
- "css/css-color/support/parsing-testcommon.js": [
+ "css/css-color/rebeccapurple-ref.html": [
[
{}
]
@@ -254270,6 +254270,11 @@
{}
]
],
+ "css/css-images/parsing/support/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/css-images/support/1x1-green.gif": [
[
{}
@@ -254365,11 +254370,6 @@
{}
]
],
- "css/css-images/support/parsing-testcommon.js": [
- [
- {}
- ]
- ],
"css/css-images/support/pattern-grg-rgr-grg.png": [
[
{}
@@ -254955,7 +254955,7 @@
{}
]
],
- "css/css-masking/support/parsing-testcommon.js": [
+ "css/css-masking/parsing/support/parsing-testcommon.js": [
[
{}
]
@@ -257540,6 +257540,11 @@
{}
]
],
+ "css/css-shapes/parsing/support/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/css-shapes/shape-outside/formatting-context/reference/shape-outside-formatting-context-ref.html": [
[
{}
@@ -257925,11 +257930,6 @@
{}
]
],
- "css/css-shapes/support/parsing-testcommon.js": [
- [
- {}
- ]
- ],
"css/css-shapes/support/pattern-grg-rgr-grg.png": [
[
{}
@@ -260870,6 +260870,11 @@
{}
]
],
+ "css/css-transforms/parsing/support/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/css-transforms/patternTransform/reference/svg-patternTransform-combination-ref.html": [
[
{}
@@ -261240,11 +261245,6 @@
{}
]
],
- "css/css-transforms/support/parsing-testcommon.js": [
- [
- {}
- ]
- ],
"css/css-transforms/support/pattern-grg-rgr-grg.png": [
[
{}
@@ -262455,6 +262455,11 @@
{}
]
],
+ "css/css-ui/parsing/support/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/css-ui/reference/box-sizing-001-ref.html": [
[
{}
@@ -263735,11 +263740,6 @@
{}
]
],
- "css/css-ui/support/parsing-testcommon.js": [
- [
- {}
- ]
- ],
"css/css-ui/support/r1-1.svg": [
[
{}
@@ -264640,6 +264640,11 @@
{}
]
],
+ "css/css-writing-modes/parsing/support/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/css-writing-modes/reference/available-size-001-ref.html": [
[
{}
@@ -266220,11 +266225,6 @@
{}
]
],
- "css/css-writing-modes/support/parsing-testcommon.js": [
- [
- {}
- ]
- ],
"css/css-writing-modes/support/pass-cdts-abs-pos-non-replaced.png": [
[
{}
@@ -267535,6 +267535,11 @@
{}
]
],
+ "css/filter-effects/parsing/support/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/filter-effects/reference/filters-opacity-001-ref.html": [
[
{}
@@ -267640,11 +267645,6 @@
{}
]
],
- "css/filter-effects/support/parsing-testcommon.js": [
- [
- {}
- ]
- ],
"css/filter-effects/support/pattern-grg-rgr-grg.png": [
[
{}
@@ -267855,7 +267855,7 @@
{}
]
],
- "css/motion/support/parsing-testcommon.js": [
+ "css/motion/parsing/support/parsing-testcommon.js": [
[
{}
]
@@ -269855,11 +269855,6 @@
{}
]
],
- "css/support/parsing-testcommon.js": [
- [
- {}
- ]
- ],
"css/support/pattern-grg-rgr-grg.png": [
[
{}
@@ -327230,6 +327225,12 @@
{}
]
],
+ "css/css-animations/AnimationEffect-getComputedTiming.tentative.html": [
+ [
+ "/css/css-animations/AnimationEffect-getComputedTiming.tentative.html",
+ {}
+ ]
+ ],
"css/css-animations/CSSAnimation-animationName.tentative.html": [
[
"/css/css-animations/CSSAnimation-animationName.tentative.html",
@@ -327254,12 +327255,6 @@
{}
]
],
- "css/css-animations/CSSAnimation-getComputedTiming.tentative.html": [
- [
- "/css/css-animations/CSSAnimation-getComputedTiming.tentative.html",
- {}
- ]
- ],
"css/css-animations/CSSAnimation-getCurrentTime.tentative.html": [
[
"/css/css-animations/CSSAnimation-getCurrentTime.tentative.html",
@@ -327436,12 +327431,6 @@
{}
]
],
- "css/css-backgrounds/box-shadow-syntax-001.html": [
- [
- "/css/css-backgrounds/box-shadow-syntax-001.html",
- {}
- ]
- ],
"css/css-backgrounds/parsing/background-attachment-invalid.html": [
[
"/css/css-backgrounds/parsing/background-attachment-invalid.html",
@@ -333420,6 +333409,84 @@
{}
]
],
+ "css/css-transitions/AnimationEffect-getComputedTiming.tentative.html": [
+ [
+ "/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/CSSPseudoElement-getAnimations.tentative.html": [
+ [
+ "/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/CSSTransition-canceling.tentative.html": [
+ [
+ "/css/css-transitions/CSSTransition-canceling.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/CSSTransition-currentTime.tentative.html": [
+ [
+ "/css/css-transitions/CSSTransition-currentTime.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/CSSTransition-effect.tentative.html": [
+ [
+ "/css/css-transitions/CSSTransition-effect.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/CSSTransition-finished.tentative.html": [
+ [
+ "/css/css-transitions/CSSTransition-finished.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/CSSTransition-ready.tentative.html": [
+ [
+ "/css/css-transitions/CSSTransition-ready.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/CSSTransition-startTime.tentative.html": [
+ [
+ "/css/css-transitions/CSSTransition-startTime.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/CSSTransition-transitionProperty.tentative.html": [
+ [
+ "/css/css-transitions/CSSTransition-transitionProperty.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/Document-getAnimations.tentative.html": [
+ [
+ "/css/css-transitions/Document-getAnimations.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/Element-getAnimations.tentative.html": [
+ [
+ "/css/css-transitions/Element-getAnimations.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/KeyframeEffect-getKeyframes.tentative.html": [
+ [
+ "/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/KeyframeEffect-target.tentative.html": [
+ [
+ "/css/css-transitions/KeyframeEffect-target.tentative.html",
+ {}
+ ]
+ ],
"css/css-transitions/before-DOMContentLoaded-001.html": [
[
"/css/css-transitions/before-DOMContentLoaded-001.html",
@@ -333450,6 +333517,12 @@
{}
]
],
+ "css/css-transitions/event-dispatch.tentative.html": [
+ [
+ "/css/css-transitions/event-dispatch.tentative.html",
+ {}
+ ]
+ ],
"css/css-transitions/events-001.html": [
[
"/css/css-transitions/events-001.html",
@@ -513622,30 +513695,30 @@
"support"
],
"css/compositing/parsing/background-blend-mode-invalid.html": [
- "1983adad24de2404efb205a5c79dae3464f509d6",
+ "f939195f3e5cced1a5a71271b69aae00f60a451c",
"testharness"
],
"css/compositing/parsing/background-blend-mode-valid.html": [
- "eebe646bf8a269bae54d03948be2ac2c36052800",
+ "4f1cfb8dcafdeeed5f78e3768463238d4e7d449c",
"testharness"
],
"css/compositing/parsing/isolation-invalid.html": [
- "bb3a5db31c3dd0c5b44a85fd58dac4bbb33284a4",
+ "8278431ad8a9883d8279576e79e6cd5daa37e30a",
"testharness"
],
"css/compositing/parsing/isolation-valid.html": [
- "6fa4cc9bc76bab577203a3474916e3f37d18d348",
+ "430533858ebdc2f952876fc3658e5fe1bb7d6b30",
"testharness"
],
"css/compositing/parsing/mix-blend-mode-invalid.html": [
- "a7c1232c8a1999935ad40c2cd20ed7ef882ba0bc",
+ "c62ef1369dfedaba2305b6f12b8ea5a4c2aff0eb",
"testharness"
],
"css/compositing/parsing/mix-blend-mode-valid.html": [
- "2033f404941ea650623bf8dd56f848e911f7aa79",
+ "324961499742adfb8c4dc84b5e939f22377ad624",
"testharness"
],
- "css/compositing/support/parsing-testcommon.js": [
+ "css/compositing/parsing/support/parsing-testcommon.js": [
"b075882f89aae49b419220b234534241cde5fd42",
"support"
],
@@ -513997,64 +514070,64 @@
"d5737057284a603673e588a61997cf89d001cd6f",
"visual"
],
+ "css/css-animations/AnimationEffect-getComputedTiming.tentative.html": [
+ "fd2197fcace453760d8ef7613139a978ab8ba0e6",
+ "testharness"
+ ],
"css/css-animations/CSSAnimation-animationName.tentative.html": [
- "49bd0afb4721882aaf434e4469f52a7efbef6b06",
+ "370d5ef85e27c2e83deb54522a31da9deb8b556c",
"testharness"
],
"css/css-animations/CSSAnimation-canceling.tentative.html": [
- "a9e165417ee8ddb10d809eec3fcb13c22469e2c8",
+ "b76af2c24ac636bf3ea73050eb64555d6b0e2100",
"testharness"
],
"css/css-animations/CSSAnimation-effect.tentative.html": [
- "6597547f8468990da2424de7bde331e361a84c5d",
+ "d288f47c60f5360161bdcc14bf2c1399654caa1a",
"testharness"
],
"css/css-animations/CSSAnimation-finished.tentative.html": [
- "0003286de4ab6291dc5d935553569019606b38b9",
- "testharness"
- ],
- "css/css-animations/CSSAnimation-getComputedTiming.tentative.html": [
- "fb13f7abbdf5af4df4824cd0de8b7f1ff289f972",
+ "57dd0d5020c9d6a4bc30dbe9570bd3eb8cbba9ae",
"testharness"
],
"css/css-animations/CSSAnimation-getCurrentTime.tentative.html": [
- "fbe51f6df3fae988956c92b19c278b98475a5e6d",
+ "4a0b9bdce744d9f452f4989b41025bd94931dc4b",
"testharness"
],
"css/css-animations/CSSAnimation-id.tentative.html": [
- "79651c2d650896c2420ab7548426de07d98ee053",
+ "623e01d2354aad5dc746558dbc40821d09173472",
"testharness"
],
"css/css-animations/CSSAnimation-pausing.tentative.html": [
- "34dd06b0da647548c10a1731049ba195be17eef3",
+ "2b6e6853b4178f90e820a16a74a5d63524123d32",
"testharness"
],
"css/css-animations/CSSAnimation-playState.tentative.html": [
- "be95b4fc31cd41c629c15ac4e46e1184d8e4b62c",
+ "acfdc1348fb0acbcb2670cfb55cace589ac93fd4",
"testharness"
],
"css/css-animations/CSSAnimation-ready.tentative.html": [
- "99fa0856ce370f67fef56942e8f77a9a884d9cbb",
+ "f70ebd17003988d641a7ce5645d92b1c968dac3e",
"testharness"
],
"css/css-animations/CSSAnimation-startTime.tentative.html": [
- "9c8c57b406e11be16e79adcd4fbb96c17c545600",
+ "edef3b239e8a6c2f10b82017a448b0a2dfdd8b9d",
"testharness"
],
"css/css-animations/CSSPseudoElement-getAnimations.tentative.html": [
- "f1257fe481fbe6d6dd6cb045e27d8d6b664dd942",
+ "8fcdf3879dc032c615a18898f701a05e10cd2b06",
"testharness"
],
"css/css-animations/Document-getAnimations.tentative.html": [
- "1ebf4657fa011b1d92ae17cc2d18e1219197287d",
+ "c11b0a908760f4a365fb6f82e92b98341e94fb4c",
"testharness"
],
"css/css-animations/Element-getAnimations-dynamic-changes.tentative.html": [
- "ca6a23c13b0e2552fe60506e4ca9ad5e98b91330",
+ "a5e22884271cf301c728c26eec32fe399d08f0d1",
"testharness"
],
"css/css-animations/Element-getAnimations.tentative.html": [
- "ee80cacf15b8741c8cebbcaf46b113fcf20fa308",
+ "23f9ec8e3841535fe4c1c089c7dd6d976a14daab",
"testharness"
],
"css/css-animations/KeyframeEffect-getKeyframes.tentative.html": [
@@ -514062,7 +514135,7 @@
"testharness"
],
"css/css-animations/KeyframeEffect-target.tentative.html": [
- "cc066b4ec19fb80c93e531faba754a07a98efe73",
+ "4991762099d4fac96f56a8839651bd8368cef11c",
"testharness"
],
"css/css-animations/META.yml": [
@@ -514374,11 +514447,11 @@
"manual"
],
"css/css-animations/event-dispatch.tentative.html": [
- "6211cbff0e182dc2f9c8dd3828868d5ef6218b24",
+ "54bc9499a535dba81f302e4c40eb20193bee0da6",
"testharness"
],
"css/css-animations/event-order.tentative.html": [
- "91d3851c015e10512b99c6b3038dc3873db1aaf5",
+ "93d452ace07163b10af18245d6799d9823448e1e",
"testharness"
],
"css/css-animations/idlharness.html": [
@@ -516989,10 +517062,6 @@
"9f2135417278f6d0528eb3f66d255508a62571a9",
"reftest"
],
- "css/css-backgrounds/box-shadow-syntax-001.html": [
- "4b8f1869f57a16e883f9bb21ae9bbb2ff381fc1c",
- "testharness"
- ],
"css/css-backgrounds/box-shadow/box-shadow-blur-definition-001.xht": [
"ab6116c17d5b4c44e3c378ddef04b6f8ed73514d",
"visual"
@@ -517098,173 +517167,177 @@
"visual"
],
"css/css-backgrounds/parsing/background-attachment-invalid.html": [
- "0af7394aa42829d66051a0920e8ba62176c86159",
+ "68b18dcc2d06de654ca34042f67e5182a9ea1ff5",
"testharness"
],
"css/css-backgrounds/parsing/background-attachment-valid.html": [
- "9a0f240991087f89fcdf04d35d5bcafe697555d7",
+ "600f310b4628c9f1f83c89edc42bd96f084b5aff",
"testharness"
],
"css/css-backgrounds/parsing/background-clip-invalid.html": [
- "50b887e1c61c40a1b8c0d9e7a1a33898b30b433d",
+ "c2492a2a94a937dd0e526dd06065c4564605e0d9",
"testharness"
],
"css/css-backgrounds/parsing/background-clip-valid.html": [
- "2778315260afd65cd7a4af7f000ac4c2fe88e4e7",
+ "5350a17cbec0a698574b018feb6ef0c6a6164153",
"testharness"
],
"css/css-backgrounds/parsing/background-color-invalid.html": [
- "ff90dffb31114a5d610ed3627d45ae6bb28047af",
+ "d7c688d6b6a68aae309d5dd4fc63709adb76d901",
"testharness"
],
"css/css-backgrounds/parsing/background-color-valid.html": [
- "b84e13fb957ccf06a2bcbae472d01b8430d2223c",
+ "d7e864c29b9304907b46cb7e7f973f965726ff8f",
"testharness"
],
"css/css-backgrounds/parsing/background-image-invalid.html": [
- "12103e01dfa2e25afe03c17fcc48b2fd3ed1a080",
+ "43d7f67b3e9124bfcb53e4efd508f644c9f7874d",
"testharness"
],
"css/css-backgrounds/parsing/background-image-valid.html": [
- "601efb6898a91d7ed322ea3d1f70aff2ca2e17d4",
+ "ffbf33b6d6497d77f02eb5a4e14204ea4d2f642c",
"testharness"
],
"css/css-backgrounds/parsing/background-invalid.html": [
- "19f5d965b4832386f940caf261863d9fd66ed757",
+ "c3deef9bc90abc28e5f4c2fb72c0eea922c94399",
"testharness"
],
"css/css-backgrounds/parsing/background-origin-invalid.html": [
- "1ef2d9faa897e980b944ef9ba80b79dc3b7246cf",
+ "9eead06baebb98ab560b0012d9e8dbb9b1d74be5",
"testharness"
],
"css/css-backgrounds/parsing/background-origin-valid.html": [
- "bbd59d39790a5208543000a77f0898720372a1e6",
+ "1c19b96ec430c210ca74ed0686a43ebfa5f142f0",
"testharness"
],
"css/css-backgrounds/parsing/background-position-invalid.html": [
- "9a3e9cb0a619f9b6aba37f16a55c49da041018fd",
+ "583606e14d28ea1e2782e12e382d72be51a2467d",
"testharness"
],
"css/css-backgrounds/parsing/background-position-valid.html": [
- "371bc7a351281257b8db13df5750afc437517b7c",
+ "dbb97406a5a0492fee2f7fbe16e790736b717e20",
"testharness"
],
"css/css-backgrounds/parsing/background-repeat-invalid.html": [
- "55229a70cefface8ef53c02978f30fe484fb075a",
+ "3ae01662d08caa6695c607e882a9eb57c3257eac",
"testharness"
],
"css/css-backgrounds/parsing/background-repeat-valid.html": [
- "3a00b19c4c50a28c6db972de4bcce6b94e0abd92",
+ "b69eb5ff03001d0fa68cb52b0883122f11b349f9",
"testharness"
],
"css/css-backgrounds/parsing/background-size-invalid.html": [
- "7497f43df97b789fd3a9974df8043986e81ff145",
+ "cfb9a1c077cd282b63a160da6b0377b3e6587771",
"testharness"
],
"css/css-backgrounds/parsing/background-size-valid.html": [
- "71d60698dca7915e3a580ac3c6a9ad966caad389",
+ "224421177467c40821e34c537c166e724f0ec7a7",
"testharness"
],
"css/css-backgrounds/parsing/background-valid.html": [
- "39c4672fb35b103b4a96c92bdeab4ced7c550e86",
+ "96529e5604a60595ab01e5d86e6679397a534d9b",
"testharness"
],
"css/css-backgrounds/parsing/border-color-invalid.html": [
- "67248dd612219633456e2e091aa0fbd7cc72023c",
+ "3916c4f2ecbdc92f282628923f87f485ee5b838f",
"testharness"
],
"css/css-backgrounds/parsing/border-color-valid.html": [
- "c69f9622811f8d06758dadbdb313e4ab0be260a7",
+ "63532a99a4b0310c1cf5a4d260bc9876c0dcb6c7",
"testharness"
],
"css/css-backgrounds/parsing/border-image-invalid.html": [
- "87194a5477d3fa285bdc3e340659e43285107c76",
+ "08c61dfb5549b4fe0f702a222ec0e6810bab9145",
"testharness"
],
"css/css-backgrounds/parsing/border-image-outset-invalid.html": [
- "5e76198141c8baef70367e6d8713629e35fe6440",
+ "4faaa3ca0d977e2abaf57cd4fa394ddc1c7d6029",
"testharness"
],
"css/css-backgrounds/parsing/border-image-outset-valid.html": [
- "5ead2608d2577fe37e0a6b04513e4619ea659515",
+ "781a6e0a8abe8da4fb32ed4ff812e5f7c1daebe7",
"testharness"
],
"css/css-backgrounds/parsing/border-image-repeat-invalid.html": [
- "0a70aab2412982045a41905b45dc0d44f6cf64f6",
+ "962ab22fbf003d46b1f0747e2546410402f8c007",
"testharness"
],
"css/css-backgrounds/parsing/border-image-repeat-valid.html": [
- "e77ae48fd192d4b35374d47376083f80fed48619",
+ "381b059523555db30c3eaef03748e92812b0071c",
"testharness"
],
"css/css-backgrounds/parsing/border-image-slice-invalid.html": [
- "b2f55f14fbe64cec31a40943b2559ef1cc164159",
+ "4ccf441f75aa7c14fec8277644faf2db38d30eaf",
"testharness"
],
"css/css-backgrounds/parsing/border-image-slice-valid.html": [
- "66d747f7cd99f0b14a0ccd8fa9c9190aebcb9753",
+ "297319442383e83356902e512299cfeea4a1b22c",
"testharness"
],
"css/css-backgrounds/parsing/border-image-source-invalid.html": [
- "78d042ded419e744ff6b4e28e33501f3439f5e14",
+ "28edd7855df021804834a78cfd522e457268917e",
"testharness"
],
"css/css-backgrounds/parsing/border-image-source-valid.html": [
- "c032dcda878b9606ccbca1971b9bd369f82c859d",
+ "c080d395078e41871a050a9893a05bd788ad477a",
"testharness"
],
"css/css-backgrounds/parsing/border-image-valid.html": [
- "880dc87700b66e742f3b07a5683c31aa6510b4cb",
+ "8bf9cd51fcd3eda774c309c875f9fb72fce3bfc4",
"testharness"
],
"css/css-backgrounds/parsing/border-image-width-invalid.html": [
- "c7fba1c2ce32a94c7fe777ffdece604403721128",
+ "445972353775d44df07c5d15f1e56c5c1f26ea7f",
"testharness"
],
"css/css-backgrounds/parsing/border-image-width-valid.html": [
- "5917c7f6b9d16dbd557a3ac50ce3b5e186265cba",
+ "e1316c337087947407677e563c3c665b5afc9747",
"testharness"
],
"css/css-backgrounds/parsing/border-invalid.html": [
- "baaa66c37da811c5efc5cae2d7e2018561443e04",
+ "a3d28dfbac05749156734f8877119d408535e506",
"testharness"
],
"css/css-backgrounds/parsing/border-radius-invalid.html": [
- "28460aa598d019bcfd4057e5ee61e1699ea6943d",
+ "9d767a961ea67c2e01290b2eb6cc1436894e0579",
"testharness"
],
"css/css-backgrounds/parsing/border-radius-valid.html": [
- "96cdf2019da1f3fae94fe37566178f1aa9841942",
+ "40a9d9e8e4083675eaf8c0445ac2f79416adf117",
"testharness"
],
"css/css-backgrounds/parsing/border-style-invalid.html": [
- "ecc9d6b43a6d3c047a994009baae82b7b8dbc628",
+ "42bd61ad1e91905f765a75ab8213451113f9ba5c",
"testharness"
],
"css/css-backgrounds/parsing/border-style-valid.html": [
- "dc8311b1243abab6d23401dd606b51902a094239",
+ "10fa39bbf6cdd67ba7828db90e266753b09351c4",
"testharness"
],
"css/css-backgrounds/parsing/border-valid.html": [
- "e94938a3a487b05ff5c3eb56b5697e850afdea03",
+ "5ca8bbdc43ec9a38c1495e308495287338913ef2",
"testharness"
],
"css/css-backgrounds/parsing/border-width-invalid.html": [
- "85a3414d8132c3c5573201250146f857a898ca81",
+ "2edd05ea42b8b4b00a121d50b219da7d446297db",
"testharness"
],
"css/css-backgrounds/parsing/border-width-valid.html": [
- "00dc1c0fcff86382486e88e0383ae54d6597e93e",
+ "5a9b174c91531af56b5e42bda2b9df813629464e",
"testharness"
],
"css/css-backgrounds/parsing/box-shadow-invalid.html": [
- "1bcfc694d4c31056aee1af81bfc049f91dae5d92",
+ "a38ae2fce74292e537cdaed849c939df6921c060",
"testharness"
],
"css/css-backgrounds/parsing/box-shadow-valid.html": [
- "29bb263bb0dda17f58c11322e353f9975077755d",
+ "be72b78cbbe42898a8693706d57852fd71cdb4d0",
"testharness"
],
+ "css/css-backgrounds/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-backgrounds/reference/60x60-green-background.html": [
"d19ed4ea2678a45bbe53838d6eebf61ab641bcdd",
"support"
@@ -517665,10 +517738,6 @@
"2ca46e53f3c3db20d4cd14d7284f9ba1c658bed9",
"support"
],
- "css/css-backgrounds/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-backgrounds/support/pattern-grg-rgr-grg.png": [
"6fcfeb4883edea810f880fabb861e09df7871695",
"support"
@@ -517854,105 +517923,105 @@
"support"
],
"css/css-box/parsing/clear-invalid.html": [
- "a91e61f97e216b409a3e337b0546c40c8a4df9ce",
+ "636704330e3c36608d925d370a5e8f056031fbb7",
"testharness"
],
"css/css-box/parsing/clear-valid.html": [
- "db0b5aa094de27aedf2f6d7713125cce01eb2a82",
+ "a849f6c06de9e519c91e83b0fc4e1798cbb88ee9",
"testharness"
],
"css/css-box/parsing/float-invalid.html": [
- "0ff53be36ac8864603c70479f4e7e50810ad7606",
+ "8c3d28f578a62c18a9ae276a52cef2a52360170d",
"testharness"
],
"css/css-box/parsing/float-valid.html": [
- "aecbd99d2201a0774d6ca407168606eb4f81c5a5",
+ "9ff6ef43a22fd8a3c55fa2a5fdcac2b114c8bd42",
"testharness"
],
"css/css-box/parsing/height-invalid.html": [
- "acc595f063a23e9eee11262494dacc93ba4bc97d",
+ "f15bd27de808fbec41df51fe3c884437873ce22f",
"testharness"
],
"css/css-box/parsing/height-valid.html": [
- "38f76ea24abb0bfad60743ba7597020b274a0d7f",
+ "a89ec6b5502928fddd8eb62002489d61fbdc1b81",
"testharness"
],
"css/css-box/parsing/margin-invalid.html": [
- "9c21749c8cc831140d264b318a1a712df100df0b",
+ "917fc927e9dd8d21c3900ede47b8e2a789651527",
"testharness"
],
"css/css-box/parsing/margin-valid.html": [
- "fc14af256281e5f152fc4c3d5432bef8d7c4881f",
+ "1715a9c924e702768bae5f7b55b942bf6824d7e1",
"testharness"
],
"css/css-box/parsing/max-height-invalid.html": [
- "9b8e72dd86957e7e3055f1570de7212125959ea6",
+ "61c85d129102fd96e57970e165164944ad8e2102",
"testharness"
],
"css/css-box/parsing/max-height-valid.html": [
- "35ad18ab2666e3cb057bfc66f4bf41f0ac79625e",
+ "ca58cec3a9cdff2952f9770ae4df8f939c22a8a4",
"testharness"
],
"css/css-box/parsing/max-width-invalid.html": [
- "487d15e6ec614a84a96db8531e5fbd8eab137e27",
+ "57bcbbf168c88324ac2919f063701ffcb7a37a85",
"testharness"
],
"css/css-box/parsing/max-width-valid.html": [
- "95b2ae9f55432b2a03be9cb2810fb2a4eb1e5b77",
+ "e098b804c08bd86f228a0f3d3be4c02c111f17ed",
"testharness"
],
"css/css-box/parsing/min-height-invalid.html": [
- "a35ac3f8d05342a29a051aa80d3dbf87ed56c4cd",
+ "26a1e10a34c5e8a5f1c2df7a89b08b25341dc132",
"testharness"
],
"css/css-box/parsing/min-height-valid.html": [
- "1a2b838dcbc7732dc6120a33c5823f3b845566af",
+ "576a5c07989ef187008545000148747032f8d2fb",
"testharness"
],
"css/css-box/parsing/min-width-invalid.html": [
- "2a290901ed8ac6deb4aed56510a94ba62bc7831e",
+ "d71777fea6c2de47fc0f2243b4af1c21b15c6509",
"testharness"
],
"css/css-box/parsing/min-width-valid.html": [
- "ebe9ee70e85fe35b7c9a1cd7407057eb5b53b285",
+ "406452dd583f40532ce6f904785264d9a16ed366",
"testharness"
],
"css/css-box/parsing/overflow-invalid.html": [
- "da09e64e69ea07963d7f1c9fd1a5cc09c61b50ab",
+ "bf3ee3d72ba35abe941a6e298a43939107db0a10",
"testharness"
],
"css/css-box/parsing/overflow-valid.html": [
- "898d7607de99527b669e098348f1dd72aea44878",
+ "6bef585856c3d038e63f9d24a06b75d3b5f2a7db",
"testharness"
],
"css/css-box/parsing/padding-invalid.html": [
- "7a83d75accad2fa4cf0527fd3d5b82b10a0deacf",
+ "7e172efed30f45166747ccedd45d22bbf904ba6b",
"testharness"
],
"css/css-box/parsing/padding-valid.html": [
- "33522ba6dbb98bf63454dcc289958ade1473c8c0",
+ "e5a932e1417400947c07ab5150297da174c2c354",
"testharness"
],
+ "css/css-box/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-box/parsing/visibility-invalid.html": [
- "07fe6ebe18acf36f4a7302cd08c0f1c36cd0b90f",
+ "892ca54815f67f029bb3c7c2aefb48dacd8a0851",
"testharness"
],
"css/css-box/parsing/visibility-valid.html": [
- "de1cb9b0c11e9cbaa7beedd77c1dfc39fb6d0c6a",
+ "2c1143dfa5c320a5270e47adc36b0a3ced979976",
"testharness"
],
"css/css-box/parsing/width-invalid.html": [
- "defd7d27912a0f1e4def24f4607ae6a598669b1d",
+ "bcbb3d663ae3190ca33ea7cef3b8176b3e50ea9b",
"testharness"
],
"css/css-box/parsing/width-valid.html": [
- "f4be6b2b132232a3d415515c887636bbbb12465f",
+ "653b11e993cf99c4196582440cb45bd144c4f38b",
"testharness"
],
- "css/css-box/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-break/META.yml": [
"bfd40518b4a6477632fa319f3e53fe22517d326d",
"support"
@@ -518006,13 +518075,17 @@
"reftest"
],
"css/css-cascade/parsing/all-invalid.html": [
- "526f9fdf575736609b57a8a56f251223c8310c01",
+ "8b7c044a0341ad732640b7a827c9f24a9c1d4f5f",
"testharness"
],
"css/css-cascade/parsing/all-valid.html": [
- "42baa25d016b5b719f32dc759dc0962ddf600624",
+ "668a6c2424125c8d84de85ec6dee694e7cc4799f",
"testharness"
],
+ "css/css-cascade/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-cascade/reference/ref-filled-green-100px-square.xht": [
"05a13794482a94f6c10bd9d4c98704e63ef60331",
"support"
@@ -518021,10 +518094,6 @@
"a346267c7bdb08b6b67ca68c6e821ea71ab1eefa",
"reftest"
],
- "css/css-cascade/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-cascade/unset-val-001.html": [
"c25b980a3b5734df4782ee5b6feb32d845f19e6d",
"reftest"
@@ -518274,21 +518343,25 @@
"reftest"
],
"css/css-color/parsing/color-invalid.html": [
- "ec59e0fb8be770bc013c19c3746a434a83fa103d",
+ "fe44aad6fc6a3d9805f2f29ce84970468224e6d1",
"testharness"
],
"css/css-color/parsing/color-valid.html": [
- "ee5948efec207fd2d473097f6223f9c344628b9f",
+ "fb240182c31a2d3056aa68a52cdc04cdbbbe421a",
"testharness"
],
"css/css-color/parsing/opacity-invalid.html": [
- "7e64036eb7a1de16feb785c2490a4c13f3469689",
+ "d9b9cc86abb0de9c55336b3872a7a61d25f228b8",
"testharness"
],
"css/css-color/parsing/opacity-valid.html": [
- "bf22b092ca09b1a48eddd47b5c19b92801d2c1e8",
+ "8ae302e09f34c5593f58f352adab88fccc906b97",
"testharness"
],
+ "css/css-color/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-color/rebeccapurple-ref.html": [
"8c15364f38e53cc1651f2f6c115c7b2fca3f4ba9",
"support"
@@ -518361,10 +518434,6 @@
"65eab55794c39e47d6afb5b71e5fea4b9b671b37",
"reftest"
],
- "css/css-color/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-color/t31-color-currentColor-b-ref.html": [
"3013c7050c3c6f057e295923d43c87da6c09751f",
"support"
@@ -534974,53 +535043,57 @@
"support"
],
"css/css-images/parsing/gradient-position-invalid.html": [
- "f224263952666372d59d82a72d31cf8a6dd3450f",
+ "626b9f130724b028eaebc96c9b49a241042f78e6",
"testharness"
],
"css/css-images/parsing/gradient-position-valid.html": [
- "04ca328da01babeaf249ba3dff4e312900af39ac",
+ "382fc61636061bfc9ad0d3e357dac83c27c297f1",
"testharness"
],
"css/css-images/parsing/image-orientation-invalid.html": [
- "a55e335e64f1caa83f97a2eaf5df979147d86586",
+ "f2a53fe5f262852626e7aaac8f14ea5451ac9360",
"testharness"
],
"css/css-images/parsing/image-orientation-valid.html": [
- "c1e2015b302d8614fadca491cf4da47d596094e5",
+ "ea2ec1e699ab9587e496f44e235c1f73a57b0e25",
"testharness"
],
"css/css-images/parsing/image-rendering-invalid.html": [
- "1ce1a2327a6febadd1aaabb686174a70e90ab287",
+ "9c54c5d7f1598bfd35dd010298d78dc0c480309b",
"testharness"
],
"css/css-images/parsing/image-rendering-valid.html": [
- "1918a247313e9d39be7fdf5b4112271908fcd8cf",
+ "b3b73edfde919d7666fcd669d9c8b1db31c1624d",
"testharness"
],
"css/css-images/parsing/image-resolution-invalid.html": [
- "d0998cc2b7f78f69649b8a2c1d665464fe979de3",
+ "e45ed73e23cd814872afabdd43db4b081fe5e29d",
"testharness"
],
"css/css-images/parsing/image-resolution-valid.html": [
- "6ee676f429f842f4701c70a1296428ce0610a786",
+ "7345227fcafce45f5ca12c91523622349c07964a",
"testharness"
],
"css/css-images/parsing/object-fit-invalid.html": [
- "26841d4be7eccaeb658776d8f0d67dddb9751406",
+ "574573c8015f8fbc120779a9361169ded1ed21f1",
"testharness"
],
"css/css-images/parsing/object-fit-valid.html": [
- "50ea7254b0bbd2f12f8ce73152ca15d263cb8bf5",
+ "8b531abad20e69c905650f34ec4cd26417381e01",
"testharness"
],
"css/css-images/parsing/object-position-invalid.html": [
- "d722f1a1af94818e047713d30d71f19def9eaeae",
+ "346b79a841aa6016b78d427f18f402b771368640",
"testharness"
],
"css/css-images/parsing/object-position-valid.html": [
- "7121cc42021a1122a2b96d893469252fb5e4ce1b",
+ "b7be35ccd74f01a0b966426bc5876afd35a1248d",
"testharness"
],
+ "css/css-images/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-images/support/1x1-green.gif": [
"e023d92c7ad04264d06196d47a5edd828a7f71db",
"support"
@@ -535097,10 +535170,6 @@
"833e6e36cdf316be9e4f54dc68732712afe11ba2",
"support"
],
- "css/css-images/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-images/support/pattern-grg-rgr-grg.png": [
"6fcfeb4883edea810f880fabb861e09df7871695",
"support"
@@ -536690,30 +536759,30 @@
"testharness"
],
"css/css-masking/parsing/clip-invalid.html": [
- "919396375a2947be03001e21af72c4f09fc4ddab",
+ "18ae8b552a5904097a4b9f0f639b3d0ca123242b",
"testharness"
],
"css/css-masking/parsing/clip-path-invalid.html": [
- "881cbc08a64b6170a6ae7ce00ca3306cb51dada6",
+ "3d33de251f6c046a6cd15a6cb84416563e2dc293",
"testharness"
],
"css/css-masking/parsing/clip-path-valid.html": [
- "fef14c97d5c529e2e54b19b263dc13340f44a17d",
+ "1d55ed785533df06ca250a341022ffcfaaa2027c",
"testharness"
],
"css/css-masking/parsing/clip-rule-invalid.html": [
- "50694703ce46efa41305abfcad060970df64334c",
+ "3088d07af8e30788b3454c1923d50a2071ef768c",
"testharness"
],
"css/css-masking/parsing/clip-rule-valid.html": [
- "ca805e1fcecc3b6c4c4f42d3461b36f18c89c3e4",
+ "2fb19073a3e64e941d975f6a60305f97bbc8ab00",
"testharness"
],
"css/css-masking/parsing/clip-valid.html": [
- "95c31f7de06cf22f3d72f29f280278338d6e7536",
+ "a21e90178b708a52f397fd890db25477708fb16c",
"testharness"
],
- "css/css-masking/support/parsing-testcommon.js": [
+ "css/css-masking/parsing/support/parsing-testcommon.js": [
"b075882f89aae49b419220b234534241cde5fd42",
"support"
],
@@ -541818,37 +541887,41 @@
"testharness"
],
"css/css-shapes/parsing/shape-image-threshold-invalid.html": [
- "dcabbe6cce1dc627f28ffe55bef09dce0dfc7525",
+ "eb60a2e44289dba4075cc6ae61d6e0a94a520da9",
"testharness"
],
"css/css-shapes/parsing/shape-image-threshold-valid.html": [
- "0a71e75ba0a2abba82efce5880c17d2f44c9f80b",
+ "4fe1efceb03e593b8010252a9201d7c2d3a64313",
"testharness"
],
"css/css-shapes/parsing/shape-margin-invalid.html": [
- "ebb1938d422422142ef3caa9699d7a419dce0b0e",
+ "cdaea05039527134af6de034674f8d95dc0e4e64",
"testharness"
],
"css/css-shapes/parsing/shape-margin-valid.html": [
- "f36a8eb3249210538e1be6d1d30fa7a6d062cd2e",
+ "28f094b6abb05bc751f7508ec29b7bc4fe701eae",
"testharness"
],
"css/css-shapes/parsing/shape-outside-invalid-position.html": [
- "90023aeaf25f3f318b57e691f8ff31462948ebbb",
+ "3bca706b153dd62267ea767742a50784367261aa",
"testharness"
],
"css/css-shapes/parsing/shape-outside-invalid.html": [
- "a2a8923818e7500ee895c27c2ee3deae7c38daff",
+ "57ce32e7fe6922f9378501f355183addeaa3101a",
"testharness"
],
"css/css-shapes/parsing/shape-outside-valid-position.html": [
- "225b0156ad77af4ea24a509faf26cbcdc9ea854e",
+ "ec0a16d568d5ac0b1ce6dac907c7eecd907f5ab8",
"testharness"
],
"css/css-shapes/parsing/shape-outside-valid.html": [
- "28f45353dcb316350c11bb304db93184a349944d",
+ "1a70d10f831fb6a451149769a54cdd1839b1d8d3",
"testharness"
],
+ "css/css-shapes/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-shapes/shape-outside-invalid-001.html": [
"c6c7400f7d177bde46ad1a35a6bd77f6ff27d71b",
"testharness"
@@ -542969,10 +543042,6 @@
"85dd7324815b8f8ef1a1d0496224c1a0661db9d8",
"support"
],
- "css/css-shapes/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-shapes/support/pattern-grg-rgr-grg.png": [
"9b88fbd81149891234185f54f8b4a0431759f181",
"support"
@@ -549518,59 +549587,63 @@
"reftest"
],
"css/css-transforms/parsing/perspective-origin-parsing-invalid.html": [
- "75350cc323633cdb4c8e63d2d35b336470764b92",
+ "24976fc2609e28bde89b4f1b6f0c21f64377a8ee",
"testharness"
],
"css/css-transforms/parsing/perspective-origin-parsing-valid.html": [
- "b53a34a21d7b7eed791e7bce49c3260446c68e37",
+ "d8ac4ccb50a1539a5c23d829c0493b669e8cb827",
"testharness"
],
"css/css-transforms/parsing/rotate-parsing-invalid.html": [
- "63a74e24699631ce4e77947075d775640b29c722",
+ "a3f625f6ab6823528ba3aa16ce53cb648908c8fc",
"testharness"
],
"css/css-transforms/parsing/rotate-parsing-valid.html": [
- "789ea00ac4bbdad73c6f7a17d2b5c75ba2cdd058",
+ "33e44e3361ddecf19ae86fb873cd59c375d7227d",
"testharness"
],
"css/css-transforms/parsing/scale-parsing-invalid.html": [
- "050171ca18c570b1c2f8c332a87e88ca29144e4d",
+ "ddc2cade2bcedcd59af8e3f40a9a510f7c521639",
"testharness"
],
"css/css-transforms/parsing/scale-parsing-valid.html": [
- "0d8783afc4d2b84749d4ae5eb98957a4e6fc7142",
+ "2b99d249aaf6a3dfa253aa9d922698903d20ef98",
"testharness"
],
+ "css/css-transforms/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-transforms/parsing/transform-box-invalid.html": [
- "23f7ddc463e707499891581d944af28424420e50",
+ "415dc0720146b1041739e8bb346038212965e168",
"testharness"
],
"css/css-transforms/parsing/transform-box-valid.html": [
- "a5d8af9537e39581d94ef6da3fc006cb2a2a2f52",
+ "c2e7a5bc90479ebee991c7b0cb2cf0054c17f1e2",
"testharness"
],
"css/css-transforms/parsing/transform-invalid.html": [
- "02c2b9570a7b0e5c927b2e68e7e91de4e2faba25",
+ "bff9d7b723a58b610a7e71d6849cc2b36cda077c",
"testharness"
],
"css/css-transforms/parsing/transform-origin-invalid.html": [
- "0adcc1f2803a0dd8c127c5e3ea3ff0535718c465",
+ "0a8ef52f0ec2bdaec7d9098c4f0603c34d4358b3",
"testharness"
],
"css/css-transforms/parsing/transform-origin-valid.html": [
- "52aa6ff9322615d1d1d35c824b544aaf7d0c16bf",
+ "c9f1d73c29ec6fc737afd461a47be788d2b9931c",
"testharness"
],
"css/css-transforms/parsing/transform-valid.html": [
- "f9efaa1f71051d497b616194b1cd98d6661503be",
+ "62ad8e920f3a3ef237c375a4b08343359fda0750",
"testharness"
],
"css/css-transforms/parsing/translate-parsing-invalid.html": [
- "e602d91bb1324fb86c1ef57fafa6a2a2085139e7",
+ "8aa6de5e2810287c4cac9f7e7f3d7586d43b526d",
"testharness"
],
"css/css-transforms/parsing/translate-parsing-valid.html": [
- "ab4f27f1019408c681e3be36b855a16d8acc8eaf",
+ "86b4deb489b29183617a47a845677a02e49781c4",
"testharness"
],
"css/css-transforms/patternTransform/reference/svg-patternTransform-combination-ref.html": [
@@ -550833,10 +550906,6 @@
"9945ef47114c2841a746c99a2fb1e93e050aac8b",
"support"
],
- "css/css-transforms/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-transforms/support/pattern-grg-rgr-grg.png": [
"9b88fbd81149891234185f54f8b4a0431759f181",
"support"
@@ -553809,6 +553878,58 @@
"c8caa6bd7c17de28dcd3f50c6357adc574084225",
"reftest"
],
+ "css/css-transitions/AnimationEffect-getComputedTiming.tentative.html": [
+ "4b6a28b5694f52103bcb6b383dbcd1ad6553cf3a",
+ "testharness"
+ ],
+ "css/css-transitions/CSSPseudoElement-getAnimations.tentative.html": [
+ "5229881e30fa903da8afc76b3664c7c4483add53",
+ "testharness"
+ ],
+ "css/css-transitions/CSSTransition-canceling.tentative.html": [
+ "72b1dbff436fd12574beece0dd295ca3d779b73c",
+ "testharness"
+ ],
+ "css/css-transitions/CSSTransition-currentTime.tentative.html": [
+ "4c7a7a4891636a7201f07b671ff605dca3ddcc2b",
+ "testharness"
+ ],
+ "css/css-transitions/CSSTransition-effect.tentative.html": [
+ "3979dd29533ad3a3af7135aaa5255721aa100702",
+ "testharness"
+ ],
+ "css/css-transitions/CSSTransition-finished.tentative.html": [
+ "23750e7a98eaf7675386850c711b5b7738fccc01",
+ "testharness"
+ ],
+ "css/css-transitions/CSSTransition-ready.tentative.html": [
+ "92aaa490591b9eb3e2db55438d955a9811cd7904",
+ "testharness"
+ ],
+ "css/css-transitions/CSSTransition-startTime.tentative.html": [
+ "7c74ed2037ab4e8242d465d76a4cbd360abee4a2",
+ "testharness"
+ ],
+ "css/css-transitions/CSSTransition-transitionProperty.tentative.html": [
+ "8eb284107d350fb2a5da1b176aa213f807cd212f",
+ "testharness"
+ ],
+ "css/css-transitions/Document-getAnimations.tentative.html": [
+ "bffc05f205fbc80ee9d27ee4ca8d3fefe00ffd63",
+ "testharness"
+ ],
+ "css/css-transitions/Element-getAnimations.tentative.html": [
+ "26e988ffe69759ab3b9216d24af2a28a70e0c08b",
+ "testharness"
+ ],
+ "css/css-transitions/KeyframeEffect-getKeyframes.tentative.html": [
+ "08a90734392c2e14c0b2593144796e713ff0a20d",
+ "testharness"
+ ],
+ "css/css-transitions/KeyframeEffect-target.tentative.html": [
+ "dbb2a43f784db98317c4d37b32a376f6c27213ce",
+ "testharness"
+ ],
"css/css-transitions/META.yml": [
"581515c493e853d0c4a3c75b340f3bb5785cc635",
"support"
@@ -553837,6 +553958,10 @@
"efbc34f77740dce56a29871ecccfc20240381ad5",
"testharness"
],
+ "css/css-transitions/event-dispatch.tentative.html": [
+ "81bba60a66e7eb9800113bcd04dcc47a15002fb0",
+ "testharness"
+ ],
"css/css-transitions/events-001.html": [
"59d2011b39780def3de6f6899a51c6de2068bf4c",
"testharness"
@@ -553978,7 +554103,7 @@
"support"
],
"css/css-transitions/support/helper.js": [
- "f11e4347abee6ee3cee07e2ee9ec76907c9ab555",
+ "2e7ecff2ae7e60a3250cc787cbf888f1881bfc27",
"support"
],
"css/css-transitions/support/import-green.css": [
@@ -556814,91 +556939,95 @@
"reftest"
],
"css/css-ui/parsing/box-sizing-invalid.html": [
- "0b6ee8578abd97a69a5129997f16c21d108720e6",
+ "4ced38240f29163814f1d57a9923af8962d06c06",
"testharness"
],
"css/css-ui/parsing/box-sizing-valid.html": [
- "68010ffe34e1db1047b689a6224109905ba9fe55",
+ "fb60ac23bb8d2a509d1bdede4069cb09a52ae415",
"testharness"
],
"css/css-ui/parsing/caret-color-invalid.html": [
- "a980b0e25b5a8863c3363fa912ada8e89d9803fd",
+ "b4c9cb71e038b81ed2dfa582cb579395ae060aa0",
"testharness"
],
"css/css-ui/parsing/caret-color-valid.html": [
- "31e1b6c5ec5b909c25eb44c43080a533438af84a",
+ "41cc70654dade5dccfab56b0c1b18c8dba50344a",
"testharness"
],
"css/css-ui/parsing/cursor-invalid.html": [
- "1866b45c0aef1a1e42d476726bed9ae6aff6d547",
+ "dda8031d3090699885bbe896ad77158046b87bcd",
"testharness"
],
"css/css-ui/parsing/cursor-valid.html": [
- "b16a6fe2e8726b64dd7fc7d823fdc109c4815a51",
+ "e33b82e2ddc54455f7da26728e457b1821dec2ea",
"testharness"
],
"css/css-ui/parsing/outline-color-invalid.html": [
- "b554c1ac61196a5ef8a19c68700591db68f4ee28",
+ "195f55dc72bd3a943f457f700677484e94fc5ba1",
"testharness"
],
"css/css-ui/parsing/outline-color-valid-mandatory.html": [
- "92f1b047d7247869a7b1a759fd4bcd1b5e5d969d",
+ "fbe730bdae37d0148d767d8745589e363f98938d",
"testharness"
],
"css/css-ui/parsing/outline-color-valid-optional.html": [
- "9b82aeb5cd94828ad4d6a79d5969c9818565ce8d",
+ "bf12b87f2193bcd11e4a382ffb94073300b47eaf",
"testharness"
],
"css/css-ui/parsing/outline-invalid.html": [
- "f9aa61b89ec6e1495805a97e625a629ea0a6066c",
+ "c56a579452fb78daf9f48bd45cd996a1f2697b25",
"testharness"
],
"css/css-ui/parsing/outline-offset-invalid.html": [
- "1106e86d4bfe2b5b6c12add4d7aa009f39d0d7b7",
+ "1ee9477a1118f7f262d7e7b1c29f2978c8b80092",
"testharness"
],
"css/css-ui/parsing/outline-offset-valid.html": [
- "c0b8891d97bba361417fc10dcf2e85d09b32287a",
+ "c5e023b8e9607dd38bd0bd33cd52244e25a9b0fb",
"testharness"
],
"css/css-ui/parsing/outline-style-invalid.html": [
- "b93a98407aa3079a552d5fe8576826052fa7322b",
+ "2340c62d90299a636abbaf9973ed08e55c9d9d66",
"testharness"
],
"css/css-ui/parsing/outline-style-valid.html": [
- "93d14a46764bd6f42c3f8fa44105d3c176787e4b",
+ "5adcfda7ec75dadb3b87475cd6e0009c8aaa94ff",
"testharness"
],
"css/css-ui/parsing/outline-valid-mandatory.html": [
- "f8322a459347cf139780897fe8ed168c6ba0a9fc",
+ "a296c989bce262b620a8acc028cfa79d513a8acb",
"testharness"
],
"css/css-ui/parsing/outline-valid-optional.html": [
- "44cf823ba4c74e6a96cf253d8d87744c6a07c7e8",
+ "e179406cafb53cefc35fdc69b46b0530233dafc2",
"testharness"
],
"css/css-ui/parsing/outline-width-invalid.html": [
- "40e4961a0025d5a94ba2cba0c15e22df4743549e",
+ "07012fef225859ae8f4194f19795c24363685108",
"testharness"
],
"css/css-ui/parsing/outline-width-valid.html": [
- "db6c77c8645ba890d4bc059d014c9b3e86a2fb55",
+ "050371246ce4006b922e1ab2d69255d1cf454d5d",
"testharness"
],
"css/css-ui/parsing/resize-invalid.html": [
- "b166c01395c10aad1dcad6f2697fa226a84903dc",
+ "a56a1dbc6e24e851e9055513c7ebe86e1c847760",
"testharness"
],
"css/css-ui/parsing/resize-valid.html": [
- "3acc9b09e6f18740d013837f47e3fbf9c74a1dc3",
+ "025b0e447bb66d8daf828dccf009fcc039fa0b53",
"testharness"
],
+ "css/css-ui/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-ui/parsing/text-overflow-invalid.html": [
- "22affb7cafa0f6c60f04f7805c6e54be83eb7318",
+ "f3945a162ec4c67fdf36753a270b3c2e350726a4",
"testharness"
],
"css/css-ui/parsing/text-overflow-valid.html": [
- "bc2a4fd87402d614d3b9b96cab998cb7269d1028",
+ "3f0aaa60938ff98e8d0f10d201d6e05d79d2771d",
"testharness"
],
"css/css-ui/reference/box-sizing-001-ref.html": [
@@ -558013,10 +558142,6 @@
"56346a8295ba14f002eee4e35cd864e1829ae840",
"support"
],
- "css/css-ui/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-ui/support/r1-1.svg": [
"84f1b9532b5f55ee48c6502ec00470b7b2d93431",
"support"
@@ -562270,43 +562395,47 @@
"manual"
],
"css/css-writing-modes/parsing/direction-invalid.html": [
- "0927ca388b7cc7a0e37149f1c8a23b15d0d44444",
+ "7181dbe675d1183d7271cd9d7aebf699ec837872",
"testharness"
],
"css/css-writing-modes/parsing/direction-valid.html": [
- "ca4d7bb9df9e48606b92f0bb7a515488ad73a18c",
+ "11585cf9e43952a56f96a80bb3566b3d6a5fb8fd",
"testharness"
],
+ "css/css-writing-modes/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/css-writing-modes/parsing/text-combine-upright-invalid.html": [
- "08cbb967bb81f19bfdf7d2f8e71daaceae364cb1",
+ "b8a0c14b56b7a43fce53626dcbad17997fc779bc",
"testharness"
],
"css/css-writing-modes/parsing/text-combine-upright-valid.html": [
- "bd56fb5c4935cf9db038a64b652e3ce81a0d4b01",
+ "2b15840cd7cfaefa80b61b3f175afe4774f364e0",
"testharness"
],
"css/css-writing-modes/parsing/text-orientation-invalid.html": [
- "118764d6c5f346600cd416ff08a2971e7009b05c",
+ "cc9c051049bc07ff977d08fcd796b8f31c13f5af",
"testharness"
],
"css/css-writing-modes/parsing/text-orientation-valid.html": [
- "2f2b6625505a1e2e613297a0fac3d185bf75c94b",
+ "06049c28a0aac6d2d8f3e538d3ad63aa8d68c4e3",
"testharness"
],
"css/css-writing-modes/parsing/unicode-bidi-invalid.html": [
- "de7cb6d20f71086b573a809762735ad35796f5b0",
+ "1e5f2a1f62a8ea8ffc6b9994bb7a5f8887f7624b",
"testharness"
],
"css/css-writing-modes/parsing/unicode-bidi-valid.html": [
- "97a3d59c9acf77a263627bf2199a77fa517a3026",
+ "087c026adcec3172f96c171b83a2c7efbb91be60",
"testharness"
],
"css/css-writing-modes/parsing/writing-mode-invalid.html": [
- "6a512a71834a36961bcf3022ed76904cfc6be124",
+ "50e42f73c6d14bbcc19737c17547a178c9cfb870",
"testharness"
],
"css/css-writing-modes/parsing/writing-mode-valid.html": [
- "4fd856ae9dde5128b0a8ea8740a7123697ea41d3",
+ "6f525109fe1bdbc1118f33f9c38ec39a8cc8b6fe",
"testharness"
],
"css/css-writing-modes/percent-margin-vlr-003.xht": [
@@ -564169,10 +564298,6 @@
"04dc0fe2e9e838e592f8da044555f1a379ab641f",
"support"
],
- "css/css-writing-modes/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/css-writing-modes/support/pass-cdts-abs-pos-non-replaced.png": [
"15fd6065ef670fcab7e0b662285c19bdd881da1d",
"support"
@@ -566830,29 +566955,33 @@
"testharness"
],
"css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html": [
- "d07f195d62631a3896e892e40033d84b30e20a97",
+ "0cec437c627675b296b2ee0659ea18d886765952",
"testharness"
],
"css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html": [
- "68313d8db7f444a611075c0b1188a131fde54cd1",
+ "5f7a6e653595a2b6d597dc77f81c08e3d076be09",
"testharness"
],
"css/filter-effects/parsing/filter-parsing-invalid.html": [
- "f89f45628ce8a2e5c755204b1a73ff32751588d2",
+ "06cb30c8c3c1f5a64ab8a5b93e81926ce6210714",
"testharness"
],
"css/filter-effects/parsing/filter-parsing-valid.html": [
- "3de19c023cf8c75ee87899393819b77b03060d3b",
+ "266fee237bad690a5eef67bbb486eb737566c4aa",
"testharness"
],
"css/filter-effects/parsing/lighting-color-parsing-invalid.html": [
- "0711cdd4cf33e4644f73ca352fa0fd9682dd19d7",
+ "3d8207bd55c598e9a303d615f0c7c457bac1dfa2",
"testharness"
],
"css/filter-effects/parsing/lighting-color-parsing-valid.html": [
- "495ddc5f8f6e8ff8171fefb6763843e23f60c94e",
+ "89b189a7f9a4a2ac4ae41c84a50d1f73e1dfc1b3",
"testharness"
],
+ "css/filter-effects/parsing/support/parsing-testcommon.js": [
+ "b075882f89aae49b419220b234534241cde5fd42",
+ "support"
+ ],
"css/filter-effects/reference/filters-opacity-001-ref.html": [
"17d891ee707c36b7d404d9836060d7bb9275e841",
"support"
@@ -566937,10 +567066,6 @@
"9945ef47114c2841a746c99a2fb1e93e050aac8b",
"support"
],
- "css/filter-effects/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/filter-effects/support/pattern-grg-rgr-grg.png": [
"9b88fbd81149891234185f54f8b4a0431759f181",
"support"
@@ -567402,54 +567527,54 @@
"testharness"
],
"css/motion/parsing/offset-anchor-parsing-invalid.html": [
- "45917c1b818c7760c42dcdd79b25787037b79520",
+ "817c2684bbcb95f097dee0541d1e314aec2b15af",
"testharness"
],
"css/motion/parsing/offset-anchor-parsing-valid.html": [
- "30101061b5ce62569bd3701494434e4f6d1088de",
+ "d354763b4e705c5bf18493055c9acb68606c1298",
"testharness"
],
"css/motion/parsing/offset-distance-parsing-invalid.html": [
- "1cbb27fe536c2ba202fd3b7ed65bde1309460f95",
+ "7eec1270ab8884afc2a37dfe6ee31e4f96aaf52a",
"testharness"
],
"css/motion/parsing/offset-distance-parsing-valid.html": [
- "56569c8e0222068860ddda93faadb2580a818a78",
+ "b699ecea5a1a0f3c59b0ea23c542caa1b25800d9",
"testharness"
],
"css/motion/parsing/offset-parsing-invalid.html": [
- "343d22e46b4714dde6f484b37ae8d3fd8772460a",
+ "23475f8d513211338c2239cbc0f26c6a1cf08c79",
"testharness"
],
"css/motion/parsing/offset-parsing-valid.html": [
- "b645199f3a13015941648df08d8583b9a7fc7fed",
+ "4cdb2b193891ffe12e15aff072906cae808201f0",
"testharness"
],
"css/motion/parsing/offset-path-parsing-invalid.html": [
- "c0a32486922b4b1b482817f409571e1e6c4219f7",
+ "d94101836cd8c6bb7d83650b5974a7a2a943879c",
"testharness"
],
"css/motion/parsing/offset-path-parsing-valid.html": [
- "c1e229e1a05a4c85845384ace9b884125f579415",
+ "448673267388c372c59449fe19b7cb7b82f9293e",
"testharness"
],
"css/motion/parsing/offset-position-parsing-invalid.html": [
- "42370d44a38c2618d7f556d6be4b7a206e76b7e7",
+ "6565fa5cdd7e16a442338be282472dca8f1d54be",
"testharness"
],
"css/motion/parsing/offset-position-parsing-valid.html": [
- "3cf235cc855fc7e1325610ce4170974b746f1182",
+ "565abffbdeeba7b553d4dea8468c23282f32ccd4",
"testharness"
],
"css/motion/parsing/offset-rotate-parsing-invalid.html": [
- "591189acb050b8f5ff48175f461de837b036ae2f",
+ "a649fb4aabb28eb9218b2d3fe68b9effe8bc3b93",
"testharness"
],
"css/motion/parsing/offset-rotate-parsing-valid.html": [
- "f481ec8971d3a680c7c0ceb48502adb9ffbf83b4",
+ "38e9ff1ba45ed2cd54b8d55670086f34236b742a",
"testharness"
],
- "css/motion/support/parsing-testcommon.js": [
+ "css/motion/parsing/support/parsing-testcommon.js": [
"b075882f89aae49b419220b234534241cde5fd42",
"support"
],
@@ -569501,10 +569626,6 @@
"9945ef47114c2841a746c99a2fb1e93e050aac8b",
"support"
],
- "css/support/parsing-testcommon.js": [
- "b075882f89aae49b419220b234534241cde5fd42",
- "support"
- ],
"css/support/pattern-grg-rgr-grg.png": [
"9b88fbd81149891234185f54f8b4a0431759f181",
"support"
diff --git a/tests/wpt/metadata/css/css-animations/AnimationEffect-getComputedTiming.tentative.html.ini b/tests/wpt/metadata/css/css-animations/AnimationEffect-getComputedTiming.tentative.html.ini
new file mode 100644
index 00000000000..11dcface117
--- /dev/null
+++ b/tests/wpt/metadata/css/css-animations/AnimationEffect-getComputedTiming.tentative.html.ini
@@ -0,0 +1,4 @@
+[AnimationEffect-getComputedTiming.tentative.html]
+ [AnimationEffect.getComputedTiming() for CSS animations]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html.ini
new file mode 100644
index 00000000000..872fc645a21
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html.ini
@@ -0,0 +1,4 @@
+[AnimationEffect-getComputedTiming.tentative.html]
+ [AnimationEffect.getComputedTiming() for CSS transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html.ini
new file mode 100644
index 00000000000..8a2f5c065de
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html.ini
@@ -0,0 +1,4 @@
+[CSSPseudoElement-getAnimations.tentative.html]
+ [CSSPseudoElement.getAnimations() for CSS transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/CSSTransition-canceling.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSTransition-canceling.tentative.html.ini
new file mode 100644
index 00000000000..c4b07a45454
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/CSSTransition-canceling.tentative.html.ini
@@ -0,0 +1,4 @@
+[CSSTransition-canceling.tentative.html]
+ [Canceling a CSS transition]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/CSSTransition-currentTime.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSTransition-currentTime.tentative.html.ini
new file mode 100644
index 00000000000..24c5c1dac4c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/CSSTransition-currentTime.tentative.html.ini
@@ -0,0 +1,4 @@
+[CSSTransition-currentTime.tentative.html]
+ [CSSTransition.currentTime]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/CSSTransition-effect.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSTransition-effect.tentative.html.ini
new file mode 100644
index 00000000000..a820bd1214a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/CSSTransition-effect.tentative.html.ini
@@ -0,0 +1,4 @@
+[CSSTransition-effect.tentative.html]
+ [CSSTransition.effect]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/CSSTransition-finished.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSTransition-finished.tentative.html.ini
new file mode 100644
index 00000000000..5fc2e4ac40d
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/CSSTransition-finished.tentative.html.ini
@@ -0,0 +1,4 @@
+[CSSTransition-finished.tentative.html]
+ [CSSTransition.finished]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/CSSTransition-ready.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSTransition-ready.tentative.html.ini
new file mode 100644
index 00000000000..e03aea92744
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/CSSTransition-ready.tentative.html.ini
@@ -0,0 +1,4 @@
+[CSSTransition-ready.tentative.html]
+ [CSSTransition.ready]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/CSSTransition-startTime.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSTransition-startTime.tentative.html.ini
new file mode 100644
index 00000000000..dc8b82e3a93
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/CSSTransition-startTime.tentative.html.ini
@@ -0,0 +1,4 @@
+[CSSTransition-startTime.tentative.html]
+ [CSSTransition.startTime]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/CSSTransition-transitionProperty.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/CSSTransition-transitionProperty.tentative.html.ini
new file mode 100644
index 00000000000..0e1d338773b
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/CSSTransition-transitionProperty.tentative.html.ini
@@ -0,0 +1,4 @@
+[CSSTransition-transitionProperty.tentative.html]
+ [CSSTransition.transitionProperty]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/Document-getAnimations.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/Document-getAnimations.tentative.html.ini
new file mode 100644
index 00000000000..1eeb8dfa8d8
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/Document-getAnimations.tentative.html.ini
@@ -0,0 +1,4 @@
+[Document-getAnimations.tentative.html]
+ [Document.getAnimations() for CSS transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/Element-getAnimations.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/Element-getAnimations.tentative.html.ini
new file mode 100644
index 00000000000..ebb28f6aa2b
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/Element-getAnimations.tentative.html.ini
@@ -0,0 +1,4 @@
+[Element-getAnimations.tentative.html]
+ [Element.getAnimations() for CSS transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html.ini
new file mode 100644
index 00000000000..1fcc0ead56a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html.ini
@@ -0,0 +1,4 @@
+[KeyframeEffect-getKeyframes.tentative.html]
+ [KeyframeEffect.getKeyframes() for CSS transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/KeyframeEffect-target.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/KeyframeEffect-target.tentative.html.ini
new file mode 100644
index 00000000000..93184c329de
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/KeyframeEffect-target.tentative.html.ini
@@ -0,0 +1,4 @@
+[KeyframeEffect-target.tentative.html]
+ [CSSTransition.effect.target]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/before-DOMContentLoaded-001.html.ini b/tests/wpt/metadata/css/css-transitions/before-DOMContentLoaded-001.html.ini
index bfc893ea88f..8f5637c64f3 100644
--- a/tests/wpt/metadata/css/css-transitions/before-DOMContentLoaded-001.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/before-DOMContentLoaded-001.html.ini
@@ -3,3 +3,6 @@
[transition height from 10px to 100px / events]
expected: FAIL
+ [CSS Transitions Test: Transitioning before DOMContentLoaded event]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/before-load-001.html.ini b/tests/wpt/metadata/css/css-transitions/before-load-001.html.ini
index 94129ce0ac9..2515fd808a5 100644
--- a/tests/wpt/metadata/css/css-transitions/before-load-001.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/before-load-001.html.ini
@@ -3,3 +3,6 @@
[transition height from 10px to 100px / events]
expected: FAIL
+ [CSS Transitions Test: Transitioning before load event]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/changing-while-transition.html.ini b/tests/wpt/metadata/css/css-transitions/changing-while-transition.html.ini
index cde74db6baa..80985bbf190 100644
--- a/tests/wpt/metadata/css/css-transitions/changing-while-transition.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/changing-while-transition.html.ini
@@ -3,3 +3,6 @@
[changing transition-property / values]
expected: FAIL
+ [CSS Transitions Test: behavior when transition parameters change while transitioning]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/event-dispatch.tentative.html.ini b/tests/wpt/metadata/css/css-transitions/event-dispatch.tentative.html.ini
new file mode 100644
index 00000000000..d020a126785
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/event-dispatch.tentative.html.ini
@@ -0,0 +1,4 @@
+[event-dispatch.tentative.html]
+ [CSS transition event dispatch]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/events-001.html.ini b/tests/wpt/metadata/css/css-transitions/events-001.html.ini
new file mode 100644
index 00000000000..f8179854f80
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/events-001.html.ini
@@ -0,0 +1,4 @@
+[events-001.html]
+ [CSS Transitions Test: transitionend event for shorthand property]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/events-005.html.ini b/tests/wpt/metadata/css/css-transitions/events-005.html.ini
index 9ba64f2b09b..08623360d7b 100644
--- a/tests/wpt/metadata/css/css-transitions/events-005.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/events-005.html.ini
@@ -18,3 +18,6 @@
[padding-left, padding]
expected: FAIL
+ [CSS Transitions Test: transitionend event with property specificity]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/events-006.html.ini b/tests/wpt/metadata/css/css-transitions/events-006.html.ini
index a3f32664c20..512adf30700 100644
--- a/tests/wpt/metadata/css/css-transitions/events-006.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/events-006.html.ini
@@ -1,6 +1,5 @@
[events-006.html]
type: testharness
- expected: TIMEOUT
[transition padding-left on :before / events]
expected: FAIL
@@ -13,3 +12,6 @@
[transition padding-left on ::after]
expected: NOTRUN
+ [CSS Transitions Test: transitionend event for pseudo elements]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/events-007.html.ini b/tests/wpt/metadata/css/css-transitions/events-007.html.ini
new file mode 100644
index 00000000000..093085bc595
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/events-007.html.ini
@@ -0,0 +1,4 @@
+[events-007.html]
+ [CSS Transitions Test: no transitionend event after display:none]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/hidden-container-001.html.ini b/tests/wpt/metadata/css/css-transitions/hidden-container-001.html.ini
new file mode 100644
index 00000000000..3e0465c45bc
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/hidden-container-001.html.ini
@@ -0,0 +1,4 @@
+[hidden-container-001.html]
+ [CSS Transitions Test: Not Transitioning within hidden element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/transition-001.html.ini b/tests/wpt/metadata/css/css-transitions/transition-001.html.ini
new file mode 100644
index 00000000000..0a490473310
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/transition-001.html.ini
@@ -0,0 +1,4 @@
+[transition-001.html]
+ [CSS Transitions Test: Parsing transition shorthand]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/transition-delay-001.html.ini b/tests/wpt/metadata/css/css-transitions/transition-delay-001.html.ini
new file mode 100644
index 00000000000..ed2f0200eb1
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/transition-delay-001.html.ini
@@ -0,0 +1,4 @@
+[transition-delay-001.html]
+ [CSS Transitions Test: Parsing transition-delay]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/transition-duration-001.html.ini b/tests/wpt/metadata/css/css-transitions/transition-duration-001.html.ini
new file mode 100644
index 00000000000..a482cc75571
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/transition-duration-001.html.ini
@@ -0,0 +1,4 @@
+[transition-duration-001.html]
+ [CSS Transitions Test: Parsing transition-duration]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/transition-property-001.html.ini b/tests/wpt/metadata/css/css-transitions/transition-property-001.html.ini
new file mode 100644
index 00000000000..a39802e8cd9
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/transition-property-001.html.ini
@@ -0,0 +1,4 @@
+[transition-property-001.html]
+ [CSS Transitions Test: Parsing transition-property]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/transition-property-002.html.ini b/tests/wpt/metadata/css/css-transitions/transition-property-002.html.ini
index 645a616f0b6..364444841ee 100644
--- a/tests/wpt/metadata/css/css-transitions/transition-property-002.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/transition-property-002.html.ini
@@ -6,3 +6,6 @@
[parse 'all, none']
expected: FAIL
+ [CSS Transitions Test: Parsing invalid transition-property]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/transition-timing-function-001.html.ini b/tests/wpt/metadata/css/css-transitions/transition-timing-function-001.html.ini
new file mode 100644
index 00000000000..ab6db598714
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/transition-timing-function-001.html.ini
@@ -0,0 +1,4 @@
+[transition-timing-function-001.html]
+ [CSS Transitions Test: Parsing transition-timing-function]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
deleted file mode 100644
index 5d17a8e9419..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[traverse_the_history_2.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
deleted file mode 100644
index dc2e45516de..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_5.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
index 1f54c6cbdf1..0c03afd7dd8 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
@@ -172,63 +172,63 @@
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
expected: FAIL
- [HTML (standards) IMG usemap="no-hash-name"]
+ [XHTML img usemap="#percent-escape-id-%41"]
expected: FAIL
- [HTML (standards) IMG usemap="#percent-escape-name-%41"]
+ [XHTML img usemap="#different-CASE-id"]
expected: FAIL
- [HTML (standards) IMG usemap="#percent-escape-id-%41"]
+ [XHTML img usemap="hash-last#"]
expected: FAIL
- [XHTML img usemap="#percent-escape-id-%41"]
+ [XHTML img usemap="no-hash-id"]
expected: FAIL
- [HTML (standards) IMG usemap=""]
+ [XHTML img usemap="#no-such-map"]
expected: FAIL
- [XHTML img usemap="#different-CASE-id"]
+ [XHTML img usemap="#percent-escape-name-%41"]
expected: FAIL
- [XHTML img usemap="hash-last#"]
+ [XHTML img usemap="#"]
expected: FAIL
- [HTML (standards) IMG usemap="hash-last#"]
+ [XHTML img usemap="#different-CASE-name"]
expected: FAIL
- [HTML (standards) IMG usemap="no-hash-id"]
+ [XHTML img usemap=""]
expected: FAIL
- [HTML (standards) IMG usemap="#different-CASE-name"]
+ [XHTML img usemap="no-hash-name"]
expected: FAIL
- [HTML (standards) IMG usemap="#"]
+ [HTML (quirks) IMG usemap="#"]
expected: FAIL
- [HTML (standards) IMG usemap="#different-CASE-id"]
+ [HTML (quirks) IMG usemap="no-hash-id"]
expected: FAIL
- [XHTML img usemap="no-hash-id"]
+ [HTML (quirks) IMG usemap="no-hash-name"]
expected: FAIL
- [XHTML img usemap="#no-such-map"]
+ [HTML (quirks) IMG usemap="#no-such-map"]
expected: FAIL
- [XHTML img usemap="#percent-escape-name-%41"]
+ [HTML (quirks) IMG usemap="hash-last#"]
expected: FAIL
- [XHTML img usemap="#"]
+ [HTML (quirks) IMG usemap="#different-CASE-name"]
expected: FAIL
- [XHTML img usemap="#different-CASE-name"]
+ [HTML (quirks) IMG usemap="#different-CASE-id"]
expected: FAIL
- [XHTML img usemap=""]
+ [HTML (quirks) IMG usemap=""]
expected: FAIL
- [HTML (standards) IMG usemap="#no-such-map"]
+ [HTML (quirks) IMG usemap="#percent-escape-name-%41"]
expected: FAIL
- [XHTML img usemap="no-hash-name"]
+ [HTML (quirks) IMG usemap="#percent-escape-id-%41"]
expected: FAIL
diff --git a/tests/wpt/metadata/url/urlencoded-parser.any.js.ini b/tests/wpt/metadata/url/urlencoded-parser.any.js.ini
index 3fbb77c0d99..fbd5fc1ad8e 100644
--- a/tests/wpt/metadata/url/urlencoded-parser.any.js.ini
+++ b/tests/wpt/metadata/url/urlencoded-parser.any.js.ini
@@ -2,39 +2,24 @@
[response.formData() with input: a&b&c]
expected: FAIL
- [request.formData() with input: a=b&c=d]
- expected: FAIL
-
- [request.formData() with input: &&&a=b&&&&c=d&]
- expected: FAIL
-
[request.formData() with input: a&b&c]
expected: FAIL
- [response.formData() with input: _charset_=windows-1252&test=%C2x]
- expected: FAIL
-
[response.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
[request.formData() with input: a=b&c=d&]
expected: FAIL
-
-[urlencoded-parser.any.worker.html]
- [request.formData() with input: a&b&c]
- expected: FAIL
-
- [response.formData() with input: a=b&c=d]
+ [request.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
- [response.formData() with input: a&b&c]
+ [response.formData() with input: a=b&c=d&]
expected: FAIL
- [request.formData() with input: a=b&c=d&]
- expected: FAIL
- [request.formData() with input: &&&a=b&&&&c=d&]
+[urlencoded-parser.any.worker.html]
+ [request.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: _charset_=windows-1252&test=%C2x]
@@ -46,3 +31,9 @@
[response.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
+ [request.formData() with input: a=b&c=d]
+ expected: FAIL
+
+ [response.formData() with input: &&&a=b&&&&c=d&]
+ expected: FAIL
+
diff --git a/tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-invalid.html b/tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-invalid.html
index 1983adad24d..f939195f3e5 100644
--- a/tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-invalid.html
+++ b/tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-blend-mode supports only the grammar '<blend-mode>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-valid.html b/tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-valid.html
index eebe646bf8a..4f1cfb8dcaf 100644
--- a/tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-valid.html
+++ b/tests/wpt/web-platform-tests/css/compositing/parsing/background-blend-mode-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-blend-mode supports the full grammar '<blend-mode>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/compositing/parsing/isolation-invalid.html b/tests/wpt/web-platform-tests/css/compositing/parsing/isolation-invalid.html
index bb3a5db31c3..8278431ad8a 100644
--- a/tests/wpt/web-platform-tests/css/compositing/parsing/isolation-invalid.html
+++ b/tests/wpt/web-platform-tests/css/compositing/parsing/isolation-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="isolation supports only the grammar '<isolation-mode>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/compositing/parsing/isolation-valid.html b/tests/wpt/web-platform-tests/css/compositing/parsing/isolation-valid.html
index 6fa4cc9bc76..430533858eb 100644
--- a/tests/wpt/web-platform-tests/css/compositing/parsing/isolation-valid.html
+++ b/tests/wpt/web-platform-tests/css/compositing/parsing/isolation-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="isolation supports the full grammar '<isolation-mode>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-invalid.html b/tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-invalid.html
index a7c1232c8a1..c62ef1369df 100644
--- a/tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-invalid.html
+++ b/tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="mix-blend-mode supports only the grammar '<blend-mode>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-valid.html b/tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-valid.html
index 2033f404941..32496149974 100644
--- a/tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-valid.html
+++ b/tests/wpt/web-platform-tests/css/compositing/parsing/mix-blend-mode-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="mix-blend-mode supports the full grammar '<blend-mode>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/compositing/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/compositing/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/compositing/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/compositing/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-getComputedTiming.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/AnimationEffect-getComputedTiming.tentative.html
index fb13f7abbdf..fd2197fcace 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-getComputedTiming.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/AnimationEffect-getComputedTiming.tentative.html
@@ -1,6 +1,6 @@
<!doctype html>
<meta charset=utf-8>
-<title>CSSAnimation.getComputedTiming()</title>
+<title>AnimationEffect.getComputedTiming() for CSS animations</title>
<!-- TODO: Add a more specific link for this once it is specified. -->
<link rel="help" href="https://drafts.csswg.org/css-animations-2/#cssanimation">
<script src="/resources/testharness.js"></script>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-animationName.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-animationName.tentative.html
index 49bd0afb472..370d5ef85e2 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-animationName.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-animationName.tentative.html
@@ -11,7 +11,6 @@
to { left: 100px }
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -39,4 +38,3 @@ test(t => {
}, 'Animation name with hex-escape');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-canceling.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-canceling.tentative.html
index a9e165417ee..b76af2c24ac 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-canceling.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-canceling.tentative.html
@@ -18,7 +18,6 @@
to { margin-left: 200px }
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -195,5 +194,3 @@ promise_test(async t => {
'descendants');
</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-effect.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-effect.tentative.html
index 6597547f846..d288f47c60f 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-effect.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-effect.tentative.html
@@ -16,7 +16,6 @@
}
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -129,4 +128,3 @@ promise_test(async t => {
'it fires an animationstart event');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-finished.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-finished.tentative.html
index 0003286de4a..57dd0d5020c 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-finished.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-finished.tentative.html
@@ -12,7 +12,6 @@
}
@keyframes def {}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -84,4 +83,3 @@ promise_test(async t => {
}, 'finished promise is not reset when animationPlayState is set to running');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html
index fbe51f6df3f..4a0b9bdce74 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-getCurrentTime.tentative.html
@@ -1,10 +1,11 @@
<!doctype html>
-<html>
-<head>
<meta charset=utf-8>
<title>CSSAnimation.currentTime</title>
<!-- TODO: Add a more specific link for this once it is specified. -->
<link rel="help" href="https://drafts.csswg.org/css-animations-2/#cssanimation">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/testcommon.js"></script>
<style>
.animated-div {
@@ -19,11 +20,6 @@
}
</style>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="support/testcommon.js"></script>
-</head>
-<body>
<div id="log"></div>
<script type="text/javascript">
@@ -70,5 +66,3 @@ promise_test(async t => {
}, 'Setting currentTime to null on a CSS animation throws');
</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-id.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-id.tentative.html
index 79651c2d650..623e01d2354 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-id.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-id.tentative.html
@@ -9,7 +9,6 @@
<style>
@keyframes abc { }
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -25,5 +24,4 @@ test(t => {
}, 'Animation.id for CSS Animations');
</script>
-</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-pausing.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-pausing.tentative.html
index 34dd06b0da6..2b6e6853b41 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-pausing.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-pausing.tentative.html
@@ -12,7 +12,6 @@
100% { margin-left: 10000px }
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -169,4 +168,3 @@ promise_test(async t => {
}, 'Setting the current time completes a pending pause');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-playState.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-playState.tentative.html
index be95b4fc31c..acfdc1348fb 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-playState.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-playState.tentative.html
@@ -9,7 +9,6 @@
<style>
@keyframes anim { }
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -54,4 +53,3 @@ test(t => {
}, 'Animation returns correct playState when canceled');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-ready.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-ready.tentative.html
index 99fa0856ce3..f70ebd17003 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-ready.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-ready.tentative.html
@@ -11,7 +11,6 @@
to { transform: translate(10px) }
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -97,4 +96,3 @@ promise_test(async t => {
}, 'Pausing twice re-uses the same Promise');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-startTime.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-startTime.tentative.html
index 9c8c57b406e..edef3b239e8 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-startTime.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSAnimation-startTime.tentative.html
@@ -1,10 +1,11 @@
<!doctype html>
-<html>
-<head>
<meta charset=utf-8>
<title>CSSAnimation.startTime</title>
<!-- TODO: Add a more specific link for this once it is specified. -->
<link rel="help" href="https://drafts.csswg.org/css-animations-2/#cssanimation">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/testcommon.js"></script>
<style>
.animated-div {
@@ -19,11 +20,6 @@
}
</style>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="support/testcommon.js"></script>
-</head>
-<body>
<div id="log"></div>
<script type="text/javascript">
@@ -71,5 +67,3 @@ promise_test(async t => {
}, 'Seeking a CSS animation using the start time dispatches animation events');
</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/CSSPseudoElement-getAnimations.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/CSSPseudoElement-getAnimations.tentative.html
index f1257fe481f..8fcdf3879dc 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/CSSPseudoElement-getAnimations.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/CSSPseudoElement-getAnimations.tentative.html
@@ -26,7 +26,6 @@
content: '';
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -74,4 +73,3 @@ test(t => {
'animations in the expected order');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html
index 1ebf4657fa0..c11b0a90876 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html
@@ -25,7 +25,6 @@
content: ''
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -283,4 +282,3 @@ test(t => {
'after sorting');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative.html
index ca6a23c13b0..a5e22884271 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative.html
@@ -14,7 +14,6 @@ Element.getAnimations() - Dynamic changes to the list of CSS animations
}
@keyframes anim2 { }
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -162,4 +161,3 @@ promise_test(async t => {
}, 'Animation state is preserved when interleaving animations in list');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html
index ee80cacf15b..23f9ec8e384 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html
@@ -24,7 +24,6 @@
}
@keyframes empty { }
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -446,4 +445,3 @@ test(t => {
+ ' from all the descendants');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/KeyframeEffect-target.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/KeyframeEffect-target.tentative.html
index cc066b4ec19..4991762099d 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/KeyframeEffect-target.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/KeyframeEffect-target.tentative.html
@@ -15,7 +15,6 @@
content: ''
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -62,4 +61,3 @@ test(t => {
'CSSPseudoElement object as that from the CSS generated animation');
</script>
-</body>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/event-dispatch.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/event-dispatch.tentative.html
index 6211cbff0e1..54bc9499a53 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/event-dispatch.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/event-dispatch.tentative.html
@@ -11,7 +11,6 @@
to { margin-left: 100px; }
}
</style>
-<body>
<div id="log"></div>
<script>
'use strict';
@@ -419,5 +418,3 @@ promise_test(async t => {
}, 'Cancel the animation after clearing the target effect.');
</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html
index 91d3851c015..93d452ace07 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html
@@ -11,7 +11,6 @@
to { margin-left: 100px; }
}
</style>
-<body>
<div id="log"></div>
<script type='text/javascript'>
'use strict';
@@ -160,5 +159,3 @@ promise_test(async t => {
}, 'Test start and end events are sorted correctly when fired simultaneously');
</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/box-shadow-syntax-001.html b/tests/wpt/web-platform-tests/css/css-backgrounds/box-shadow-syntax-001.html
deleted file mode 100644
index 4b8f1869f57..00000000000
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/box-shadow-syntax-001.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<title>CSS Test: Box Shadow Syntax: Reordering Components</title>
-<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/>
-<link rel="help" href="http://www.w3.org/TR/css3-background/#the-box-shadow"/>
-<meta name="assert" content="Box shadow color, inset, and length parameters can be mixed in any order, but lengths must stay adjacent." />
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="support/parsing-testcommon.js"></script>
-<script>
- // color only
- test_valid_value("box-shadow", "4px 4px green", "green 4px 4px");
- test_valid_value("box-shadow", "green -4px 4px", "green -4px 4px");
- test_valid_value("box-shadow", "-4px 4px 0 green", "green -4px 4px 0px");
- test_valid_value("box-shadow", "green -4px 4px 0", "green -4px 4px 0px");
- test_valid_value("box-shadow", "-4px 4px 0 0 green", "green -4px 4px 0px 0px");
- test_valid_value("box-shadow", "green -4px 4px 0 0", "green -4px 4px 0px 0px");
-
- // inset only
- test_valid_value("box-shadow", "4px -4px inset", "4px -4px inset");
- test_valid_value("box-shadow", "inset 4px -4px", "4px -4px inset");
- test_valid_value("box-shadow", "4px -4px 0 inset", "4px -4px 0px inset");
- test_valid_value("box-shadow", "inset 4px -4px 0", "4px -4px 0px inset");
- test_valid_value("box-shadow", "4px -4px 0 0 inset", "4px -4px 0px 0px inset");
- test_valid_value("box-shadow", "inset 4px -4px 0 0", "4px -4px 0px 0px inset");
-
- // color and inset
- test_valid_value("box-shadow", "4px -4px green inset", "green 4px -4px inset");
- test_valid_value("box-shadow", "4px -4px inset green", "green 4px -4px inset");
- test_valid_value("box-shadow", "inset green 4px -4px", "green 4px -4px inset");
- test_valid_value("box-shadow", "green inset 4px -4px", "green 4px -4px inset");
- test_valid_value("box-shadow", "green 4px -4px inset", "green 4px -4px inset");
- test_valid_value("box-shadow", "inset 4px -4px green", "green 4px -4px inset");
- test_valid_value("box-shadow", "inset green 4px -4px 0", "green 4px -4px 0px inset");
- test_valid_value("box-shadow", "green inset 4px -4px 0", "green 4px -4px 0px inset");
- test_valid_value("box-shadow", "4px -4px 0 green inset", "green 4px -4px 0px inset");
- test_valid_value("box-shadow", "4px -4px 0 inset green", "green 4px -4px 0px inset");
- test_valid_value("box-shadow", "green 4px -4px 0 inset", "green 4px -4px 0px inset");
- test_valid_value("box-shadow", "inset 4px -4px 0 green", "green 4px -4px 0px inset");
- test_valid_value("box-shadow", "inset green 4px -4px 0 0", "green 4px -4px 0px 0px inset");
- test_valid_value("box-shadow", "green inset 4px -4px 0 0", "green 4px -4px 0px 0px inset");
- test_valid_value("box-shadow", "4px -4px 0 0 green inset", "green 4px -4px 0px 0px inset");
- test_valid_value("box-shadow", "4px -4px 0 0 inset green", "green 4px -4px 0px 0px inset");
- test_valid_value("box-shadow", "green 4px -4px 0 0 inset", "green 4px -4px 0px 0px inset");
- test_valid_value("box-shadow", "inset 4px -4px 0 0 green", "green 4px -4px 0px 0px inset");
-
- test_invalid_value("box-shadow", "red");
- test_invalid_value("box-shadow", "4px red");
- test_invalid_value("box-shadow", "red 4px");
- test_invalid_value("box-shadow", "-4px red 4px");
- test_invalid_value("box-shadow", "red -4px 4px red");
- test_invalid_value("box-shadow", "-4px 4px red 0");
- test_invalid_value("box-shadow", "-4px 4px 0 red 0");
- test_invalid_value("box-shadow", "inset");
- test_invalid_value("box-shadow", "inset 4px");
- test_invalid_value("box-shadow", "4px inset");
- test_invalid_value("box-shadow", "4px inset -4px");
- test_invalid_value("box-shadow", "inset 4px -4px inset");
- test_invalid_value("box-shadow", "4px -4px inset 0");
- test_invalid_value("box-shadow", "4px -4px 0 inset 0");
- test_invalid_value("box-shadow", "red inset");
- test_invalid_value("box-shadow", "inset red");
- test_invalid_value("box-shadow", "4px red inset");
- test_invalid_value("box-shadow", "red inset 4px");
- test_invalid_value("box-shadow", "4px inset red");
- test_invalid_value("box-shadow", "inset red 4px");
- test_invalid_value("box-shadow", "4px red inset -4px");
- test_invalid_value("box-shadow", "4px inset red -4px");
- test_invalid_value("box-shadow", "inset 4px red -4px");
- test_invalid_value("box-shadow", "4px red 4px inset");
- test_invalid_value("box-shadow", "red 4px inset -4px");
- test_invalid_value("box-shadow", "4px inset -4px red");
- test_invalid_value("box-shadow", "4px -4px red inset 0");
- test_invalid_value("box-shadow", "4px -4px inset red 0");
- test_invalid_value("box-shadow", "inset 4px -4px red 0");
- test_invalid_value("box-shadow", "4px -4px red 0 inset");
- test_invalid_value("box-shadow", "red 4px -4px inset 0");
- test_invalid_value("box-shadow", "4px -4px inset 0 red");
-</script>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-invalid.html
index 0af7394aa42..68b18dcc2d0 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-attachment supports only the grammar '<attachment>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-valid.html
index 9a0f2409910..600f310b462 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-attachment supports the full grammar '<attachment>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-invalid.html
index 50b887e1c61..c2492a2a94a 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-clip supports only the grammar '<box>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-valid.html
index 2778315260a..5350a17cbec 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-clip supports the full grammar '<box>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html
index ff90dffb311..d7c688d6b6a 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-color supports only the grammar '<color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-valid.html
index b84e13fb957..d7e864c29b9 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-color supports the full grammar '<color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-invalid.html
index 12103e01dfa..43d7f67b3e9 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-image supports only the grammar '<bg-image>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-valid.html
index 601efb6898a..ffbf33b6d64 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-image supports the full grammar '<bg-image>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-invalid.html
index 19f5d965b48..c3deef9bc90 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background supports only the grammar '<bg-layer># , <final-bg-layer>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-invalid.html
index 1ef2d9faa89..9eead06baeb 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-origin supports only the grammar '<box>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-valid.html
index bbd59d39790..1c19b96ec43 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-origin supports the full grammar '<box>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html
index 9a3e9cb0a61..583606e14d2 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-position supports only the grammar '<bg-position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-valid.html
index 371bc7a3512..dbb97406a5a 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-position supports the full grammar '<bg-position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-invalid.html
index 55229a70cef..3ae01662d08 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-repeat supports only the grammar '<repeat-style>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-valid.html
index 3a00b19c4c5..b69eb5ff030 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-repeat supports the full grammar '<repeat-style>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-invalid.html
index 7497f43df97..cfb9a1c077c 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-size supports only the grammar '<bg-size>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-valid.html
index 71d60698dca..22442117746 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background-size supports the full grammar '<bg-size>#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-valid.html
index 39c4672fb35..96529e5604a 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="background supports the full grammar '<bg-layer># , <final-bg-layer>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-invalid.html
index 67248dd6122..3916c4f2ecb 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-color supports only the grammar '<color>{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-valid.html
index c69f9622811..63532a99a4b 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-color-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-color supports the full grammar '<color>{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-invalid.html
index 87194a5477d..08c61dfb554 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image supports only the grammar ' <‘border-image-source’> || <‘border-image-slice’> [ / <‘border-image-width’> | / <‘border-image-width’>? / <‘border-image-outset’> ]? || <‘border-image-repeat’>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-invalid.html
index 5e76198141c..4faaa3ca0d9 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-outset supports only the grammar '[ <length> | <number> ]{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-valid.html
index 5ead2608d25..781a6e0a8ab 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-outset-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-outset supports the full grammar '[ <length> | <number> ]{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html
index 0a70aab2412..962ab22fbf0 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-repeat supports only the grammar '[ stretch | repeat | round | space ]{1,2}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-valid.html
index e77ae48fd19..381b0595235 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-repeat supports the full grammar '[ stretch | repeat | round | space ]{1,2}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-invalid.html
index b2f55f14fbe..4ccf441f75a 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-slice supports only the grammar '[<number> | <percentage>]{1,4} && fill?'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-valid.html
index 66d747f7cd9..29731944238 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-slice-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-slice supports the full grammar '[<number> | <percentage>]{1,4} && fill?'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-invalid.html
index 78d042ded41..28edd7855df 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-source supports only the grammar 'none | <image>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-valid.html
index c032dcda878..c080d395078 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-source-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-source supports the full grammar 'none | <image>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-valid.html
index 880dc87700b..8bf9cd51fcd 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image supports the full grammar ' <‘border-image-source’> || <‘border-image-slice’> [ / <‘border-image-width’> | / <‘border-image-width’>? / <‘border-image-outset’> ]? || <‘border-image-repeat’>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-invalid.html
index c7fba1c2ce3..44597235377 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-width supports only the grammar '[ <length-percentage> | <number> | auto ]{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-valid.html
index 5917c7f6b9d..e1316c33708 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-image-width-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-image-width supports the full grammar '[ <length-percentage> | <number> | auto ]{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-invalid.html
index baaa66c37da..a3d28dfbac0 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-width supports only the grammar '<line-width> || <line-style> || <color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-invalid.html
index 28460aa598d..9d767a961ea 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-radius supports only the grammar '<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-valid.html
index 96cdf2019da..40a9d9e8e40 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-radius-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-radius supports the full grammar '<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-invalid.html
index ecc9d6b43a6..42bd61ad1e9 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-style supports only the grammar '<line-style>{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-valid.html
index dc8311b1243..10fa39bbf6c 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-style-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-style supports the full grammar '<line-style>{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-valid.html
index e94938a3a48..5ca8bbdc43e 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-width supports the full grammar '<line-width> || <line-style> || <color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-invalid.html
index 85a3414d813..2edd05ea42b 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-width supports only the grammar '<line-width>{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-valid.html
index 00dc1c0fcff..5a9b174c915 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/border-width-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="border-width supports the full grammar '<line-width>{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-invalid.html
index 1bcfc694d4c..a38ae2fce74 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-invalid.html
@@ -3,12 +3,14 @@
<head>
<meta charset="utf-8">
<title>CSS Backgrounds and Borders Module Level 3: parsing box-shadow with invalid values</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/>
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#box-shadow">
<meta name="assert" content="box-shadow supports only the grammar 'none | <shadow>#'.">
+<meta name="assert" content="Lengths must stay adjacent." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
@@ -17,12 +19,44 @@ test_invalid_value("box-shadow", "1 2");
test_invalid_value("box-shadow", "1% 2%");
test_invalid_value("box-shadow", "1px calc(2px + 2%)");
-test_invalid_value("box-shadow", "red inset");
test_invalid_value("box-shadow", "1px");
test_invalid_value("box-shadow", "1px 2px 3px 4px 5px");
test_invalid_value("box-shadow", "red 1px 2px blue");
+
+test_invalid_value("box-shadow", "red");
+test_invalid_value("box-shadow", "4px red");
+test_invalid_value("box-shadow", "red 4px");
+test_invalid_value("box-shadow", "-4px red 4px");
+test_invalid_value("box-shadow", "red -4px 4px red");
+test_invalid_value("box-shadow", "-4px 4px red 0");
+test_invalid_value("box-shadow", "-4px 4px 0 red 0");
+test_invalid_value("box-shadow", "inset");
+test_invalid_value("box-shadow", "inset 4px");
+test_invalid_value("box-shadow", "4px inset");
+test_invalid_value("box-shadow", "4px inset -4px");
+test_invalid_value("box-shadow", "inset 4px -4px inset");
+test_invalid_value("box-shadow", "4px -4px inset 0");
+test_invalid_value("box-shadow", "4px -4px 0 inset 0");
+test_invalid_value("box-shadow", "red inset");
+test_invalid_value("box-shadow", "inset red");
+test_invalid_value("box-shadow", "4px red inset");
+test_invalid_value("box-shadow", "red inset 4px");
+test_invalid_value("box-shadow", "4px inset red");
+test_invalid_value("box-shadow", "inset red 4px");
+test_invalid_value("box-shadow", "4px red inset -4px");
+test_invalid_value("box-shadow", "4px inset red -4px");
+test_invalid_value("box-shadow", "inset 4px red -4px");
+test_invalid_value("box-shadow", "4px red 4px inset");
+test_invalid_value("box-shadow", "red 4px inset -4px");
+test_invalid_value("box-shadow", "4px inset -4px red");
+test_invalid_value("box-shadow", "4px -4px red inset 0");
+test_invalid_value("box-shadow", "4px -4px inset red 0");
+test_invalid_value("box-shadow", "inset 4px -4px red 0");
+test_invalid_value("box-shadow", "4px -4px red 0 inset");
+test_invalid_value("box-shadow", "red 4px -4px inset 0");
+test_invalid_value("box-shadow", "4px -4px inset 0 red");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-valid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-valid.html
index 29bb263bb0d..be72b78cbbe 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/box-shadow-valid.html
@@ -3,12 +3,14 @@
<head>
<meta charset="utf-8">
<title>CSS Backgrounds and Borders Module Level 3: parsing box-shadow with valid values</title>
+<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/>
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#box-shadow">
<meta name="assert" content="box-shadow supports the full grammar 'none | <shadow>#'.">
+<meta name="assert" content="Box shadow color, inset, and length parameters can be mixed in any order." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
@@ -18,6 +20,43 @@ test_valid_value("box-shadow", "red 1px 2px 3px -4px inset"); // Edge serializes
test_valid_value("box-shadow", "inset 1px 2px red", "red 1px 2px inset");
test_valid_value("box-shadow", "1px -2px inset, red -3px 4px"); // Edge serializes as "inset 1px -2px, -3px 4px red"
test_valid_value("box-shadow", "inset 1px -2px, -3px 4px red", "1px -2px inset, red -3px 4px");
+
+
+// color only
+test_valid_value("box-shadow", "4px 4px green", "green 4px 4px");
+test_valid_value("box-shadow", "green -4px 4px", "green -4px 4px");
+test_valid_value("box-shadow", "-4px 4px 0 green", "green -4px 4px 0px");
+test_valid_value("box-shadow", "green -4px 4px 0", "green -4px 4px 0px");
+test_valid_value("box-shadow", "-4px 4px 0 0 green", "green -4px 4px 0px 0px");
+test_valid_value("box-shadow", "green -4px 4px 0 0", "green -4px 4px 0px 0px");
+
+// inset only
+test_valid_value("box-shadow", "4px -4px inset", "4px -4px inset");
+test_valid_value("box-shadow", "inset 4px -4px", "4px -4px inset");
+test_valid_value("box-shadow", "4px -4px 0 inset", "4px -4px 0px inset");
+test_valid_value("box-shadow", "inset 4px -4px 0", "4px -4px 0px inset");
+test_valid_value("box-shadow", "4px -4px 0 0 inset", "4px -4px 0px 0px inset");
+test_valid_value("box-shadow", "inset 4px -4px 0 0", "4px -4px 0px 0px inset");
+
+// color and inset
+test_valid_value("box-shadow", "4px -4px green inset", "green 4px -4px inset");
+test_valid_value("box-shadow", "4px -4px inset green", "green 4px -4px inset");
+test_valid_value("box-shadow", "inset green 4px -4px", "green 4px -4px inset");
+test_valid_value("box-shadow", "green inset 4px -4px", "green 4px -4px inset");
+test_valid_value("box-shadow", "green 4px -4px inset", "green 4px -4px inset");
+test_valid_value("box-shadow", "inset 4px -4px green", "green 4px -4px inset");
+test_valid_value("box-shadow", "inset green 4px -4px 0", "green 4px -4px 0px inset");
+test_valid_value("box-shadow", "green inset 4px -4px 0", "green 4px -4px 0px inset");
+test_valid_value("box-shadow", "4px -4px 0 green inset", "green 4px -4px 0px inset");
+test_valid_value("box-shadow", "4px -4px 0 inset green", "green 4px -4px 0px inset");
+test_valid_value("box-shadow", "green 4px -4px 0 inset", "green 4px -4px 0px inset");
+test_valid_value("box-shadow", "inset 4px -4px 0 green", "green 4px -4px 0px inset");
+test_valid_value("box-shadow", "inset green 4px -4px 0 0", "green 4px -4px 0px 0px inset");
+test_valid_value("box-shadow", "green inset 4px -4px 0 0", "green 4px -4px 0px 0px inset");
+test_valid_value("box-shadow", "4px -4px 0 0 green inset", "green 4px -4px 0px 0px inset");
+test_valid_value("box-shadow", "4px -4px 0 0 inset green", "green 4px -4px 0px 0px inset");
+test_valid_value("box-shadow", "green 4px -4px 0 0 inset", "green 4px -4px 0px 0px inset");
+test_valid_value("box-shadow", "inset 4px -4px 0 0 green", "green 4px -4px 0px 0px inset");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/clear-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/clear-invalid.html
index a91e61f97e2..636704330e3 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/clear-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/clear-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="clear supports only the grammar 'none | left | right | both'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/clear-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/clear-valid.html
index db0b5aa094d..a849f6c06de 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/clear-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/clear-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="clear supports the full grammar 'none | left | right | both'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/float-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/float-invalid.html
index 0ff53be36ac..8c3d28f578a 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/float-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/float-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="float supports only the grammar 'left | right | top | bottom | start | end | none | <page-floats>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/float-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/float-valid.html
index aecbd99d220..9ff6ef43a22 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/float-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/float-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="float supports the full grammar 'left | right | top | bottom | start | end | none | <page-floats>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/height-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/height-invalid.html
index acc595f063a..f15bd27de80 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/height-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/height-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="height supports only the grammar '[<length> | <percentage>] | available | min-content | max-content | fit-content | complex | auto'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/height-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/height-valid.html
index 38f76ea24ab..a89ec6b5502 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/height-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/height-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="height supports the full grammar '[<length> | <percentage>] | available | min-content | max-content | fit-content | complex | auto'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/margin-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/margin-invalid.html
index 9c21749c8cc..917fc927e9d 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/margin-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/margin-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="margin supports only the grammar '[ <length> | <percentage> | auto]{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/margin-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/margin-valid.html
index fc14af25628..1715a9c924e 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/margin-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/margin-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="margin supports the full grammar '[ <length> | <percentage> | auto]{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-invalid.html
index 9b8e72dd869..61c85d12910 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="max-height supports only the grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content | none'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-valid.html
index 35ad18ab266..ca58cec3a9c 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="max-height supports the full grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content | none'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-invalid.html
index 487d15e6ec6..57bcbbf168c 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="max-width supports only the grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content | none'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-valid.html
index 95b2ae9f554..e098b804c08 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="max-width supports the full grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content | none'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-invalid.html
index a35ac3f8d05..26a1e10a34c 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="min-height supports only the grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-valid.html
index 1a2b838dcbc..576a5c07989 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="min-height supports the full grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-invalid.html
index 2a290901ed8..d71777fea6c 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="min-width supports only the grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-valid.html
index ebe9ee70e85..406452dd583 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="min-width supports the full grammar '[ [<length> | <percentage>] && [border-box | content-box]? ] | available | min-content | max-content | fit-content'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-invalid.html
index da09e64e69e..bf3ee3d72ba 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="overflow supports only the grammar '[ visible | hidden | scroll | auto | no-display | no-content ]{1,2}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-valid.html
index 898d7607de9..6bef585856c 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="overflow supports the full grammar '[ visible | hidden | scroll | auto | no-display | no-content ]{1,2}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/padding-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/padding-invalid.html
index 7a83d75acca..7e172efed30 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/padding-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/padding-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="padding supports only the grammar '<length>{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/padding-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/padding-valid.html
index 33522ba6dbb..e5a932e1417 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/padding-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/padding-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="padding supports the full grammar '<length>{1,4}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-box/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-box/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-invalid.html
index 07fe6ebe18a..892ca54815f 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="visibility supports only the grammar 'visible | hidden | collapse'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-valid.html
index de1cb9b0c11..2c1143dfa5c 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="visibility supports the full grammar 'visible | hidden | collapse'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/width-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/width-invalid.html
index defd7d27912..bcbb3d663ae 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/width-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/width-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="width supports only the grammar '[<length> | <percentage>] | available | min-content | max-content | fit-content | auto'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/width-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/width-valid.html
index f4be6b2b132..653b11e993c 100644
--- a/tests/wpt/web-platform-tests/css/css-box/parsing/width-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/width-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="width supports the full grammar '[<length> | <percentage>] | available | min-content | max-content | fit-content | auto'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-cascade/parsing/all-invalid.html b/tests/wpt/web-platform-tests/css/css-cascade/parsing/all-invalid.html
index 526f9fdf575..8b7c044a034 100644
--- a/tests/wpt/web-platform-tests/css/css-cascade/parsing/all-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-cascade/parsing/all-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="all supports only the grammar 'initial | inherit | unset'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-cascade/parsing/all-valid.html b/tests/wpt/web-platform-tests/css/css-cascade/parsing/all-valid.html
index 42baa25d016..668a6c24241 100644
--- a/tests/wpt/web-platform-tests/css/css-cascade/parsing/all-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-cascade/parsing/all-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="all supports the full grammar 'initial | inherit | unset'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-cascade/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-cascade/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-cascade/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-cascade/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/color-invalid.html b/tests/wpt/web-platform-tests/css/css-color/parsing/color-invalid.html
index ec59e0fb8be..fe44aad6fc6 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/color-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/color-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="color supports only the grammar '<color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid.html b/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid.html
index ee5948efec2..fb240182c31 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="color supports the full grammar '<color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/opacity-invalid.html b/tests/wpt/web-platform-tests/css/css-color/parsing/opacity-invalid.html
index 7e64036eb7a..d9b9cc86abb 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/opacity-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/opacity-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="opacity supports only the grammar '<alphavalue>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/opacity-valid.html b/tests/wpt/web-platform-tests/css/css-color/parsing/opacity-valid.html
index bf22b092ca0..8ae302e09f3 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/opacity-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/opacity-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="opacity supports the full grammar '<alphavalue>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-color/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-color/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-color/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html
index f2242639526..626b9f13072 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="gradient positions support only the '<position>' grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-valid.html
index 04ca328da01..382fc616360 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="gradient positions support the full '<position>' grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-invalid.html
index a55e335e64f..f2a53fe5f26 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="image-orientation supports only the grammar 'from-image | none'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-valid.html
index c1e2015b302..ea2ec1e699a 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="image-orientation supports the full grammar 'from-image | none'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-invalid.html
index 1ce1a2327a6..9c54c5d7f15 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="image-rendering supports only the grammar 'auto | smooth | high-quality | crisp-edges | pixelated'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-valid.html
index 1918a247313..b3b73edfde9 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="image-rendering supports the full grammar 'auto | smooth | high-quality | crisp-edges | pixelated'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-invalid.html
index d0998cc2b7f..e45ed73e23c 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="image-resolution supports only the grammar '[ from-image || <resolution> ] && snap?'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-valid.html
index 6ee676f429f..7345227fcaf 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="image-resolution supports the full grammar '[ from-image || <resolution> ] && snap?'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-invalid.html
index 26841d4be7e..574573c8015 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="object-fit supports only the grammar 'fill | none | [contain | cover] || scale-down'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-valid.html
index 50ea7254b0b..8b531abad20 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="object-fit supports the full grammar 'fill | none | [contain | cover] || scale-down'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-invalid.html
index d722f1a1af9..346b79a841a 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="object-position supports only the '<position>' grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-valid.html
index 7121cc42021..b7be35ccd74 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="object-position supports the full '<position>' grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-images/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-images/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-images/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html
index 919396375a2..18ae8b552a5 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="clip supports only the grammar 'rect() | auto'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html
index 881cbc08a64..3d33de251f6 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="clip-path supports only the grammar '<clip-source> | [ <basic-shape> || <geometry-box> ] | none'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html
index fef14c97d5c..1d55ed78553 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-path-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="clip-path supports the full grammar '<clip-source> | [ <basic-shape> || <geometry-box> ] | none'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-invalid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-invalid.html
index 50694703ce4..3088d07af8e 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="clip-rule supports only the grammar 'nonzero | evenodd'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-valid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-valid.html
index ca805e1fcec..2fb19073a3e 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-rule-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="clip-rule supports the full grammar 'nonzero | evenodd'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html
index 95c31f7de06..a21e90178b7 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/clip-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="clip supports the full grammar 'rect() | auto'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-masking/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-masking/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid.html b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid.html
index dcabbe6cce1..eb60a2e4428 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="shape-image-threshold supports only the grammar '<number>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid.html b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid.html
index 0a71e75ba0a..4fe1efceb03 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-image-threshold-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="shape-image-threshold supports the full grammar '<number>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-invalid.html b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-invalid.html
index ebb1938d422..cdaea050395 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="shape-margin supports only the grammar '<length> | <percentage>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-valid.html b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-valid.html
index f36a8eb3249..28f094b6abb 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-margin-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="shape-margin supports the full grammar '<length> | <percentage>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position.html b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position.html
index 90023aeaf25..3bca706b153 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position.html
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position.html
@@ -8,7 +8,7 @@
<meta name="assert" content="shape-outside positions support only the '<position>' grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid.html b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid.html
index a2a8923818e..57ce32e7fe6 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="shape-outside supports only the grammar 'none | [ <basic-shape> || <shape-box> ] | <image>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html
index 225b0156ad7..ec0a16d568d 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html
@@ -8,7 +8,7 @@
<meta name="assert" content="shape-outside positions support the full '<position>' grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html
index 28f45353dcb..1a70d10f831 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="shape-outside supports the full grammar 'none | [ <basic-shape> || <shape-box> ] | <image>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-shapes/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-shapes/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-invalid.html
index 75350cc3236..24976fc2609 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="perspective-origin supports only the '<position>' grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-valid.html
index b53a34a21d7..d8ac4ccb50a 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/perspective-origin-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="perspective-origin supports the full '<position>' grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-invalid.html
index 63a74e24699..a3f625f6ab6 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="rotate supports only the grammar 'none | <number>{3}? <angle>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid.html
index 789ea00ac4b..33e44e3361d 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="rotate supports the full grammar 'none | <number>{3}? <angle>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-invalid.html
index 050171ca18c..ddc2cade2bc 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="scale supports only the grammar 'none | <number>{1,3}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html
index 0d8783afc4d..2b99d249aaf 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="scale supports the full grammar 'none | <number>{1,3}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-transforms/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-invalid.html
index 23f7ddc463e..415dc072014 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="transform-box supports only the grammar 'content-box | border-box | fill-box | stroke-box | view-box'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-valid.html
index a5d8af9537e..c2e7a5bc904 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="transform-box supports the full grammar 'content-box | border-box | fill-box | stroke-box | view-box'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html
index 02c2b9570a7..bff9d7b723a 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="transform supports only the grammar 'none | <transform-list>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-invalid.html
index 0adcc1f2803..0a8ef52f0ec 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="transform-origin supports only the grammar from spec.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-valid.html
index 52aa6ff9322..c9f1d73c29e 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="transform-origin supports the full grammar from spec.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html
index f9efaa1f710..62ad8e920f3 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="transform supports the full grammar 'none | <transform-list>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid.html
index e602d91bb13..8aa6de5e281 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="translate supports only the grammar 'none | <length-percentage> [ <length-percentage> <length>? ]?'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html
index ab4f27f1019..86b4deb489b 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="translate supports the full grammar 'none | <length-percentage> [ <length-percentage> <length>? ]?'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html
new file mode 100644
index 00000000000..4b6a28b5694
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative.html
@@ -0,0 +1,329 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>AnimationEffect.getComputedTiming() for CSS transitions</title>
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<style>
+
+.animated-div {
+ margin-left: 100px;
+}
+
+</style>
+<div id="log"></div>
+<script>
+
+'use strict';
+
+
+// --------------------
+// delay
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().delay, 0, 'Initial value of delay');
+}, 'delay of a new tranisition');
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().delay, 10000,
+ 'Initial value of delay');
+}, 'Positive delay of a new transition');
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s -5s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().delay, -5000,
+ 'Initial value of delay');
+}, 'Negative delay of a new transition');
+
+
+// --------------------
+// endDelay
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().endDelay, 0,
+ 'Initial value of endDelay');
+}, 'endDelay of a new transition');
+
+
+// --------------------
+// fill
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().fill, 'backwards', 'Fill backwards');
+}, 'fill of a new transition');
+
+
+// --------------------
+// iterationStart
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().iterationStart, 0,
+ 'Initial value of iterationStart');
+}, 'iterationStart of a new transition');
+
+
+// --------------------
+// iterations
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().iterations, 1,
+ 'Initial value of iterations');
+}, 'iterations of a new transition');
+
+
+// --------------------
+// duration
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().duration, 10000,
+ 'Initial value of duration');
+}, 'duration of a new transition');
+
+
+// --------------------
+// direction
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class : 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().direction, 'normal',
+ 'Initial value of direction');
+}, 'direction of a new transition');
+
+
+// --------------------
+// easing
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().easing, 'linear',
+ 'Initial value of easing');
+}, 'easing of a new transition');
+
+
+// ------------------------------
+// endTime
+// = max(start delay + active duration + end delay, 0)
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 100s -5s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ const answer = 100000 - 5000; // ms
+ assert_equals(effect.getComputedTiming().endTime, answer,
+ 'Initial value of endTime');
+}, 'endTime of a new transition');
+
+
+// --------------------
+// activeDuration
+// = iteration duration * iteration count(==1)
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 100s -5s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().activeDuration, 100000,
+ 'Initial value of activeDuration');
+}, 'activeDuration of a new transition');
+
+
+// --------------------
+// localTime
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 100s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().localTime, 0,
+ 'Initial value of localTime');
+}, 'localTime of a new transition');
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 100s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const anim = div.getAnimations()[0];
+ anim.currentTime = 5000;
+ assert_equals(anim.effect.getComputedTiming().localTime, anim.currentTime,
+ 'current localTime after setting currentTime');
+}, 'localTime is always equal to currentTime');
+
+promise_test(async t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 100s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const anim = div.getAnimations()[0];
+ anim.playbackRate = 2; // 2 times faster
+
+ await anim.ready;
+
+ assert_equals(anim.effect.getComputedTiming().localTime, anim.currentTime,
+ 'localTime is equal to currentTime');
+ await waitForFrame();
+
+ assert_equals(anim.effect.getComputedTiming().localTime, anim.currentTime,
+ 'localTime is equal to currentTime');
+}, 'localTime reflects playbackRate immediately');
+
+
+// --------------------
+// progress
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10.5s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().progress, 0.0,
+ 'Initial value of progress');
+}, 'progress of a new transition');
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10.5s 2s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().progress, 0.0,
+ 'Initial value of progress');
+}, 'progress of a new transition with positive delay in before phase');
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10.5s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const anim = div.getAnimations()[0];
+ anim.finish();
+ assert_equals(anim.effect.getComputedTiming().progress, null,
+ 'finished progress');
+}, 'progress of a finished transition');
+
+
+// --------------------
+// currentIteration
+// --------------------
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().currentIteration, 0,
+ 'Initial value of currentIteration');
+}, 'currentIteration of a new transition');
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s 2s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const effect = div.getAnimations()[0].effect;
+ assert_equals(effect.getComputedTiming().currentIteration, 0,
+ 'Initial value of currentIteration');
+}, 'currentIteration of a new transition with positive delay in before phase');
+
+test(t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ div.style.transition = 'margin-left 10s';
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '10px';
+
+ const anim = div.getAnimations()[0];
+ anim.finish();
+ assert_equals(anim.effect.getComputedTiming().currentIteration, null,
+ 'finished currentIteration');
+}, 'currentIteration of a finished transition');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html
new file mode 100644
index 00000000000..5229881e30f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSPseudoElement-getAnimations.tentative.html
@@ -0,0 +1,47 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSSPseudoElement.getAnimations() for CSS transitions</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#animation-composite-order">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<style>
+.init::before {
+ content: '';
+ height: 0px;
+ width: 0px;
+ opacity: 0;
+ transition: all 100s;
+}
+.change::before {
+ height: 100px;
+ width: 100px;
+ opacity: 1;
+}
+</style>
+<div id="log"></div>
+<script>
+'use strict';
+
+test(t => {
+ const div = addDiv(t, { class: 'init' });
+ getComputedStyle(div).width;
+ div.classList.add('change');
+
+ // Sanity checks
+ assert_equals(document.getAnimations().length, 3,
+ 'Got expected number of animations on document');
+ const pseudoTarget = document.getAnimations()[0].effect.target;
+ assert_class_string(pseudoTarget, 'CSSPseudoElement',
+ 'Got pseudo-element target');
+
+ // Check animations returned from the pseudo element are in correct order
+ const anims = pseudoTarget.getAnimations();
+ assert_equals(anims.length, 3,
+ 'Got expected number of animations on pseudo-element');
+ assert_equals(anims[0].transitionProperty, 'height');
+ assert_equals(anims[1].transitionProperty, 'opacity');
+ assert_equals(anims[2].transitionProperty, 'width');
+}, 'getAnimations sorts simultaneous transitions by name');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-canceling.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-canceling.tentative.html
new file mode 100644
index 00000000000..72b1dbff436
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-canceling.tentative.html
@@ -0,0 +1,252 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>Canceling a CSS transition</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions/#starting">
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+'use strict';
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+ await waitForFrame();
+
+ assert_not_equals(getComputedStyle(div).marginLeft, '1000px',
+ 'transform style is animated before canceling');
+ transition.cancel();
+ assert_equals(getComputedStyle(div).marginLeft, div.style.marginLeft,
+ 'transform style is no longer animated after canceling');
+}, 'Animated style is cleared after canceling a running CSS transition');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ transition.cancel();
+ assert_equals(getComputedStyle(div).marginLeft, '1000px',
+ 'margin-left style is not animated after canceling');
+ transition.play();
+ assert_equals(getComputedStyle(div).marginLeft, '0px',
+ 'margin-left style is animated after re-starting transition');
+
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running',
+ 'Transition succeeds in running after being re-started');
+}, 'After canceling a transition, it can still be re-used');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ transition.finish();
+ transition.cancel();
+ assert_equals(getComputedStyle(div).marginLeft, '1000px',
+ 'margin-left style is not animated after canceling');
+ transition.play();
+ assert_equals(getComputedStyle(div).marginLeft, '0px',
+ 'margin-left style is animated after re-starting transition');
+
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running',
+ 'Transition succeeds in running after being re-started');
+}, 'After canceling a finished transition, it can still be re-used');
+
+test(t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ transition.cancel();
+ assert_equals(getComputedStyle(div).marginLeft, '1000px',
+ 'margin-left style is not animated after canceling');
+
+ // Trigger a change to a transition property and check that this
+ // doesn't cause the animation to become live again
+ div.style.transitionDuration = '200s';
+ getComputedStyle(div).marginLeft;
+ assert_equals(getComputedStyle(div).marginLeft, '1000px',
+ 'margin-left style is still not animated after updating'
+ + ' transition-duration');
+ assert_equals(transition.playState, 'idle',
+ 'Transition is still idle after updating transition-duration');
+}, 'After canceling a transition, updating transition properties doesn\'t make'
+ + ' it live again');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running');
+ div.style.display = 'none';
+
+ await waitForFrame();
+
+ assert_equals(transition.playState, 'idle');
+ assert_equals(getComputedStyle(div).marginLeft, '1000px');
+}, 'Setting display:none on an element cancels its transitions');
+
+promise_test(async t => {
+ const parentDiv = addDiv(t);
+ const childDiv = document.createElement('div');
+ parentDiv.appendChild(childDiv);
+ childDiv.setAttribute('style', 'margin-left: 0px');
+
+ getComputedStyle(childDiv).marginLeft;
+
+ childDiv.style.transition = 'margin-left 100s';
+ childDiv.style.marginLeft = '1000px';
+
+ const transition = childDiv.getAnimations()[0];
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running');
+ parentDiv.style.display = 'none';
+ await waitForFrame();
+
+ assert_equals(transition.playState, 'idle');
+ assert_equals(getComputedStyle(childDiv).marginLeft, '1000px');
+}, 'Setting display:none cancels transitions on a child element');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running');
+ // Set an unrecognized property value
+ div.style.transitionProperty = 'none';
+ getComputedStyle(div).marginLeft;
+ await waitForFrame();
+
+ assert_equals(transition.playState, 'idle');
+ assert_equals(getComputedStyle(div).marginLeft, '1000px');
+}, 'Removing a property from transition-property cancels transitions on that '+
+ 'property');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running');
+ div.style.transition = 'margin-left 10s -10s'; // combined duration is zero
+
+ // Note that simply setting the combined duration to zero is not enough to
+ // cancel the transition. We must also update the end value so that the,
+ // "the end value of the running transition is not equal to the value of the
+ // property in the after-change style" condition is true.
+ //
+ // (And note that the zero combined duration is not strictly necessary to
+ // cancel the original transition--but it does ensure another transition is
+ // not generated in its place.)
+
+ div.style.marginLeft = '2000px';
+ getComputedStyle(div).marginLeft;
+ await waitForFrame();
+
+ assert_equals(transition.playState, 'idle');
+ assert_equals(getComputedStyle(div).marginLeft, '2000px');
+}, 'Setting zero combined duration');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running');
+ div.style.marginLeft = '2000px';
+ getComputedStyle(div).marginLeft;
+ await waitForFrame();
+
+ assert_equals(transition.playState, 'idle');
+}, 'Changing style to another interpolable value cancels the original ' +
+ 'transition');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running');
+ div.style.marginLeft = 'auto';
+ getComputedStyle(div).marginLeft;
+ await waitForFrame();
+
+ assert_equals(div.getAnimations().length, 0,
+ 'There should be no transitions');
+ assert_equals(transition.playState, 'idle');
+}, 'An after-change style value can\'t be interpolated');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'margin-left: 0px' });
+ getComputedStyle(div).marginLeft;
+
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '1000px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ assert_equals(transition.playState, 'running');
+ div.style.marginLeft = '0px';
+ getComputedStyle(div).marginLeft;
+ await waitForFrame();
+
+ assert_equals(transition.playState, 'idle');
+}, 'Reversing a running transition cancels the original transition');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative.html
new file mode 100644
index 00000000000..4c7a7a48916
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-currentTime.tentative.html
@@ -0,0 +1,110 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSSTransition.currentTime</title>
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+
+'use strict';
+
+const marginLeft = div => parseFloat(getComputedStyle(div).marginLeft);
+
+promise_test(async t => {
+ const div = addDiv(t, {
+ style: 'margin-left: 100px; transition: margin-left 100s linear 100s',
+ });
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+
+ const animation = div.getAnimations()[0];
+ assert_equals(
+ animation.currentTime,
+ 0,
+ 'currentTime should initially be zero'
+ );
+
+ await animation.ready;
+
+ const seekTime = 150 * MS_PER_SEC;
+ animation.currentTime = seekTime;
+
+ assert_time_equals_literal(
+ animation.currentTime,
+ seekTime,
+ 'currentTime is updated'
+ );
+ assert_equals(getComputedStyle(div).marginLeft, '150px');
+}, 'currentTime can be used to seek a CSS transition');
+
+promise_test(async t => {
+ const div = addDiv(t, {
+ style: 'margin-left: 100px; transition: margin-left 100s linear 100s',
+ });
+ const eventWatcher = new EventWatcher(t, div, 'transitionend');
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+
+ const animation = div.getAnimations()[0];
+ await animation.ready;
+
+ const marginLeft = () => parseFloat(getComputedStyle(div).marginLeft);
+ assert_equals(marginLeft(div), 100);
+
+ animation.currentTime = 100 * MS_PER_SEC;
+ assert_equals(marginLeft(div), 100);
+
+ animation.currentTime = 150 * MS_PER_SEC;
+ assert_equals(marginLeft(div), 150);
+
+ animation.currentTime = 200 * MS_PER_SEC;
+ await eventWatcher.wait_for('transitionend');
+ assert_equals(marginLeft(div), 200);
+}, 'Skipping forwards through transition');
+
+promise_test(async t => {
+ const div = addDiv(t, {
+ style: 'margin-left: 100px; transition: margin-left 100s linear 100s',
+ });
+ const eventWatcher = new EventWatcher(t, div, 'transitionend');
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+
+ const animation = div.getAnimations()[0];
+ await animation.ready;
+
+ // Unlike in the case of CSS animations, we cannot skip to the end and skip
+ // backwards since when we reach the end the transition effect is removed and
+ // changes to the Animation object no longer affect the element. For
+ // this reason we only skip forwards as far as the 50% through point.
+
+ animation.currentTime = 150 * MS_PER_SEC;
+ assert_equals(marginLeft(div), 150);
+
+ animation.currentTime = 100 * MS_PER_SEC;
+ assert_equals(marginLeft(div), 100);
+}, 'Skipping backwards through transition');
+
+promise_test(async t => {
+ const div = addDiv(t, {
+ style: 'margin-left: 100px; transition: margin-left 100s linear 100s',
+ });
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+ const animation = div.getAnimations()[0];
+
+ await animation.ready;
+
+ assert_throws(
+ new TypeError(),
+ () => {
+ animation.currentTime = null;
+ },
+ 'Expect TypeError exception on trying to set Animation.currentTime to null'
+ );
+}, 'Setting currentTime to null on a CSS transition throws');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html
new file mode 100644
index 00000000000..3979dd29533
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-effect.tentative.html
@@ -0,0 +1,122 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSSTransition.effect</title>
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src='support/helper.js'></script>
+<div id="log"></div>
+<script>
+'use strict';
+
+test(t => {
+ const div = addDiv(t);
+ div.style.left = '0px';
+
+ div.style.transition = 'left 100s';
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+
+ const transition = div.getAnimations()[0];
+
+ transition.effect = null;
+
+ assert_equals(transition.transitionProperty, 'left');
+}, 'After setting a transition\'s effect to null, it still reports the'
+ + ' original transition property');
+
+promise_test(async t => {
+ const div = addDiv(t);
+ div.style.left = '0px';
+
+ div.style.transition = 'left 100s';
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ transition.effect = null;
+ assert_equals(transition.playState, 'finished');
+}, 'After setting a transition\'s effect to null, it becomes finished');
+
+promise_test(async t => {
+ const div = addDiv(t);
+ div.style.left = '0px';
+
+ div.style.transition = 'left 100s';
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ transition.effect = null;
+ assert_equals(getComputedStyle(div).left, '100px');
+}, 'After setting a transition\'s effect to null, style is updated');
+
+promise_test(async t => {
+ const div = addDiv(t);
+ div.style.left = '0px';
+ div.style.width = '0px';
+
+ div.style.transition = 'left 100s';
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+
+ const transition = div.getAnimations()[0];
+ await transition.ready;
+
+ transition.currentTime = 50 * MS_PER_SEC;
+ transition.effect = new KeyframeEffect(div,
+ { left: [ '0px' , '100px'] },
+ 20 * MS_PER_SEC);
+
+ assert_equals(transition.playState, 'finished');
+}, 'After setting a new keyframe effect with a shorter duration,'
+ + ' the transition becomes finished');
+
+promise_test(async t => {
+ const div = addDiv(t);
+ div.style.left = '0px';
+ div.style.width = '0px';
+
+ div.style.transition = 'left 100s';
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+
+ const transition = div.getAnimations()[0];
+ transition.effect = new KeyframeEffect(div,
+ { marginLeft: [ '0px' , '100px'] },
+ 100 * MS_PER_SEC);
+ assert_equals(transition.transitionProperty, 'left');
+}, 'After setting a new keyframe effect targeting different properties,'
+ + ' the transition continues to report the original transition property');
+
+promise_test(async t => {
+ const div = addDiv(t);
+ div.style.left = '0px';
+ div.style.width = '0px';
+
+ div.style.transition = 'left 100s';
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+
+ const transition = div.getAnimations()[0];
+ assert_true(transition.pending);
+
+ transition.effect = new KeyframeEffect(div,
+ { marginLeft: [ '0px' , '100px'] },
+ 100 * MS_PER_SEC);
+ assert_equals(transition.transitionProperty, 'left');
+ assert_true(transition.pending);
+
+ // As a sanity check, check that the transition actually exits the
+ // pending state.
+ await transition.ready;
+ assert_false(transition.pending);
+}, 'After setting a new keyframe effect on a play-pending transition,'
+ + ' the transition remains pending');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-finished.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-finished.tentative.html
new file mode 100644
index 00000000000..23750e7a98e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-finished.tentative.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSSTransition.finished</title>
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<style>
+
+.animated-div {
+ margin-left: 100px;
+ transition: margin-left 100s linear 100s;
+}
+
+</style>
+<div id="log"></div>
+<script>
+
+'use strict';
+
+promise_test(async t => {
+ const div = addDiv(t, { class: 'animated-div' });
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+ const animation = div.getAnimations()[0];
+
+ animation.finish();
+ await animation.finished;
+
+ animation.play();
+ const marginLeft = parseFloat(getComputedStyle(div).marginLeft);
+ assert_equals(
+ marginLeft,
+ 100,
+ 'Replaying a finished transition should update the target element\'s style'
+ );
+}, 'Restarting a finished transition rewinds playback');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-ready.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-ready.tentative.html
new file mode 100644
index 00000000000..92aaa490591
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-ready.tentative.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSSTransition.ready</title>
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+'use strict';
+
+promise_test(async t => {
+ const div = addDiv(t);
+
+ // Set up pending transition
+ div.style.transform = 'translate(0px)';
+ getComputedStyle(div).transform;
+ div.style.transition = 'transform 100s';
+ div.style.transform = 'translate(10px)';
+ getComputedStyle(div).transform;
+
+ const animation = div.getAnimations()[0];
+ assert_true(animation.pending, 'Animation is initially pending');
+ const readyPromise = animation.ready;
+
+ // Now remove transform from transition-property and flush styles
+ div.style.transitionProperty = 'none';
+ getComputedStyle(div).transitionProperty;
+
+ try {
+ await readyPromise;
+ assert_unreached('ready promise was fulfilled');
+ } catch (err) {
+ assert_equals(err.name, 'AbortError',
+ 'ready promise is rejected with AbortError');
+ assert_equals(animation.playState, 'idle',
+ 'Animation is idle after transition was canceled');
+ }
+}, 'ready promise is rejected when a transition is canceled by updating'
+ + ' transition-property');
+
+promise_test(async t => {
+ const div = addDiv(t);
+
+ // Set up pending transition
+ div.style.marginLeft = '0px';
+ getComputedStyle(div).marginLeft;
+ div.style.transition = 'margin-left 100s';
+ div.style.marginLeft = '100px';
+ getComputedStyle(div).marginLeft;
+
+ const animation = div.getAnimations()[0];
+ assert_true(animation.pending, 'Animation is initially pending');
+ const readyPromise = animation.ready;
+
+ // Update the transition to animate to something not-interpolable
+ div.style.marginLeft = 'auto';
+ getComputedStyle(div).marginLeft;
+
+ try {
+ await readyPromise;
+ assert_unreached('ready promise was fulfilled');
+ } catch (err) {
+ assert_equals(err.name, 'AbortError',
+ 'ready promise is rejected with AbortError');
+ assert_equals(animation.playState, 'idle',
+ 'Animation is idle after transition was canceled');
+ }
+}, 'ready promise is rejected when a transition is canceled by changing'
+ + ' the transition property to something not interpolable');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-startTime.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-startTime.tentative.html
new file mode 100644
index 00000000000..7c74ed2037a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-startTime.tentative.html
@@ -0,0 +1,116 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSSTransition.startTime</title>
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+
+'use strict';
+
+test(t => {
+ const div = addDiv(t, {
+ style: 'margin-left: 100px; transition: margin-left 100s linear 100s',
+ });
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+ const animation = div.getAnimations()[0];
+
+ assert_equals(animation.startTime, null, 'startTime is unresolved');
+}, 'The start time of a newly-created transition is unresolved');
+
+promise_test(async t => {
+ const div = addDiv(t);
+
+ div.style.left = '0px';
+ div.style.top = '0px';
+ getComputedStyle(div).transitionProperty;
+
+ div.style.transition = 'all 100s';
+ div.style.left = '100px';
+ div.style.top = '100px';
+
+ let animations = div.getAnimations();
+ assert_equals(animations.length, 2);
+ await waitForAllAnimations(animations);
+
+ assert_equals(animations[0].startTime, animations[1].startTime,
+ 'CSS transitions started together have the same start time');
+
+ await waitForFrame();
+
+ div.style.backgroundColor = 'green';
+
+ animations = div.getAnimations();
+ assert_equals(animations.length, 3);
+ await waitForAllAnimations(animations);
+
+ assert_less_than(animations[1].startTime, animations[2].startTime,
+ 'A CSS transition added in a later frame has a later start time');
+}, 'The start time of transitions is based on when they are generated');
+
+test(t => {
+ const div = addDiv(t, {
+ style: 'margin-left: 100px; transition: margin-left 100s linear 100s',
+ });
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+ const animation = div.getAnimations()[0];
+
+ const timelineTime = animation.timeline.currentTime;
+ animation.startTime = timelineTime;
+
+ assert_times_equal(
+ animation.startTime,
+ timelineTime,
+ 'Check setting of startTime actually works'
+ );
+}, 'The start time of a transition can be set');
+
+promise_test(async t => {
+ const div = addDiv(t, {
+ style: 'margin-left: 100px; transition: margin-left 100s linear 100s',
+ });
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+ const animation = div.getAnimations()[0];
+
+ await animation.ready;
+
+ const timelineTime = animation.timeline.currentTime;
+ const marginLeft = () => parseFloat(getComputedStyle(div).marginLeft);
+
+ animation.startTime = timelineTime - 100 * MS_PER_SEC;
+ assert_equals(marginLeft(), 100);
+
+ animation.startTime = timelineTime - 150 * MS_PER_SEC;
+ assert_equals(marginLeft(), 150);
+}, 'The start time can be set to seek a transition');
+
+promise_test(async t => {
+ const div = addDiv(t, {
+ style: 'margin-left: 100px; transition: margin-left 100s linear 100s',
+ });
+ const eventWatcher = new EventWatcher(t, div, [
+ 'transitionstart',
+ 'transitionend',
+ ]);
+ getComputedStyle(div).marginLeft;
+ div.style.marginLeft = '200px';
+ const animation = div.getAnimations()[0];
+
+ await animation.ready;
+
+ const timelineTime = animation.timeline.currentTime;
+
+ animation.startTime = timelineTime - 100 * MS_PER_SEC;
+ await eventWatcher.wait_for('transitionstart');
+
+ animation.startTime = timelineTime - 200 * MS_PER_SEC;
+ await eventWatcher.wait_for('transitionend');
+}, 'Seeking a transition using start time dispatches transition events');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-transitionProperty.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-transitionProperty.tentative.html
new file mode 100644
index 00000000000..8eb284107d3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/CSSTransition-transitionProperty.tentative.html
@@ -0,0 +1,28 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSSTransition.transitionProperty</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#dom-csstransition-transitionproperty">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+'use strict';
+
+test(t => {
+ const div = addDiv(t);
+
+ div.style.left = '0px';
+ getComputedStyle(div).transitionProperty;
+ div.style.transition = 'all 100s';
+ div.style.left = '100px';
+
+ assert_equals(
+ div.getAnimations()[0].transitionProperty,
+ 'left',
+ 'The transitionProperty for the returned transition corresponds to the'
+ + ' specific property being transitioned'
+ );
+}, 'CSSTransition.transitionProperty');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html
new file mode 100644
index 00000000000..bffc05f205f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html
@@ -0,0 +1,94 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>Document.getAnimations() for CSS transitions</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#animation-composite-order">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+'use strict';
+
+test(t => {
+ assert_equals(document.getAnimations().length, 0,
+ 'getAnimations returns an empty sequence for a document'
+ + ' with no animations');
+}, 'getAnimations for non-animated content');
+
+test(t => {
+ const div = addDiv(t);
+
+ // Add a couple of transitions
+ div.style.left = '0px';
+ div.style.top = '0px';
+ getComputedStyle(div).transitionProperty;
+
+ div.style.transition = 'all 100s';
+ div.style.left = '100px';
+ div.style.top = '100px';
+ assert_equals(document.getAnimations().length, 2,
+ 'getAnimations returns two running CSS Transitions');
+
+ // Remove both
+ div.style.transitionProperty = 'none';
+ assert_equals(document.getAnimations().length, 0,
+ 'getAnimations returns no running CSS Transitions');
+}, 'getAnimations for CSS Transitions');
+
+test(t => {
+ addStyle(t, { '.init::after': 'content: ""; width: 0px; ' +
+ 'transition: all 100s;',
+ '.init::before': 'content: ""; width: 0px; ' +
+ 'transition: all 10s;',
+ '.change::after': 'width: 100px;',
+ '.change::before': 'width: 100px;' });
+ // create two divs with these arrangement:
+ // parent
+ // ::before,
+ // ::after
+ // |
+ // child
+ const parent = addDiv(t);
+ const child = addDiv(t);
+ parent.appendChild(child);
+
+ parent.style.left = '0px';
+ parent.style.transition = 'left 10s';
+ parent.classList.add('init');
+ child.style.left = '0px';
+ child.style.transition = 'left 10s';
+ getComputedStyle(parent).left;
+
+ parent.style.left = '100px';
+ parent.classList.add('change');
+ child.style.left = '100px';
+
+ const anims = document.getAnimations();
+ assert_equals(anims.length, 4,
+ 'CSS transition on both pseudo-elements and elements ' +
+ 'are returned');
+ assert_equals(anims[0].effect.target, parent,
+ 'The animation targeting the parent element comes first');
+ assert_equals(anims[1].effect.target.type, '::before',
+ 'The animation targeting the ::before element comes second');
+ assert_equals(anims[2].effect.target.type, '::after',
+ 'The animation targeting the ::after element comes third');
+ assert_equals(anims[3].effect.target, child,
+ 'The animation targeting the child element comes last');
+}, 'CSS Transitions targetting (pseudo-)elements should have correct order ' +
+ 'after sorting');
+
+promise_test(async t => {
+ const div = addDiv(t, { style: 'left: 0px; transition: all 50ms' });
+ getComputedStyle(div).left;
+
+ div.style.left = '100px';
+ const animations = div.getAnimations();
+ assert_equals(animations.length, 1, 'Got transition');
+ await animations[0].finished;
+
+ assert_equals(document.getAnimations().length, 0,
+ 'No animations returned');
+}, 'Transitions are not returned after they have finished');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/Element-getAnimations.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/Element-getAnimations.tentative.html
new file mode 100644
index 00000000000..26e988ffe69
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/Element-getAnimations.tentative.html
@@ -0,0 +1,117 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>Element.getAnimations() for CSS transitions</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#animation-composite-order">
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+'use strict';
+
+promise_test(async t => {
+ const div = addDiv(t);
+
+ div.style.left = '0px';
+ div.style.top = '0px';
+ getComputedStyle(div).transitionProperty;
+
+ div.style.transition = 'all 100s';
+ div.style.left = '100px';
+ div.style.top = '100px';
+
+ assert_equals(div.getAnimations().length, 2);
+}, 'getAnimations returns one Animation per transitioning property');
+
+test(t => {
+ const div = addDiv(t, { style: 'left: 0px; transition: all 100s' });
+
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+
+ assert_class_string(div.getAnimations()[0], 'CSSTransition',
+ 'Interface of returned animation is CSSTransition');
+}, 'getAnimations returns CSSTransition objects for CSS Transitions');
+
+promise_test(async t => {
+ const div = addDiv(t);
+
+ div.style.left = '0px';
+ getComputedStyle(div).left;
+ div.style.transition = 'all 0.01s';
+ div.style.left = '100px';
+ const animation = div.getAnimations()[0];
+
+ await animation.finished;
+
+ assert_equals(div.getAnimations().length, 0);
+}, 'getAnimations does not return finished CSS Transitions');
+
+test(t => {
+ const div = addDiv(t);
+
+ // animation-duration is not animatable
+ div.style.animationDuration = '10s';
+ getComputedStyle(div).animationDuration;
+
+ div.style.transition = 'all 100s';
+ div.style.animationDuration = '100s';
+
+ assert_equals(div.getAnimations().length, 0);
+}, 'getAnimations does not return a transition for a non-animatable property');
+
+test(t => {
+ const div = addDiv(t);
+
+ div.style.setProperty('-vendor-unsupported', '0px', '');
+ getComputedStyle(div).transitionProperty;
+ div.style.transition = 'all 100s';
+ div.style.setProperty('-vendor-unsupported', '100px', '');
+
+ assert_equals(div.getAnimations().length, 0);
+}, 'getAnimations does not return a transition for an unsupposed property');
+
+test(t => {
+ const div = addDiv(t, { style: 'transform: translate(0px); ' +
+ 'opacity: 0; ' +
+ 'border-width: 0px; ' + // Shorthand
+ 'border-style: solid' });
+ getComputedStyle(div).transform;
+
+ div.style.transition = 'all 100s';
+ div.style.transform = 'translate(100px)';
+ div.style.opacity = '1';
+ div.style.borderWidth = '1px';
+
+ const animations = div.getAnimations();
+ assert_equals(animations.length, 6,
+ 'Generated expected number of transitions');
+ assert_equals(animations[0].transitionProperty, 'border-bottom-width');
+ assert_equals(animations[1].transitionProperty, 'border-left-width');
+ assert_equals(animations[2].transitionProperty, 'border-right-width');
+ assert_equals(animations[3].transitionProperty, 'border-top-width');
+ assert_equals(animations[4].transitionProperty, 'opacity');
+ assert_equals(animations[5].transitionProperty, 'transform');
+}, 'getAnimations sorts simultaneous transitions by name');
+
+test(t => {
+ const div = addDiv(t, { style: 'transform: translate(0px); ' +
+ 'opacity: 0' });
+ getComputedStyle(div).transform;
+
+ div.style.transition = 'all 100s';
+ div.style.transform = 'translate(100px)';
+ assert_equals(div.getAnimations().length, 1,
+ 'Initially there is only one (transform) transition');
+ div.style.opacity = '1';
+ assert_equals(div.getAnimations().length, 2,
+ 'Then a second (opacity) transition is added');
+
+ const animations = div.getAnimations();
+ assert_equals(animations[0].transitionProperty, 'transform');
+ assert_equals(animations[1].transitionProperty, 'opacity');
+}, 'getAnimations sorts transitions by when they were generated');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html
new file mode 100644
index 00000000000..08a90734392
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative.html
@@ -0,0 +1,135 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>KeyframeEffect.getKeyframes() for CSS transitions</title>
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<style>
+:root {
+ --var-100px: 100px;
+}
+</style>
+<div id="log"></div>
+<script>
+'use strict';
+
+const getKeyframes = e => {
+ return e.getAnimations()[0].effect.getKeyframes();
+};
+
+const assert_frames_equal = (a, b, name) => {
+ assert_equals(
+ Object.keys(a).sort().toString(),
+ Object.keys(b).sort().toString(),
+ `properties on ${name}`
+ );
+ for (const p in a) {
+ assert_equals(a[p], b[p], `value for '${p}' on ${name}`);
+ }
+};
+
+test(t => {
+ const div = addDiv(t);
+
+ div.style.left = '0px';
+ getComputedStyle(div).transitionProperty;
+ div.style.transition = 'left 100s';
+ div.style.left = '100px';
+
+ const frames = getKeyframes(div);
+
+ assert_equals(frames.length, 2, 'number of frames');
+
+ const expected = [
+ { offset: 0,
+ computedOffset: 0,
+ easing: 'ease',
+ composite: 'auto',
+ left: '0px',
+ },
+ {
+ offset: 1,
+ computedOffset: 1,
+ easing: 'linear',
+ composite: 'auto',
+ left: '100px',
+ },
+ ];
+
+ for (let i = 0; i < frames.length; i++) {
+ assert_frames_equal(frames[i], expected[i], `ComputedKeyframe #${i}`);
+ }
+}, 'KeyframeEffect.getKeyframes() returns expected frames for a simple'
+ + ' transition');
+
+test(t => {
+ const div = addDiv(t);
+
+ div.style.left = '0px';
+ getComputedStyle(div).transitionProperty;
+ div.style.transition = 'left 100s steps(2,end)';
+ div.style.left = '100px';
+
+ const frames = getKeyframes(div);
+
+ assert_equals(frames.length, 2, 'number of frames');
+
+ const expected = [
+ {
+ offset: 0,
+ computedOffset: 0,
+ easing: 'steps(2)',
+ composite: 'auto',
+ left: '0px',
+ },
+ {
+ offset: 1,
+ computedOffset: 1,
+ easing: 'linear',
+ composite: 'auto',
+ left: '100px',
+ },
+ ];
+
+ for (let i = 0; i < frames.length; i++) {
+ assert_frames_equal(frames[i], expected[i], `ComputedKeyframe #${i}`);
+ }
+}, 'KeyframeEffect.getKeyframes() returns expected frames for a simple'
+ + ' transition with a non-default easing function');
+
+test(t => {
+ const div = addDiv(t);
+ div.style.left = '0px';
+ getComputedStyle(div).transitionProperty;
+ div.style.transition = 'left 100s';
+ div.style.left = 'var(--var-100px)';
+
+ const frames = getKeyframes(div);
+
+ // CSS transition endpoints are based on the computed value so we
+ // shouldn't see the variable reference
+ const expected = [
+ {
+ offset: 0,
+ computedOffset: 0,
+ easing: 'ease',
+ composite: 'auto',
+ left: '0px',
+ },
+ {
+ offset: 1,
+ computedOffset: 1,
+ easing: 'linear',
+ composite: 'auto',
+ left: '100px',
+ },
+ ];
+ for (let i = 0; i < frames.length; i++) {
+ assert_frames_equal(frames[i], expected[i], `ComputedKeyframe #${i}`);
+ }
+}, 'KeyframeEffect.getKeyframes() returns expected frames for a'
+ + ' transition with a CSS variable endpoint');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-target.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-target.tentative.html
new file mode 100644
index 00000000000..dbb2a43f784
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/KeyframeEffect-target.tentative.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSSTransition.effect.target</title>
+<!-- TODO: Add a more specific link for this once it is specified. -->
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#csstransition">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+'use strict';
+
+test(t => {
+ const div = addDiv(t);
+
+ div.style.left = '0px';
+ getComputedStyle(div).transitionProperty;
+ div.style.transition = 'left 100s';
+ div.style.left = '100px';
+
+ const animation = div.getAnimations()[0];
+ assert_equals(animation.effect.target, div,
+ 'Animation.target is the animatable div');
+}, 'Returned CSS transitions have the correct Animation.target');
+
+test(t => {
+ addStyle(t, { '.init::after': 'content: ""; width: 0px; height: 0px; ' +
+ 'transition: all 10s;',
+ '.change::after': 'width: 100px; height: 100px;' });
+ const div = addDiv(t, { class: 'init' });
+ getComputedStyle(div).width;
+ div.classList.add('change');
+
+ const anims = document.getAnimations();
+ assert_equals(anims.length, 2,
+ 'Got transitions running on ::after pseudo element');
+ assert_equals(anims[0].effect.target, anims[1].effect.target,
+ 'Both transitions return the same target object');
+}, 'effect.target should return the same CSSPseudoElement object each time');
+
+test(t => {
+ addStyle(t, { '.init::after': 'content: ""; width: 0px; transition: all 10s;',
+ '.change::after': 'width: 100px;' });
+ const div = addDiv(t, { class: 'init' });
+ getComputedStyle(div).width;
+ div.classList.add('change');
+ const pseudoTarget = document.getAnimations()[0].effect.target;
+ const effect = new KeyframeEffect(pseudoTarget,
+ { background: ["blue", "red"] },
+ 3000);
+ const newAnim = new Animation(effect, document.timeline);
+ newAnim.play();
+
+ const anims = document.getAnimations();
+ assert_equals(anims.length, 2,
+ 'Got animations running on ::after pseudo element');
+ assert_not_equals(anims[0], newAnim,
+ 'The scriped-generated animation appears last');
+ assert_equals(newAnim.effect.target, pseudoTarget,
+ 'The effect.target of the scripted-generated animation is ' +
+ 'the same as the one from the argument of ' +
+ 'KeyframeEffect constructor');
+ assert_equals(anims[0].effect.target, newAnim.effect.target,
+ 'Both the transition and the scripted-generated animation ' +
+ 'return the same target object');
+}, 'effect.target from the script-generated animation should return the same ' +
+ 'CSSPseudoElement object as that from the CSS generated transition');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/event-dispatch.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/event-dispatch.tentative.html
new file mode 100644
index 00000000000..81bba60a66e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/event-dispatch.tentative.html
@@ -0,0 +1,409 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS transition event dispatch</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#event-dispatch">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/helper.js"></script>
+<div id="log"></div>
+<script>
+'use strict';
+
+const setupTransition = (t, transitionStyle) => {
+ const div = addDiv(t, { style: 'transition: ' + transitionStyle });
+ const watcher = new EventWatcher(t, div, [ 'transitionrun',
+ 'transitionstart',
+ 'transitionend',
+ 'transitioncancel' ]);
+ getComputedStyle(div).marginLeft;
+
+ div.style.marginLeft = '100px';
+ const transition = div.getAnimations()[0];
+
+ return { transition, watcher, div };
+};
+
+// On the next frame (i.e. when events are queued), whether or not the
+// transition is still pending depends on the implementation.
+promise_test(async t => {
+ const { transition, watcher } =
+ setupTransition(t, 'margin-left 100s 100s');
+ const evt = await watcher.wait_for('transitionrun');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Idle -> Pending or Before');
+
+promise_test(async t => {
+ const { transition, watcher } =
+ setupTransition(t, 'margin-left 100s 100s');
+ // Force the transition to leave the idle phase
+ transition.startTime = document.timeline.currentTime;
+ const evt = await watcher.wait_for('transitionrun');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Idle -> Before');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s 100s');
+
+ // Seek to Active phase.
+ transition.currentTime = 100 * MS_PER_SEC;
+ transition.pause();
+ const events = await watcher.wait_for(['transitionrun', 'transitionstart'], {
+ record: 'all',
+ });
+ assert_equals(events[0].elapsedTime, 0.0);
+ assert_equals(events[1].elapsedTime, 0.0);
+}, 'Idle or Pending -> Active');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s 100s');
+
+ // Seek to After phase.
+ transition.finish();
+ const events = await watcher.wait_for(
+ ['transitionrun', 'transitionstart', 'transitionend'],
+ {
+ record: 'all',
+ }
+ );
+ assert_equals(events[0].elapsedTime, 0.0);
+ assert_equals(events[1].elapsedTime, 0.0);
+ assert_equals(events[2].elapsedTime, 100.0);
+}, 'Idle or Pending -> After');
+
+promise_test(async t => {
+ const { transition, watcher, div } =
+ setupTransition(t, 'margin-left 100s 100s');
+
+ await Promise.all([ watcher.wait_for('transitionrun'), transition.ready ]);
+
+ // Make idle
+ div.style.display = 'none';
+ getComputedStyle(div).marginLeft;
+ const evt = await watcher.wait_for('transitioncancel');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Before -> Idle (display: none)');
+
+promise_test(async t => {
+ const { transition, watcher } =
+ setupTransition(t, 'margin-left 100s 100s');
+
+ await Promise.all([ watcher.wait_for('transitionrun'), transition.ready ]);
+
+ // Make idle
+ transition.timeline = null;
+ const evt = await watcher.wait_for('transitioncancel');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Before -> Idle (Animation.timeline = null)');
+
+promise_test(async t => {
+ const { transition, watcher } =
+ setupTransition(t, 'margin-left 100s 100s');
+
+ await Promise.all([ watcher.wait_for('transitionrun'), transition.ready ]);
+
+ transition.currentTime = 100 * MS_PER_SEC;
+ const evt = await watcher.wait_for('transitionstart');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Before -> Active');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s 100s');
+
+ await Promise.all([ watcher.wait_for('transitionrun'), transition.ready ]);
+ // Seek to After phase.
+ transition.currentTime = 200 * MS_PER_SEC;
+ const events = await watcher.wait_for(['transitionstart', 'transitionend'], {
+ record: 'all',
+ });
+
+ assert_equals(events[0].elapsedTime, 0.0);
+ assert_equals(events[1].elapsedTime, 100.0);
+}, 'Before -> After');
+
+promise_test(async t => {
+ const { transition, watcher, div } = setupTransition(t, 'margin-left 100s');
+
+ // Seek to Active start position.
+ transition.pause();
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Make idle
+ div.style.display = 'none';
+ getComputedStyle(div).marginLeft;
+ const evt = await watcher.wait_for('transitioncancel');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Active -> Idle, no delay (display: none)');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s');
+
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Make idle
+ transition.currentTime = 0;
+ transition.timeline = null;
+ const evt = await watcher.wait_for('transitioncancel');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Active -> Idle, no delay (Animation.timeline = null)');
+
+promise_test(async t => {
+ const { transition, watcher, div } =
+ setupTransition(t, 'margin-left 100s 100s');
+ // Pause so the currentTime is fixed and we can accurately compare the event
+ // time in transition cancel events.
+ transition.pause();
+
+ // Seek to Active phase.
+ transition.currentTime = 100 * MS_PER_SEC;
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Make idle
+ div.style.display = 'none';
+ getComputedStyle(div).marginLeft;
+ const evt = await watcher.wait_for('transitioncancel');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Active -> Idle, with positive delay (display: none)');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s 100s');
+
+ // Seek to Active phase.
+ transition.currentTime = 100 * MS_PER_SEC;
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Make idle
+ transition.currentTime = 100 * MS_PER_SEC;
+ transition.timeline = null;
+ const evt = await watcher.wait_for('transitioncancel');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Active -> Idle, with positive delay (Animation.timeline = null)');
+
+promise_test(async t => {
+ const { transition, watcher, div } =
+ setupTransition(t, 'margin-left 100s -50s');
+
+ // Pause so the currentTime is fixed and we can accurately compare the event
+ // time in transition cancel events.
+ transition.pause();
+
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Make idle
+ div.style.display = 'none';
+ getComputedStyle(div).marginLeft;
+ const evt = await watcher.wait_for('transitioncancel');
+ assert_equals(evt.elapsedTime, 50.0);
+}, 'Active -> Idle, with negative delay (display: none)');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s -50s');
+
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Make idle
+ transition.currentTime = 50 * MS_PER_SEC;
+ transition.timeline = null;
+ const evt = await watcher.wait_for('transitioncancel');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Active -> Idle, with negative delay (Animation.timeline = null)');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s 100s');
+
+ // Seek to Active phase.
+ transition.currentTime = 100 * MS_PER_SEC;
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Seek to Before phase.
+ transition.currentTime = 0;
+ const evt = await watcher.wait_for('transitionend');
+ assert_equals(evt.elapsedTime, 0.0);
+}, 'Active -> Before');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s 100s');
+
+ // Seek to Active phase.
+ transition.currentTime = 100 * MS_PER_SEC;
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Seek to After phase.
+ transition.currentTime = 200 * MS_PER_SEC;
+ const evt = await watcher.wait_for('transitionend');
+ assert_equals(evt.elapsedTime, 100.0);
+}, 'Active -> After');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s 100s');
+
+ // Seek to After phase.
+ transition.finish();
+ await watcher.wait_for([ 'transitionrun',
+ 'transitionstart',
+ 'transitionend' ]);
+
+ // Seek to Before phase.
+ transition.currentTime = 0;
+ const events = await watcher.wait_for(['transitionstart', 'transitionend'], {
+ record: 'all',
+ });
+
+ assert_equals(events[0].elapsedTime, 100.0);
+ assert_equals(events[1].elapsedTime, 0.0);
+}, 'After -> Before');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s 100s');
+
+ // Seek to After phase.
+ transition.finish();
+ await watcher.wait_for([ 'transitionrun',
+ 'transitionstart',
+ 'transitionend' ]);
+
+ // Seek to Active phase.
+ transition.currentTime = 100 * MS_PER_SEC;
+ const evt = await watcher.wait_for('transitionstart');
+ assert_equals(evt.elapsedTime, 100.0);
+}, 'After -> Active');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s -50s');
+
+ const events = await watcher.wait_for(['transitionrun', 'transitionstart'], {
+ record: 'all',
+ });
+
+ assert_equals(events[0].elapsedTime, 50.0);
+ assert_equals(events[1].elapsedTime, 50.0);
+ transition.finish();
+
+ const evt = await watcher.wait_for('transitionend');
+ assert_equals(evt.elapsedTime, 100.0);
+}, 'Calculating the interval start and end time with negative start delay.');
+
+promise_test(async t => {
+ const { transition, watcher, div } = setupTransition(
+ t,
+ 'margin-left 100s 100s'
+ );
+
+ await watcher.wait_for('transitionrun');
+
+ // We can't set the end delay via generated effect timing
+ // because mutating CSS transitions is not specced yet.
+ transition.effect = new KeyframeEffect(
+ div,
+ { marginleft: ['0px', '100px'] },
+ {
+ duration: 100 * MS_PER_SEC,
+ endDelay: -50 * MS_PER_SEC,
+ }
+ );
+ // Seek to Before and play.
+ transition.cancel();
+ transition.play();
+ const events = await watcher.wait_for(
+ ['transitioncancel', 'transitionrun', 'transitionstart'],
+ { record: 'all' }
+ );
+ assert_equals(events[2].elapsedTime, 0.0);
+
+ // Seek to After phase.
+ transition.finish();
+ const evt = await watcher.wait_for('transitionend');
+ assert_equals(evt.elapsedTime, 50.0);
+}, 'Calculating the interval start and end time with negative end delay.');
+
+promise_test(async t => {
+ const { transition, watcher, div } =
+ setupTransition(t, 'margin-left 100s 100s');
+
+ await watcher.wait_for('transitionrun');
+
+ // Make idle
+ div.style.display = 'none';
+ getComputedStyle(div).marginLeft;
+ await watcher.wait_for('transitioncancel');
+
+ transition.cancel();
+ // Then wait a couple of frames and check that no event was dispatched
+ await waitForAnimationFrames(2);
+}, 'Call Animation.cancel after canceling transition.');
+
+promise_test(async t => {
+ const { transition, watcher, div } =
+ setupTransition(t, 'margin-left 100s 100s');
+
+ await watcher.wait_for('transitionrun');
+
+ // Make idle
+ transition.cancel();
+ transition.play();
+ await watcher.wait_for([ 'transitioncancel',
+ 'transitionrun' ]);
+}, 'Restart transition after canceling transition immediately');
+
+promise_test(async t => {
+ const { transition, watcher, div } =
+ setupTransition(t, 'margin-left 100s 100s');
+
+ await watcher.wait_for('transitionrun');
+
+ // Make idle
+ div.style.display = 'none';
+ getComputedStyle(div).marginLeft;
+ transition.play();
+ transition.cancel();
+ await watcher.wait_for('transitioncancel');
+
+ // Then wait a couple of frames and check that no event was dispatched
+ await waitForAnimationFrames(2);
+}, 'Call Animation.cancel after restarting transition immediately');
+
+promise_test(async t => {
+ const { transition, watcher } = setupTransition(t, 'margin-left 100s');
+
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ // Make idle
+ transition.timeline = null;
+ await watcher.wait_for('transitioncancel');
+
+ transition.timeline = document.timeline;
+ transition.play();
+
+ await watcher.wait_for(['transitionrun', 'transitionstart']);
+}, 'Set timeline and play transition after clear the timeline');
+
+promise_test(async t => {
+ const { transition, watcher, div } =
+ setupTransition(t, 'margin-left 100s');
+
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ transition.cancel();
+ await watcher.wait_for('transitioncancel');
+
+ // Make After phase
+ transition.effect = null;
+
+ // Then wait a couple of frames and check that no event was dispatched
+ await waitForAnimationFrames(2);
+}, 'Set null target effect after canceling the transition');
+
+promise_test(async t => {
+ const { transition, watcher, div } = setupTransition(t, 'margin-left 100s');
+
+ await watcher.wait_for([ 'transitionrun', 'transitionstart' ]);
+
+ transition.effect = null;
+ await watcher.wait_for('transitionend');
+
+ transition.cancel();
+
+ // Then wait a couple of frames and check that no event was dispatched
+ await waitForAnimationFrames(2);
+}, 'Cancel the transition after clearing the target effect');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/support/helper.js b/tests/wpt/web-platform-tests/css/css-transitions/support/helper.js
index f11e4347abe..2e7ecff2ae7 100644
--- a/tests/wpt/web-platform-tests/css/css-transitions/support/helper.js
+++ b/tests/wpt/web-platform-tests/css/css-transitions/support/helper.js
@@ -94,6 +94,8 @@ root.domFixture = function(selector) {
}
};
+root.MS_PER_SEC = 1000;
+
/*
* The recommended minimum precision to use for time values.
*
@@ -108,7 +110,14 @@ const TIME_PRECISION = 0.0005; // ms
*/
root.assert_times_equal = function(actual, expected, description) {
assert_approx_equals(actual, expected, TIME_PRECISION, description);
-}
+};
+
+/*
+ * Compare a time value based on its precision requirements with a fixed value.
+ */
+root.assert_time_equals_literal = (actual, expected, description) => {
+ assert_approx_equals(actual, expected, TIME_PRECISION, description);
+};
/**
* Assert that CSSTransition event, |evt|, has the expected property values
@@ -119,7 +128,7 @@ root.assert_end_events_equal = function(evt, propertyName, elapsedTime,
assert_equals(evt.propertyName, propertyName);
assert_times_equal(evt.elapsedTime, elapsedTime);
assert_equals(evt.pseudoElement, pseudoElement);
-}
+};
/**
* Assert that array of simultaneous CSSTransition events, |evts|, have the
@@ -194,6 +203,76 @@ root.addDiv = function(t, attrs) {
});
}
return div;
-}
+};
+
+/**
+ * Appends a style div to the document head.
+ *
+ * @param t The testharness.js Test object. If provided, this will be used
+ * to register a cleanup callback to remove the style element
+ * when the test finishes.
+ *
+ * @param rules A dictionary object with selector names and rules to set on
+ * the style sheet.
+ */
+root.addStyle = (t, rules) => {
+ const extraStyle = document.createElement('style');
+ document.head.appendChild(extraStyle);
+ if (rules) {
+ const sheet = extraStyle.sheet;
+ for (const selector in rules) {
+ sheet.insertRule(selector + '{' + rules[selector] + '}',
+ sheet.cssRules.length);
+ }
+ }
+
+ if (t && typeof t.add_cleanup === 'function') {
+ t.add_cleanup(() => {
+ extraStyle.remove();
+ });
+ }
+};
+
+/**
+ * Promise wrapper for requestAnimationFrame.
+ */
+root.waitForFrame = () => {
+ return new Promise(resolve => {
+ window.requestAnimationFrame(resolve);
+ });
+};
+
+/**
+ * Returns a Promise that is resolved after the given number of consecutive
+ * animation frames have occured (using requestAnimationFrame callbacks).
+ *
+ * @param frameCount The number of animation frames.
+ * @param onFrame An optional function to be processed in each animation frame.
+ */
+root.waitForAnimationFrames = (frameCount, onFrame) => {
+ const timeAtStart = document.timeline.currentTime;
+ return new Promise(resolve => {
+ function handleFrame() {
+ if (onFrame && typeof onFrame === 'function') {
+ onFrame();
+ }
+ if (timeAtStart != document.timeline.currentTime &&
+ --frameCount <= 0) {
+ resolve();
+ } else {
+ window.requestAnimationFrame(handleFrame); // wait another frame
+ }
+ }
+ window.requestAnimationFrame(handleFrame);
+ });
+};
+
+/**
+ * Wrapper that takes a sequence of N animations and returns:
+ *
+ * Promise.all([animations[0].ready, animations[1].ready, ... animations[N-1].ready]);
+ */
+root.waitForAllAnimations = animations =>
+ Promise.all(animations.map(animation => animation.ready));
})(window);
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-invalid.html
index 0b6ee8578ab..4ced38240f2 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="box-sizing supports only the grammar 'content-box | border-box'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-valid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-valid.html
index 68010ffe34e..fb60ac23bb8 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/box-sizing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="box-sizing supports the full grammar 'content-box | border-box'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-invalid.html
index a980b0e25b5..b4c9cb71e03 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="caret-color supports only the grammar 'auto | <color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-valid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-valid.html
index 31e1b6c5ec5..41cc70654da 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/caret-color-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="caret-color supports the full grammar 'auto | <color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-invalid.html
index 1866b45c0ae..dda8031d309 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="cursor supports only the grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-valid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-valid.html
index b16a6fe2e87..e33b82e2ddc 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/cursor-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="cursor supports the full grammar.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-invalid.html
index b554c1ac611..195f55dc72b 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline-color supports only the grammar '<color> | invert'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-mandatory.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-mandatory.html
index 92f1b047d72..fbe730bdae3 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-mandatory.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-mandatory.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline-color supports '<color>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-optional.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-optional.html
index 9b82aeb5cd9..bf12b87f219 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-optional.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-color-valid-optional.html
@@ -9,7 +9,7 @@
<meta name="flags" content="may">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-invalid.html
index f9aa61b89ec..c56a579452f 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline supports only the grammar '<outline-color> || <outline> || <outline>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-invalid.html
index 1106e86d4bf..1ee9477a111 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline-offset supports only the grammar '<length>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-valid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-valid.html
index c0b8891d97b..c5e023b8e96 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-offset-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline-offset supports the full grammar '<length>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-invalid.html
index b93a98407aa..2340c62d902 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline-style supports only the grammar 'auto | <outline-line-style>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-valid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-valid.html
index 93d14a46764..5adcfda7ec7 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-style-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline-style supports the full grammar 'auto | <outline-line-style>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html
index f8322a45934..a296c989bce 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html
@@ -9,7 +9,7 @@
<meta name="assert" content="outline supports the full grammar '<outline-color> || <outline> || <outline>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-optional.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-optional.html
index 44cf823ba4c..e179406cafb 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-optional.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-optional.html
@@ -11,7 +11,7 @@
<meta name="flags" content="may">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-invalid.html
index 40e4961a002..07012fef225 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline-width supports only the grammar '<border-width>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-valid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-valid.html
index db6c77c8645..050371246ce 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-width-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="outline-width supports the full grammar '<border-width>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/resize-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/resize-invalid.html
index b166c01395c..a56a1dbc6e2 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/resize-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/resize-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="resize supports only the grammar 'none | both | horizontal | vertical'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/resize-valid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/resize-valid.html
index 3acc9b09e6f..025b0e447bb 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/resize-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/resize-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="resize supports the full grammar 'none | both | horizontal | vertical'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-ui/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-invalid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-invalid.html
index 22affb7cafa..f3945a162ec 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="text-overflow supports only the grammar 'clip | ellipsis'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-valid.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-valid.html
index bc2a4fd8740..3f0aaa60938 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/text-overflow-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="text-overflow supports the full grammar 'clip | ellipsis'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-invalid.html
index 0927ca388b7..7181dbe675d 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="direction supports only the grammar 'ltr | rtl'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-valid.html
index ca4d7bb9df9..11585cf9e43 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="direction supports the full grammar 'ltr | rtl'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html
index 08cbb967bb8..b8a0c14b56b 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="text-combine-upright supports only the grammar 'none | all'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid.html
index bd56fb5c493..2b15840cd7c 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="text-combine-upright supports the full grammar 'none | all'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-invalid.html
index 118764d6c5f..cc9c051049b 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="text-orientation supports only the grammar 'mixed | upright | sideways'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-valid.html
index 2f2b6625505..06049c28a0a 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="text-orientation supports the full grammar 'mixed | upright | sideways'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html
index de7cb6d20f7..1e5f2a1f62a 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="unicode-bidi supports only the grammar 'normal | embed | isolate | bidi-override | isolate-override | plaintext'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-valid.html
index 97a3d59c9ac..087c026adce 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="unicode-bidi supports the full grammar 'normal | embed | isolate | bidi-override | isolate-override | plaintext'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-invalid.html
index 6a512a71834..50e42f73c6d 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="writing-mode supports only the grammar 'horizontal-tb | vertical-rl | vertical-lr'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-valid.html
index 4fd856ae9dd..6f525109fe1 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="writing-mode supports the full grammar 'horizontal-tb | vertical-rl | vertical-lr'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html b/tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html
index d07f195d626..0cec437c627 100644
--- a/tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="color-interpolation-filters supports only the grammar 'auto | sRGB | linearRGB'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html b/tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html
index 68313d8db7f..5f7a6e65359 100644
--- a/tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="color-interpolation-filters supports the full grammar 'auto | sRGB | linearRGB'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-invalid.html b/tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-invalid.html
index f89f45628ce..06cb30c8c3c 100644
--- a/tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="filter supports only the grammar 'none | <filter-function-list>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-valid.html b/tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-valid.html
index 3de19c023cf..266fee237ba 100644
--- a/tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/filter-effects/parsing/filter-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="filter supports the full grammar 'none | <filter-function-list>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-invalid.html b/tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-invalid.html
index 0711cdd4cf3..3d8207bd55c 100644
--- a/tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="lighting-color supports only the grammar 'auto | sRGB | linearRGB'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-valid.html b/tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-valid.html
index 495ddc5f8f6..89b189a7f9a 100644
--- a/tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/filter-effects/parsing/lighting-color-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="lighting-color supports the full grammar 'auto | sRGB | linearRGB'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/filter-effects/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/filter-effects/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/filter-effects/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-invalid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-invalid.html
index 45917c1b818..817c2684bbc 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-anchor supports only the grammar 'auto | <position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-valid.html
index 30101061b5c..d354763b4e7 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-anchor-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-anchor supports the full grammar 'auto | <position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-invalid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-invalid.html
index 1cbb27fe536..7eec1270ab8 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-distance supports only the grammar '<length-percentage>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-valid.html
index 56569c8e022..b699ecea5a1 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-distance-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-distance supports the full grammar '<length-percentage>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-invalid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-invalid.html
index 343d22e46b4..23475f8d513 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset supports only the grammar from the spec.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html
index b645199f3a1..4cdb2b19389 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset supports the full grammar from the spec.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-invalid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-invalid.html
index c0a32486922..d94101836cd 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-path supports only the grammar from the spec.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html
index c1e229e1a05..44867326738 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-path supports the full grammar from the spec.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-invalid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-invalid.html
index 42370d44a38..6565fa5cdd7 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-position supports only the grammar 'auto | <position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-valid.html
index 3cf235cc855..565abffbdee 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-position-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-position supports the full grammar 'auto | <position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-invalid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-invalid.html
index 591189acb05..a649fb4aabb 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-invalid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-invalid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-rotate supports only the grammar '[ auto | reverse ] || <angle>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-valid.html
index f481ec8971d..38e9ff1ba45 100644
--- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-rotate-parsing-valid.html
@@ -8,7 +8,7 @@
<meta name="assert" content="offset-rotate supports the full grammar '[ auto | reverse ] || <angle>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<script src="../support/parsing-testcommon.js"></script>
+<script src="support/parsing-testcommon.js"></script>
</head>
<body>
<script>
diff --git a/tests/wpt/web-platform-tests/css/motion/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/motion/parsing/support/parsing-testcommon.js
index b075882f89a..b075882f89a 100644
--- a/tests/wpt/web-platform-tests/css/motion/support/parsing-testcommon.js
+++ b/tests/wpt/web-platform-tests/css/motion/parsing/support/parsing-testcommon.js
diff --git a/tests/wpt/web-platform-tests/css/support/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/support/parsing-testcommon.js
deleted file mode 100644
index b075882f89a..00000000000
--- a/tests/wpt/web-platform-tests/css/support/parsing-testcommon.js
+++ /dev/null
@@ -1,39 +0,0 @@
-'use strict';
-
-// serializedValue can be the expected serialization of value,
-// or an array of permitted serializations,
-// or omitted if value should serialize as value.
-function test_valid_value(property, value, serializedValue) {
- if (arguments.length < 3)
- serializedValue = value;
-
- var stringifiedValue = JSON.stringify(value);
-
- test(function(){
- var div = document.createElement('div');
- div.style[property] = value;
- assert_not_equals(div.style.getPropertyValue(property), "", "property should be set");
-
- var div = document.createElement('div');
- div.style[property] = value;
- var readValue = div.style.getPropertyValue(property);
- if (serializedValue instanceof Array)
- assert_in_array(readValue, serializedValue, "serialization should be sound");
- else
- assert_equals(readValue, serializedValue, "serialization should be canonical");
-
- div.style[property] = readValue;
- assert_equals(div.style.getPropertyValue(property), readValue, "serialization should round-trip");
-
- }, "e.style['" + property + "'] = " + stringifiedValue + " should set the property value");
-}
-
-function test_invalid_value(property, value) {
- var stringifiedValue = JSON.stringify(value);
-
- test(function(){
- var div = document.createElement('div');
- div.style[property] = value;
- assert_equals(div.style.getPropertyValue(property), "");
- }, "e.style['" + property + "'] = " + stringifiedValue + " should not set the property value");
-}