Bug 1484138 [wpt PR 12541] - support directory adjacent to parsing tests, a=testonly
authorEric Willigers <ewilligers@users.noreply.github.com>
Wed, 22 Aug 2018 13:20:57 +0000
changeset 490847 3b8c694e236d187cdee3049fea01f0551dd0b4ac
parent 490846 c20e7de28c1e4e6cea625478a4b67e1ca84e87ee
child 490848 1c10a2029f46ba8e2cb9b3430e2e2c17a3f4473b
push id1815
push userffxbld-merge
push dateMon, 15 Oct 2018 10:40:45 +0000
treeherdermozilla-release@18d4c09e9378 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1484138, 12541, 12465, 12419
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1484138 [wpt PR 12541] - support directory adjacent to parsing tests, a=testonly Automatic update from web-platform-testssupport directory adjacent to parsing tests (#12541) From https://github.com/web-platform-tests/wpt/pull/12465#issuecomment-413506239 "The CSS build system finds tests (based on <link rel=help>), moves them to the destination direction (roughly one per spec), and then also moves any files in an adjacent support directory. " The support directory for the parsing test files is now adjacent to those files. The parsing tests previously in box-shadow-syntax-001.html are moved into parsing/box-shadow-[in]valid.html, for consistency with other parsing tests, and to avoid the need for an extra copy of parsing-testcommon.js fixes #12419 -- wpt-commits: 203c34855f6871d6e55eaf7b55b50dad563f781f wpt-pr: 12541
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/css/compositing/parsing/background-blend-mode-invalid.html
testing/web-platform/tests/css/compositing/parsing/background-blend-mode-valid.html
testing/web-platform/tests/css/compositing/parsing/isolation-invalid.html
testing/web-platform/tests/css/compositing/parsing/isolation-valid.html
testing/web-platform/tests/css/compositing/parsing/mix-blend-mode-invalid.html
testing/web-platform/tests/css/compositing/parsing/mix-blend-mode-valid.html
testing/web-platform/tests/css/compositing/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/compositing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-backgrounds/box-shadow-syntax-001.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-attachment-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-attachment-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-clip-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-clip-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-color-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-color-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-image-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-image-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-origin-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-origin-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-position-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-position-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-repeat-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-repeat-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-size-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-size-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/background-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-color-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-color-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-outset-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-outset-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-repeat-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-slice-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-slice-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-source-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-source-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-width-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-image-width-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-radius-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-radius-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-style-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-style-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-width-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/border-width-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/box-shadow-invalid.html
testing/web-platform/tests/css/css-backgrounds/parsing/box-shadow-valid.html
testing/web-platform/tests/css/css-backgrounds/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-backgrounds/support/parsing-testcommon.js
testing/web-platform/tests/css/css-box/parsing/clear-invalid.html
testing/web-platform/tests/css/css-box/parsing/clear-valid.html
testing/web-platform/tests/css/css-box/parsing/float-invalid.html
testing/web-platform/tests/css/css-box/parsing/float-valid.html
testing/web-platform/tests/css/css-box/parsing/height-invalid.html
testing/web-platform/tests/css/css-box/parsing/height-valid.html
testing/web-platform/tests/css/css-box/parsing/margin-invalid.html
testing/web-platform/tests/css/css-box/parsing/margin-valid.html
testing/web-platform/tests/css/css-box/parsing/max-height-invalid.html
testing/web-platform/tests/css/css-box/parsing/max-height-valid.html
testing/web-platform/tests/css/css-box/parsing/max-width-invalid.html
testing/web-platform/tests/css/css-box/parsing/max-width-valid.html
testing/web-platform/tests/css/css-box/parsing/min-height-invalid.html
testing/web-platform/tests/css/css-box/parsing/min-height-valid.html
testing/web-platform/tests/css/css-box/parsing/min-width-invalid.html
testing/web-platform/tests/css/css-box/parsing/min-width-valid.html
testing/web-platform/tests/css/css-box/parsing/overflow-invalid.html
testing/web-platform/tests/css/css-box/parsing/overflow-valid.html
testing/web-platform/tests/css/css-box/parsing/padding-invalid.html
testing/web-platform/tests/css/css-box/parsing/padding-valid.html
testing/web-platform/tests/css/css-box/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-box/parsing/visibility-invalid.html
testing/web-platform/tests/css/css-box/parsing/visibility-valid.html
testing/web-platform/tests/css/css-box/parsing/width-invalid.html
testing/web-platform/tests/css/css-box/parsing/width-valid.html
testing/web-platform/tests/css/css-box/support/parsing-testcommon.js
testing/web-platform/tests/css/css-cascade/parsing/all-invalid.html
testing/web-platform/tests/css/css-cascade/parsing/all-valid.html
testing/web-platform/tests/css/css-cascade/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-cascade/support/parsing-testcommon.js
testing/web-platform/tests/css/css-color/parsing/color-invalid.html
testing/web-platform/tests/css/css-color/parsing/color-valid.html
testing/web-platform/tests/css/css-color/parsing/opacity-invalid.html
testing/web-platform/tests/css/css-color/parsing/opacity-valid.html
testing/web-platform/tests/css/css-color/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-color/support/parsing-testcommon.js
testing/web-platform/tests/css/css-images/parsing/gradient-position-invalid.html
testing/web-platform/tests/css/css-images/parsing/gradient-position-valid.html
testing/web-platform/tests/css/css-images/parsing/image-orientation-invalid.html
testing/web-platform/tests/css/css-images/parsing/image-orientation-valid.html
testing/web-platform/tests/css/css-images/parsing/image-rendering-invalid.html
testing/web-platform/tests/css/css-images/parsing/image-rendering-valid.html
testing/web-platform/tests/css/css-images/parsing/image-resolution-invalid.html
testing/web-platform/tests/css/css-images/parsing/image-resolution-valid.html
testing/web-platform/tests/css/css-images/parsing/object-fit-invalid.html
testing/web-platform/tests/css/css-images/parsing/object-fit-valid.html
testing/web-platform/tests/css/css-images/parsing/object-position-invalid.html
testing/web-platform/tests/css/css-images/parsing/object-position-valid.html
testing/web-platform/tests/css/css-images/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-images/support/parsing-testcommon.js
testing/web-platform/tests/css/css-masking/parsing/clip-invalid.html
testing/web-platform/tests/css/css-masking/parsing/clip-path-invalid.html
testing/web-platform/tests/css/css-masking/parsing/clip-path-valid.html
testing/web-platform/tests/css/css-masking/parsing/clip-rule-invalid.html
testing/web-platform/tests/css/css-masking/parsing/clip-rule-valid.html
testing/web-platform/tests/css/css-masking/parsing/clip-valid.html
testing/web-platform/tests/css/css-masking/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-masking/support/parsing-testcommon.js
testing/web-platform/tests/css/css-shapes/parsing/shape-image-threshold-invalid.html
testing/web-platform/tests/css/css-shapes/parsing/shape-image-threshold-valid.html
testing/web-platform/tests/css/css-shapes/parsing/shape-margin-invalid.html
testing/web-platform/tests/css/css-shapes/parsing/shape-margin-valid.html
testing/web-platform/tests/css/css-shapes/parsing/shape-outside-invalid-position.html
testing/web-platform/tests/css/css-shapes/parsing/shape-outside-invalid.html
testing/web-platform/tests/css/css-shapes/parsing/shape-outside-valid-position.html
testing/web-platform/tests/css/css-shapes/parsing/shape-outside-valid.html
testing/web-platform/tests/css/css-shapes/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-shapes/support/parsing-testcommon.js
testing/web-platform/tests/css/css-transforms/parsing/perspective-origin-parsing-invalid.html
testing/web-platform/tests/css/css-transforms/parsing/perspective-origin-parsing-valid.html
testing/web-platform/tests/css/css-transforms/parsing/rotate-parsing-invalid.html
testing/web-platform/tests/css/css-transforms/parsing/rotate-parsing-valid.html
testing/web-platform/tests/css/css-transforms/parsing/scale-parsing-invalid.html
testing/web-platform/tests/css/css-transforms/parsing/scale-parsing-valid.html
testing/web-platform/tests/css/css-transforms/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-transforms/parsing/transform-box-invalid.html
testing/web-platform/tests/css/css-transforms/parsing/transform-box-valid.html
testing/web-platform/tests/css/css-transforms/parsing/transform-invalid.html
testing/web-platform/tests/css/css-transforms/parsing/transform-origin-invalid.html
testing/web-platform/tests/css/css-transforms/parsing/transform-origin-valid.html
testing/web-platform/tests/css/css-transforms/parsing/transform-valid.html
testing/web-platform/tests/css/css-transforms/parsing/translate-parsing-invalid.html
testing/web-platform/tests/css/css-transforms/parsing/translate-parsing-valid.html
testing/web-platform/tests/css/css-transforms/support/parsing-testcommon.js
testing/web-platform/tests/css/css-ui/parsing/box-sizing-invalid.html
testing/web-platform/tests/css/css-ui/parsing/box-sizing-valid.html
testing/web-platform/tests/css/css-ui/parsing/caret-color-invalid.html
testing/web-platform/tests/css/css-ui/parsing/caret-color-valid.html
testing/web-platform/tests/css/css-ui/parsing/cursor-invalid.html
testing/web-platform/tests/css/css-ui/parsing/cursor-valid.html
testing/web-platform/tests/css/css-ui/parsing/outline-color-invalid.html
testing/web-platform/tests/css/css-ui/parsing/outline-color-valid-mandatory.html
testing/web-platform/tests/css/css-ui/parsing/outline-color-valid-optional.html
testing/web-platform/tests/css/css-ui/parsing/outline-invalid.html
testing/web-platform/tests/css/css-ui/parsing/outline-offset-invalid.html
testing/web-platform/tests/css/css-ui/parsing/outline-offset-valid.html
testing/web-platform/tests/css/css-ui/parsing/outline-style-invalid.html
testing/web-platform/tests/css/css-ui/parsing/outline-style-valid.html
testing/web-platform/tests/css/css-ui/parsing/outline-valid-mandatory.html
testing/web-platform/tests/css/css-ui/parsing/outline-valid-optional.html
testing/web-platform/tests/css/css-ui/parsing/outline-width-invalid.html
testing/web-platform/tests/css/css-ui/parsing/outline-width-valid.html
testing/web-platform/tests/css/css-ui/parsing/resize-invalid.html
testing/web-platform/tests/css/css-ui/parsing/resize-valid.html
testing/web-platform/tests/css/css-ui/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-ui/parsing/text-overflow-invalid.html
testing/web-platform/tests/css/css-ui/parsing/text-overflow-valid.html
testing/web-platform/tests/css/css-ui/support/parsing-testcommon.js
testing/web-platform/tests/css/css-writing-modes/parsing/direction-invalid.html
testing/web-platform/tests/css/css-writing-modes/parsing/direction-valid.html
testing/web-platform/tests/css/css-writing-modes/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html
testing/web-platform/tests/css/css-writing-modes/parsing/text-combine-upright-valid.html
testing/web-platform/tests/css/css-writing-modes/parsing/text-orientation-invalid.html
testing/web-platform/tests/css/css-writing-modes/parsing/text-orientation-valid.html
testing/web-platform/tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html
testing/web-platform/tests/css/css-writing-modes/parsing/unicode-bidi-valid.html
testing/web-platform/tests/css/css-writing-modes/parsing/writing-mode-invalid.html
testing/web-platform/tests/css/css-writing-modes/parsing/writing-mode-valid.html
testing/web-platform/tests/css/css-writing-modes/support/parsing-testcommon.js
testing/web-platform/tests/css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html
testing/web-platform/tests/css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html
testing/web-platform/tests/css/filter-effects/parsing/filter-parsing-invalid.html
testing/web-platform/tests/css/filter-effects/parsing/filter-parsing-valid.html
testing/web-platform/tests/css/filter-effects/parsing/lighting-color-parsing-invalid.html
testing/web-platform/tests/css/filter-effects/parsing/lighting-color-parsing-valid.html
testing/web-platform/tests/css/filter-effects/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/filter-effects/support/parsing-testcommon.js
testing/web-platform/tests/css/motion/parsing/offset-anchor-parsing-invalid.html
testing/web-platform/tests/css/motion/parsing/offset-anchor-parsing-valid.html
testing/web-platform/tests/css/motion/parsing/offset-distance-parsing-invalid.html
testing/web-platform/tests/css/motion/parsing/offset-distance-parsing-valid.html
testing/web-platform/tests/css/motion/parsing/offset-parsing-invalid.html
testing/web-platform/tests/css/motion/parsing/offset-parsing-valid.html
testing/web-platform/tests/css/motion/parsing/offset-path-parsing-invalid.html
testing/web-platform/tests/css/motion/parsing/offset-path-parsing-valid.html
testing/web-platform/tests/css/motion/parsing/offset-position-parsing-invalid.html
testing/web-platform/tests/css/motion/parsing/offset-position-parsing-valid.html
testing/web-platform/tests/css/motion/parsing/offset-rotate-parsing-invalid.html
testing/web-platform/tests/css/motion/parsing/offset-rotate-parsing-valid.html
testing/web-platform/tests/css/motion/parsing/support/parsing-testcommon.js
testing/web-platform/tests/css/motion/support/parsing-testcommon.js
testing/web-platform/tests/css/support/parsing-testcommon.js
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -241738,17 +241738,17 @@
      {}
     ]
    ],
    "css/compositing/mix-blend-mode/support/yellow_square.svg": [
     [
      {}
     ]
    ],
-   "css/compositing/support/parsing-testcommon.js": [
+   "css/compositing/parsing/support/parsing-testcommon.js": [
     [
      {}
     ]
    ],
    "css/compositing/svg/reference/mix-blend-mode-svg-rectangle-ref.html": [
     [
      {}
     ]
@@ -242423,16 +242423,21 @@
      {}
     ]
    ],
    "css/css-backgrounds/justfortest.html": [
     [
      {}
     ]
    ],
+   "css/css-backgrounds/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-backgrounds/reference/60x60-green-background.html": [
     [
      {}
     ]
    ],
    "css/css-backgrounds/reference/background-334-ref.xht": [
     [
      {}
@@ -242918,21 +242923,16 @@
      {}
     ]
    ],
    "css/css-backgrounds/support/outline-5px-10px-15px-20px-green.png": [
     [
      {}
     ]
    ],
-   "css/css-backgrounds/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/css-backgrounds/support/pattern-grg-rgr-grg.png": [
     [
      {}
     ]
    ],
    "css/css-backgrounds/support/pattern-grg-rrg-rgg.png": [
     [
      {}
@@ -243093,17 +243093,17 @@
      {}
     ]
    ],
    "css/css-box/META.yml": [
     [
      {}
     ]
    ],
-   "css/css-box/support/parsing-testcommon.js": [
+   "css/css-box/parsing/support/parsing-testcommon.js": [
     [
      {}
     ]
    ],
    "css/css-break/META.yml": [
     [
      {}
     ]
@@ -243123,26 +243123,26 @@
      {}
     ]
    ],
    "css/css-cascade/initial-color-background-001-ref.html": [
     [
      {}
     ]
    ],
+   "css/css-cascade/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-cascade/reference/ref-filled-green-100px-square.xht": [
     [
      {}
     ]
    ],
-   "css/css-cascade/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/css-color/LICENSE": [
     [
      {}
     ]
    ],
    "css/css-color/META.yml": [
     [
      {}
@@ -243193,26 +243193,26 @@
      {}
     ]
    ],
    "css/css-color/lab-007-ref.html": [
     [
      {}
     ]
    ],
+   "css/css-color/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-color/rebeccapurple-ref.html": [
     [
      {}
     ]
    ],
-   "css/css-color/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/css-color/t31-color-currentColor-b-ref.html": [
     [
      {}
     ]
    ],
    "css/css-color/t31-color-text-a-ref.xht": [
     [
      {}
@@ -254253,16 +254253,21 @@
      {}
     ]
    ],
    "css/css-images/linear-gradient-ref.html": [
     [
      {}
     ]
    ],
+   "css/css-images/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-images/support/1x1-green.gif": [
     [
      {}
     ]
    ],
    "css/css-images/support/1x1-green.png": [
     [
      {}
@@ -254348,21 +254353,16 @@
      {}
     ]
    ],
    "css/css-images/support/intrinsic-size.png": [
     [
      {}
     ]
    ],
-   "css/css-images/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/css-images/support/pattern-grg-rgr-grg.png": [
     [
      {}
     ]
    ],
    "css/css-images/support/pattern-grg-rrg-rgg.png": [
     [
      {}
@@ -254938,17 +254938,17 @@
      {}
     ]
    ],
    "css/css-masking/clip/reference/clip-vertical-stripe-ref.html": [
     [
      {}
     ]
    ],
-   "css/css-masking/support/parsing-testcommon.js": [
+   "css/css-masking/parsing/support/parsing-testcommon.js": [
     [
      {}
     ]
    ],
    "css/css-masking/test-mask-ref.html": [
     [
      {}
     ]
@@ -257523,16 +257523,21 @@
      {}
     ]
    ],
    "css/css-shapes/META.yml": [
     [
      {}
     ]
    ],
+   "css/css-shapes/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-shapes/shape-outside/formatting-context/reference/shape-outside-formatting-context-ref.html": [
     [
      {}
     ]
    ],
    "css/css-shapes/shape-outside/shape-box/reference/shape-outside-box-001-ref.html": [
     [
      {}
@@ -257908,21 +257913,16 @@
      {}
     ]
    ],
    "css/css-shapes/support/cat.png": [
     [
      {}
     ]
    ],
-   "css/css-shapes/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/css-shapes/support/pattern-grg-rgr-grg.png": [
     [
      {}
     ]
    ],
    "css/css-shapes/support/pattern-grg-rrg-rgg.png": [
     [
      {}
@@ -260853,16 +260853,21 @@
      {}
     ]
    ],
    "css/css-transforms/matrix/reference/svg-matrix-four-color-ref.html": [
     [
      {}
     ]
    ],
+   "css/css-transforms/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-transforms/patternTransform/reference/svg-patternTransform-combination-ref.html": [
     [
      {}
     ]
    ],
    "css/css-transforms/patternTransform/reference/svg-patternTransform-ex-unit-ref.html": [
     [
      {}
@@ -261223,21 +261228,16 @@
      {}
     ]
    ],
    "css/css-transforms/support/import-red.css": [
     [
      {}
     ]
    ],
-   "css/css-transforms/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/css-transforms/support/pattern-grg-rgr-grg.png": [
     [
      {}
     ]
    ],
    "css/css-transforms/support/pattern-grg-rrg-rgg.png": [
     [
      {}
@@ -262438,16 +262438,21 @@
      {}
     ]
    ],
    "css/css-ui/META.yml": [
     [
      {}
     ]
    ],
+   "css/css-ui/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-ui/reference/box-sizing-001-ref.html": [
     [
      {}
     ]
    ],
    "css/css-ui/reference/box-sizing-007-ref.html": [
     [
      {}
@@ -263718,21 +263723,16 @@
      {}
     ]
    ],
    "css/css-ui/support/orange.svg": [
     [
      {}
     ]
    ],
-   "css/css-ui/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/css-ui/support/r1-1.svg": [
     [
      {}
     ]
    ],
    "css/css-ui/support/red.ico": [
     [
      {}
@@ -264623,16 +264623,21 @@
      {}
     ]
    ],
    "css/css-writing-modes/overconstrained-rel-pos-rtl-top-bottom-vrl-006-ref.xht": [
     [
      {}
     ]
    ],
+   "css/css-writing-modes/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-writing-modes/reference/available-size-001-ref.html": [
     [
      {}
     ]
    ],
    "css/css-writing-modes/reference/available-size-002-ref.html": [
     [
      {}
@@ -266203,21 +266208,16 @@
      {}
     ]
    ],
    "css/css-writing-modes/support/page-flow-direction-002p4.png": [
     [
      {}
     ]
    ],
-   "css/css-writing-modes/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/css-writing-modes/support/pass-cdts-abs-pos-non-replaced.png": [
     [
      {}
     ]
    ],
    "css/css-writing-modes/support/pass-cdts-bg-pos-vrl-002.png": [
     [
      {}
@@ -267518,16 +267518,21 @@
      {}
     ]
    ],
    "css/filter-effects/filters-sepia-001-ref.html": [
     [
      {}
     ]
    ],
+   "css/filter-effects/parsing/support/parsing-testcommon.js": [
+    [
+     {}
+    ]
+   ],
    "css/filter-effects/reference/filters-opacity-001-ref.html": [
     [
      {}
     ]
    ],
    "css/filter-effects/reference/filters-opacity-002-ref.html": [
     [
      {}
@@ -267623,21 +267628,16 @@
      {}
     ]
    ],
    "css/filter-effects/support/import-red.css": [
     [
      {}
     ]
    ],
-   "css/filter-effects/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/filter-effects/support/pattern-grg-rgr-grg.png": [
     [
      {}
     ]
    ],
    "css/filter-effects/support/pattern-grg-rrg-rgg.png": [
     [
      {}
@@ -267838,17 +267838,17 @@
      {}
     ]
    ],
    "css/motion/offset-rotate-ref.html": [
     [
      {}
     ]
    ],
-   "css/motion/support/parsing-testcommon.js": [
+   "css/motion/parsing/support/parsing-testcommon.js": [
     [
      {}
     ]
    ],
    "css/reference/META.yml": [
     [
      {}
     ]
@@ -269838,21 +269838,16 @@
      {}
     ]
    ],
    "css/support/import-red.css": [
     [
      {}
     ]
    ],
-   "css/support/parsing-testcommon.js": [
-    [
-     {}
-    ]
-   ],
    "css/support/pattern-grg-rgr-grg.png": [
     [
      {}
     ]
    ],
    "css/support/pattern-grg-rrg-rgg.png": [
     [
      {}
@@ -328564,22 +328559,16 @@
     ]
    ],
    "css/css-backgrounds/border-image-repeat_repeatnegx_none_50px.html": [
     [
      "/css/css-backgrounds/border-image-repeat_repeatnegx_none_50px.html",
      {}
     ]
    ],
-   "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",
      {}
     ]
    ],
    "css/css-backgrounds/parsing/background-attachment-valid.html": [
     [
@@ -514858,40 +514847,40 @@
    "a078e6b731b3c08edd6c8ec821a4dc85a8058953",
    "support"
   ],
   "css/compositing/mix-blend-mode/support/yellow_square.svg": [
    "9ab6394e2aa521c87f1553cff441acca4bf9d6a6",
    "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",
-   "testharness"
-  ],
-  "css/compositing/support/parsing-testcommon.js": [
+   "324961499742adfb8c4dc84b5e939f22377ad624",
+   "testharness"
+  ],
+  "css/compositing/parsing/support/parsing-testcommon.js": [
    "b075882f89aae49b419220b234534241cde5fd42",
    "support"
   ],
   "css/compositing/svg/mix-blend-mode-in-svg-image.html": [
    "658e0275d70b357b210ae70243a2f58b9752910c",
    "reftest"
   ],
   "css/compositing/svg/mix-blend-mode-svg-rectangle.html": [
@@ -518225,20 +518214,16 @@
   "css/css-backgrounds/box-shadow-outset-spread-without-border-radius.html": [
    "5ebde5519ca445732fef5f3f28a60ecd102ed676",
    "reftest"
   ],
   "css/css-backgrounds/box-shadow-outset-without-border-radius.html": [
    "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"
   ],
   "css/css-backgrounds/box-shadow/support/box-shadow-blur-definition-001-dark-bound.png": [
    "695f414ad808a7a82d2d6ffd35172551b2c00a11",
    "support"
   ],
@@ -518334,182 +518319,186 @@
    "eeac7b12fb0c827b54052a39608d42d002889bc8",
    "visual"
   ],
   "css/css-backgrounds/order-of-images.htm": [
    "5ed794153083a7e06eb2e98b7ebdb5bec2676d28",
    "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",
-   "testharness"
+   "be72b78cbbe42898a8693706d57852fd71cdb4d0",
+   "testharness"
+  ],
+  "css/css-backgrounds/parsing/support/parsing-testcommon.js": [
+   "b075882f89aae49b419220b234534241cde5fd42",
+   "support"
   ],
   "css/css-backgrounds/reference/60x60-green-background.html": [
    "d19ed4ea2678a45bbe53838d6eebf61ab641bcdd",
    "support"
   ],
   "css/css-backgrounds/reference/background-334-ref.xht": [
    "2b568109db28719bc2973d350874f0685a630185",
    "support"
@@ -518901,20 +518890,16 @@
   "css/css-backgrounds/support/orange_color.png": [
    "329491802f2fccfa565491fc316e0f06e0a849e3",
    "support"
   ],
   "css/css-backgrounds/support/outline-5px-10px-15px-20px-green.png": [
    "2ca46e53f3c3db20d4cd14d7284f9ba1c658bed9",
    "support"
   ],
-  "css/css-backgrounds/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/css-backgrounds/support/pattern-grg-rgr-grg.png": [
    "6fcfeb4883edea810f880fabb861e09df7871695",
    "support"
   ],
   "css/css-backgrounds/support/pattern-grg-rrg-rgg.png": [
    "fcf4f3fd7d95431b8cd1bc5f5129fcb724c5e40f",
    "support"
   ],
@@ -519090,114 +519075,114 @@
    "6950d17f27c50d1b54cefe1bc4342af74108955e",
    "reftest"
   ],
   "css/css-box/META.yml": [
    "dde409360faf79a301c3ae3ea34a995d154d7bb4",
    "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",
-   "testharness"
+   "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",
-   "testharness"
-  ],
-  "css/css-box/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
+   "653b11e993cf99c4196582440cb45bd144c4f38b",
+   "testharness"
   ],
   "css/css-break/META.yml": [
    "bfd40518b4a6477632fa319f3e53fe22517d326d",
    "support"
   ],
   "css/css-break/break-before-always-001.xht": [
    "e2e7297d1532fba60d2074aa2701600dc7441742",
    "visual"
@@ -519242,35 +519227,35 @@
    "ffac42763f9f7221b78b6d685e49ce7854537b20",
    "support"
   ],
   "css/css-cascade/initial-color-background-001.html": [
    "15a1cf5a4f803d7ec419fcc5910fb4183a6b0c05",
    "reftest"
   ],
   "css/css-cascade/parsing/all-invalid.html": [
-   "526f9fdf575736609b57a8a56f251223c8310c01",
+   "8b7c044a0341ad732640b7a827c9f24a9c1d4f5f",
    "testharness"
   ],
   "css/css-cascade/parsing/all-valid.html": [
-   "42baa25d016b5b719f32dc759dc0962ddf600624",
-   "testharness"
+   "668a6c2424125c8d84de85ec6dee694e7cc4799f",
+   "testharness"
+  ],
+  "css/css-cascade/parsing/support/parsing-testcommon.js": [
+   "b075882f89aae49b419220b234534241cde5fd42",
+   "support"
   ],
   "css/css-cascade/reference/ref-filled-green-100px-square.xht": [
    "05a13794482a94f6c10bd9d4c98704e63ef60331",
    "support"
   ],
   "css/css-cascade/revert-val-001.html": [
    "a346267c7bdb08b6b67ca68c6e821ea71ab1eefa",
    "reftest"
   ],
-  "css/css-cascade/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/css-cascade/unset-val-001.html": [
    "c25b980a3b5734df4782ee5b6feb32d845f19e6d",
    "reftest"
   ],
   "css/css-cascade/unset-val-002.html": [
    "e68417ff041e5a651e9b005938c8d5d804a81d66",
    "reftest"
   ],
@@ -519510,30 +519495,34 @@
    "4646bc9a32433389b7014ce766345354fcbb7c8d",
    "reftest"
   ],
   "css/css-color/named-001.html": [
    "61a98dcb7bb02fab3db18ed337eee5ddb07724fc",
    "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",
-   "testharness"
+   "8ae302e09f34c5593f58f352adab88fccc906b97",
+   "testharness"
+  ],
+  "css/css-color/parsing/support/parsing-testcommon.js": [
+   "b075882f89aae49b419220b234534241cde5fd42",
+   "support"
   ],
   "css/css-color/rebeccapurple-ref.html": [
    "8c15364f38e53cc1651f2f6c115c7b2fca3f4ba9",
    "support"
   ],
   "css/css-color/rgb-001.html": [
    "30603faa9c5b70956d97139d7bb86cc9cb2fd9e3",
    "reftest"
@@ -519597,20 +519586,16 @@
   "css/css-color/rgba-007.html": [
    "5b316a2a369cf7e2cae0e0eb593473cf7527267e",
    "reftest"
   ],
   "css/css-color/rgba-008.html": [
    "65eab55794c39e47d6afb5b71e5fea4b9b671b37",
    "reftest"
   ],
-  "css/css-color/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/css-color/t31-color-currentColor-b-ref.html": [
    "3013c7050c3c6f057e295923d43c87da6c09751f",
    "support"
   ],
   "css/css-color/t31-color-currentColor-b.xht": [
    "785a6f6dea657a0d637e952359074dffafbc8569",
    "reftest"
   ],
@@ -536210,62 +536195,66 @@
    "bdfd96ea85592ddf9c8dbb8ef8d11afaef6d9ef7",
    "reftest"
   ],
   "css/css-images/linear-gradient-ref.html": [
    "6643bb918b5f79ce72d3f16ec999d675e04f59d3",
    "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",
-   "testharness"
+   "b7be35ccd74f01a0b966426bc5876afd35a1248d",
+   "testharness"
+  ],
+  "css/css-images/parsing/support/parsing-testcommon.js": [
+   "b075882f89aae49b419220b234534241cde5fd42",
+   "support"
   ],
   "css/css-images/support/1x1-green.gif": [
    "e023d92c7ad04264d06196d47a5edd828a7f71db",
    "support"
   ],
   "css/css-images/support/1x1-green.png": [
    "b98ca0ba0a03c580ac339e4a3653539cfa8edc71",
    "support"
@@ -536333,20 +536322,16 @@
   "css/css-images/support/intrinsic-size.jpg": [
    "b634fd18212d650231ee581c7a0aa5816e3fd470",
    "support"
   ],
   "css/css-images/support/intrinsic-size.png": [
    "833e6e36cdf316be9e4f54dc68732712afe11ba2",
    "support"
   ],
-  "css/css-images/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/css-images/support/pattern-grg-rgr-grg.png": [
    "6fcfeb4883edea810f880fabb861e09df7871695",
    "support"
   ],
   "css/css-images/support/pattern-grg-rrg-rgg.png": [
    "fcf4f3fd7d95431b8cd1bc5f5129fcb724c5e40f",
    "support"
   ],
@@ -537926,40 +537911,40 @@
    "96ccc2c19c428ddf3717c641db07bce710bb6690",
    "support"
   ],
   "css/css-masking/idlharness.html": [
    "c415eaaa67a2bc9a4b621700049eb0c0b60ec0a3",
    "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",
-   "testharness"
-  ],
-  "css/css-masking/support/parsing-testcommon.js": [
+   "a21e90178b708a52f397fd890db25477708fb16c",
+   "testharness"
+  ],
+  "css/css-masking/parsing/support/parsing-testcommon.js": [
    "b075882f89aae49b419220b234534241cde5fd42",
    "support"
   ],
   "css/css-masking/test-mask-ref.html": [
    "938235acbd36309fb969c55f161239bcd5ab969e",
    "support"
   ],
   "css/css-masking/test-mask.html": [
@@ -543058,46 +543043,50 @@
    "99136818e66dc50978bc0f7c25a2129556e72f21",
    "support"
   ],
   "css/css-shapes/basic-shape-circle-ellipse-serialization.html": [
    "5e4842d234f6af393a5ee04fa604a63f6db5cae1",
    "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",
-   "testharness"
+   "1a70d10f831fb6a451149769a54cdd1839b1d8d3",
+   "testharness"
+  ],
+  "css/css-shapes/parsing/support/parsing-testcommon.js": [
+   "b075882f89aae49b419220b234534241cde5fd42",
+   "support"
   ],
   "css/css-shapes/shape-outside-invalid-001.html": [
    "c6c7400f7d177bde46ad1a35a6bd77f6ff27d71b",
    "testharness"
   ],
   "css/css-shapes/shape-outside-invalid-circle-000.html": [
    "317553bad7acee8624935e122f265828e90bb198",
    "testharness"
@@ -544209,20 +544198,16 @@
   "css/css-shapes/support/c-red.css": [
    "d4ba5c64e95406f541e2f8cc19e192e9f521ed6b",
    "support"
   ],
   "css/css-shapes/support/cat.png": [
    "85dd7324815b8f8ef1a1d0496224c1a0661db9d8",
    "support"
   ],
-  "css/css-shapes/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/css-shapes/support/pattern-grg-rgr-grg.png": [
    "9b88fbd81149891234185f54f8b4a0431759f181",
    "support"
   ],
   "css/css-shapes/support/pattern-grg-rrg-rgg.png": [
    "fcf4f3fd7d95431b8cd1bc5f5129fcb724c5e40f",
    "support"
   ],
@@ -550758,69 +550743,73 @@
    "28389c71e6fc24aae1aff6dc1334e0d27ab45046",
    "reftest"
   ],
   "css/css-transforms/matrix/svg-matrix-069.html": [
    "6c368b3c1bd0a5d5afcd57a5da505178b4ba1a66",
    "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",
-   "testharness"
+   "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": [
    "1b74821500862a790b1aec5b15d135ea2eb7e35b",
    "support"
   ],
   "css/css-transforms/patternTransform/reference/svg-patternTransform-ex-unit-ref.html": [
    "961e508b3b52615bc14ba7ffc4daf7b7cd65fd36",
@@ -552073,20 +552062,16 @@
   "css/css-transforms/support/import-green.css": [
    "537104e663364492c6ef388e4afce190e9c5bc58",
    "support"
   ],
   "css/css-transforms/support/import-red.css": [
    "9945ef47114c2841a746c99a2fb1e93e050aac8b",
    "support"
   ],
-  "css/css-transforms/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/css-transforms/support/pattern-grg-rgr-grg.png": [
    "9b88fbd81149891234185f54f8b4a0431759f181",
    "support"
   ],
   "css/css-transforms/support/pattern-grg-rrg-rgg.png": [
    "fcf4f3fd7d95431b8cd1bc5f5129fcb724c5e40f",
    "support"
   ],
@@ -558110,101 +558095,105 @@
    "ea03a3e543270c933f7f34dc0ee8c0ecfb97243b",
    "reftest"
   ],
   "css/css-ui/outline-style-014.html": [
    "b6ac104c9daaafd94ab057d4f0700f1250bc3f75",
    "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",
-   "testharness"
+   "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": [
    "0207bc06beb00b241d59773f41ed0a8f1ee4f107",
    "support"
   ],
   "css/css-ui/reference/box-sizing-007-ref.html": [
    "71a3649a1a2536f974ec1deaeed5c689e8debfbe",
@@ -559309,20 +559298,16 @@
   "css/css-ui/support/orange.png": [
    "0a08d3ae5d025acaaaf7ed6e32fc5b1aee0dd627",
    "support"
   ],
   "css/css-ui/support/orange.svg": [
    "56346a8295ba14f002eee4e35cd864e1829ae840",
    "support"
   ],
-  "css/css-ui/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/css-ui/support/r1-1.svg": [
    "84f1b9532b5f55ee48c6502ec00470b7b2d93431",
    "support"
   ],
   "css/css-ui/support/red.ico": [
    "22a7b36fe3ec2c05c348ba7b45c9fb764ef2def5",
    "support"
   ],
@@ -563566,53 +563551,57 @@
    "30d045d1d1568c64cf21efeebc9f40f0b02d8309",
    "manual"
   ],
   "css/css-writing-modes/page-flow-direction-srl-004.xht": [
    "d1d1aa65b570e6160fa27fb935a01d178a7bb363",
    "manual"
   ],
   "css/css-writing-modes/parsing/direction-invalid.html": [
-   "0927ca388b7cc7a0e37149f1c8a23b15d0d44444",
+   "7181dbe675d1183d7271cd9d7aebf699ec837872",
    "testharness"
   ],
   "css/css-writing-modes/parsing/direction-valid.html": [
-   "ca4d7bb9df9e48606b92f0bb7a515488ad73a18c",
-   "testharness"
+   "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": [
    "fdc8661fe69736825906830a8675466c11f4c5e3",
    "reftest"
   ],
   "css/css-writing-modes/percent-margin-vlr-005.xht": [
    "afa40b9de6f3af4878c9b5c3435d4308b88198f2",
@@ -565465,20 +565454,16 @@
   "css/css-writing-modes/support/page-flow-direction-002p3.png": [
    "d7c58d622437186dd21070c74d6de4c73edb3fbf",
    "support"
   ],
   "css/css-writing-modes/support/page-flow-direction-002p4.png": [
    "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"
   ],
   "css/css-writing-modes/support/pass-cdts-bg-pos-vrl-002.png": [
    "a0db6909418d2046f55290052262fe421bad6709",
    "support"
   ],
@@ -568126,38 +568111,42 @@
    "9ecef28aa54d133dfaea55551dbed91305cf9d0e",
    "reftest"
   ],
   "css/filter-effects/interfaces.any.js": [
    "e7de16e8d62904986610a484b046a4caf0f161e3",
    "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",
-   "testharness"
+   "89b189a7f9a4a2ac4ae41c84a50d1f73e1dfc1b3",
+   "testharness"
+  ],
+  "css/filter-effects/parsing/support/parsing-testcommon.js": [
+   "b075882f89aae49b419220b234534241cde5fd42",
+   "support"
   ],
   "css/filter-effects/reference/filters-opacity-001-ref.html": [
    "17d891ee707c36b7d404d9836060d7bb9275e841",
    "support"
   ],
   "css/filter-effects/reference/filters-opacity-002-ref.html": [
    "cfd8029223165871c4e2d78bee4a221b54822957",
    "support"
@@ -568233,20 +568222,16 @@
   "css/filter-effects/support/import-green.css": [
    "537104e663364492c6ef388e4afce190e9c5bc58",
    "support"
   ],
   "css/filter-effects/support/import-red.css": [
    "9945ef47114c2841a746c99a2fb1e93e050aac8b",
    "support"
   ],
-  "css/filter-effects/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/filter-effects/support/pattern-grg-rgr-grg.png": [
    "9b88fbd81149891234185f54f8b4a0431759f181",
    "support"
   ],
   "css/filter-effects/support/pattern-grg-rrg-rgg.png": [
    "fcf4f3fd7d95431b8cd1bc5f5129fcb724c5e40f",
    "support"
   ],
@@ -568702,64 +568687,64 @@
    "ec22768e96a1cd1efab206781b985cec8f006686",
    "support"
   ],
   "css/motion/offset-supports-calc.html": [
    "79aa9a9f50acd57848df17908390c770d7b88976",
    "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": [
-   "7fbd06a508a322ac0969eb11c4299de50fd254e7",
+   "67c1099ba73b26812b86f0c1bf9dca9baa2ff225",
    "testharness"
   ],
   "css/motion/parsing/offset-path-parsing-valid.html": [
-   "e7797686e4ac524ac9dc9f8525dbd5a24adeec29",
+   "d57b465ada6743e76e3e99e78a89e628815dc9ee",
    "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",
-   "testharness"
-  ],
-  "css/motion/support/parsing-testcommon.js": [
+   "38e9ff1ba45ed2cd54b8d55670086f34236b742a",
+   "testharness"
+  ],
+  "css/motion/parsing/support/parsing-testcommon.js": [
    "b075882f89aae49b419220b234534241cde5fd42",
    "support"
   ],
   "css/reference/META.yml": [
    "0f0f7aa96a3d8d59be0a26eaf5c706ae82faf4e4",
    "support"
   ],
   "css/reference/black_box_ends_when_blue_box_ends_6_boxes_ahem.html": [
@@ -570801,20 +570786,16 @@
   "css/support/import-green.css": [
    "537104e663364492c6ef388e4afce190e9c5bc58",
    "support"
   ],
   "css/support/import-red.css": [
    "9945ef47114c2841a746c99a2fb1e93e050aac8b",
    "support"
   ],
-  "css/support/parsing-testcommon.js": [
-   "b075882f89aae49b419220b234534241cde5fd42",
-   "support"
-  ],
   "css/support/pattern-grg-rgr-grg.png": [
    "9b88fbd81149891234185f54f8b4a0431759f181",
    "support"
   ],
   "css/support/pattern-grg-rrg-rgg.png": [
    "fcf4f3fd7d95431b8cd1bc5f5129fcb724c5e40f",
    "support"
   ],
--- a/testing/web-platform/tests/css/compositing/parsing/background-blend-mode-invalid.html
+++ b/testing/web-platform/tests/css/compositing/parsing/background-blend-mode-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Compositing and Blending Level 1: parsing background-blend-mode with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/compositing-1/#propdef-background-blend-mode">
 <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>
 test_invalid_value("background-blend-mode", "auto");
 test_invalid_value("background-blend-mode", "normal luminosity");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/compositing/parsing/background-blend-mode-valid.html
+++ b/testing/web-platform/tests/css/compositing/parsing/background-blend-mode-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Compositing and Blending Level 1: parsing background-blend-mode with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/compositing-1/#propdef-background-blend-mode">
 <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>
 test_valid_value("background-blend-mode", "normal");
 test_valid_value("background-blend-mode", "multiply");
 test_valid_value("background-blend-mode", "screen");
 test_valid_value("background-blend-mode", "overlay");
 test_valid_value("background-blend-mode", "darken");
--- a/testing/web-platform/tests/css/compositing/parsing/isolation-invalid.html
+++ b/testing/web-platform/tests/css/compositing/parsing/isolation-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Compositing and Blending Level 1: parsing isolation with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/compositing-1/#propdef-isolation">
 <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>
 test_invalid_value("isolation", "none");
 test_invalid_value("isolation", "auto isolate");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/compositing/parsing/isolation-valid.html
+++ b/testing/web-platform/tests/css/compositing/parsing/isolation-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Compositing and Blending Level 1: parsing isolation with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/compositing-1/#propdef-isolation">
 <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>
 test_valid_value("isolation", "auto");
 test_valid_value("isolation", "isolate");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/compositing/parsing/mix-blend-mode-invalid.html
+++ b/testing/web-platform/tests/css/compositing/parsing/mix-blend-mode-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Compositing and Blending Level 1: parsing mix-blend-mode with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/compositing-1/#propdef-mix-blend-mode">
 <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>
 test_invalid_value("mix-blend-mode", "auto");
 test_invalid_value("mix-blend-mode", "normal luminosity");
 test_invalid_value("mix-blend-mode", "normal, luminosity");
 </script>
 </body>
--- a/testing/web-platform/tests/css/compositing/parsing/mix-blend-mode-valid.html
+++ b/testing/web-platform/tests/css/compositing/parsing/mix-blend-mode-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Compositing and Blending Level 1: parsing mix-blend-mode with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/compositing-1/#propdef-mix-blend-mode">
 <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>
 test_valid_value("mix-blend-mode", "normal");
 test_valid_value("mix-blend-mode", "multiply");
 test_valid_value("mix-blend-mode", "screen");
 test_valid_value("mix-blend-mode", "overlay");
 test_valid_value("mix-blend-mode", "darken");
rename from testing/web-platform/tests/css/compositing/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/compositing/parsing/support/parsing-testcommon.js
deleted file mode 100644
--- a/testing/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>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-attachment-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-attachment-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-attachment with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-attachment">
 <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>
 test_invalid_value("background-attachment", "auto");
 test_invalid_value("background-attachment", "local, none");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-attachment-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-attachment-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-attachment with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-attachment">
 <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>
 test_valid_value("background-attachment", "fixed");
 test_valid_value("background-attachment", "scroll, fixed, local, fixed, scroll");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-clip-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-clip-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-clip with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-clip">
 <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>
 test_invalid_value("background-clip", "fill-box");
 test_invalid_value("background-clip", "margin-box");
 test_invalid_value("background-clip", "stroke-box");
 test_invalid_value("background-clip", "view-box");
 </script>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-clip-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-clip-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-clip with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-clip">
 <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>
 test_valid_value("background-clip", "border-box");
 test_valid_value("background-clip", "padding-box");
 test_valid_value("background-clip", "content-box");
 
 test_valid_value("background-clip", "border-box, padding-box, content-box");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-color-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-color-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-color with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-color">
 <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>
 test_invalid_value("background-color", "none");
 test_invalid_value("background-color", "black white");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-color-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-color-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-color with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-color">
 <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>
 test_valid_value("background-color", "currentcolor", "currentcolor");
 test_valid_value("background-color", "currentColor", "currentcolor");
 
 test_valid_value("background-color", "red");
 test_valid_value("background-color", "#00FF00", "rgb(0, 255, 0)");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-image-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-image-invalid.html
@@ -3,16 +3,16 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-image with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-image">
 <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>
 test_invalid_value("background-image", "none, auto");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-image-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-image-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-image with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-image">
 <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>
 test_valid_value("background-image", "none");
 
 // Safari removes quotes.
 test_valid_value("background-image", 'url("http://www.example.com/")', ['url("http://www.example.com/")', 'url(http://www.example.com/)']);
 test_valid_value("background-image", 'none, url("http://www.example.com/")', ['none, url("http://www.example.com/")', 'none, url(http://www.example.com/)']);
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-invalid.html
@@ -3,16 +3,16 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background">
 <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>
 test_invalid_value("background", "red, green");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-origin-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-origin-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-origin with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-origin">
 <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>
 test_invalid_value("background-origin", "fill-box");
 test_invalid_value("background-origin", "margin-box");
 test_invalid_value("background-origin", "stroke-box");
 test_invalid_value("background-origin", "view-box");
 </script>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-origin-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-origin-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-origin with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-origin">
 <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>
 test_valid_value("background-origin", "border-box");
 test_valid_value("background-origin", "padding-box");
 test_valid_value("background-origin", "content-box");
 
 test_valid_value("background-origin", "border-box, padding-box, content-box");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-position-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-position-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-position with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-position">
 <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>
 test_invalid_value("background-position", "left right");
 test_invalid_value("background-position", "top bottom");
 test_invalid_value("background-position", "1% center 2px");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-position-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-position-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-position with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-position">
 <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>
 test_valid_value("background-position", "1px", ["1px", "1px center"]);
 test_valid_value("background-position", "1px center", ["1px", "1px center"]);
 test_valid_value("background-position", "-2% -3%");
 test_valid_value("background-position", "5% top");
 test_valid_value("background-position", "center", ["center", "center center"]);
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-repeat-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-repeat-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-repeat with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-repeat">
 <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>
 test_invalid_value("background-repeat", "repeat repeat-x");
 test_invalid_value("background-repeat", "repeat-y round");
 test_invalid_value("background-repeat", "repeat space round");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-repeat-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-repeat-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-repeat with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-repeat">
 <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>
 test_valid_value("background-repeat", "repeat");
 test_valid_value("background-repeat", "repeat-x, repeat-y, repeat", "repeat-x, repeat-y, repeat");
 test_valid_value("background-repeat", "repeat space, round no-repeat, repeat-x");
 test_valid_value("background-repeat", "repeat repeat", ["repeat", "repeat repeat"]);
 </script>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-size-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-size-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-size with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-size">
 <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>
 // Blink and WebKit fail these by accepting negative values.
 test_invalid_value("background-size", "-1px");
 test_invalid_value("background-size", "2% -3%");
 
 test_invalid_value("background-size", "1px 2px 3px");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-size-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-size-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background-size with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-size">
 <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>
 test_valid_value("background-size", "1px", ["1px", "1px auto"]);
 test_valid_value("background-size", "1px auto", ["1px", "1px auto"]);
 test_valid_value("background-size", "2% 3%");
 test_valid_value("background-size", "auto", ["auto", "auto auto"]);
 test_valid_value("background-size", "auto auto", ["auto", "auto auto"]);
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/background-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/background-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing background with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background">
 <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>
 // Background serialization varies across browsers. https://github.com/w3c/csswg-drafts/issues/418
 
 test_valid_value("background",
   'url("https://example.com/") 1px 2px / 3px 4px space round local padding-box content-box, rgb(5, 6, 7) url("https://example.com/") 1px 2px / 3px 4px space round local padding-box content-box', [
   'url("https://example.com/") 1px 2px / 3px 4px space round local padding-box content-box, rgb(5, 6, 7) url("https://example.com/") 1px 2px / 3px 4px space round local padding-box content-box', // spec
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-color-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-color-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-color with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-color">
 <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>
 test_invalid_value("border-color", "auto");
 
 test_invalid_value("border-color", "black, white");
 
 test_invalid_value("border-color", "black white red green blue");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-color-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-color-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-color with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-color">
 <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>
 test_valid_value("border-color", "currentcolor", "currentcolor");
 test_valid_value("border-color", "currentColor", "currentcolor");
 
 test_valid_value("border-color", "red yellow green blue");
 
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image">
 <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>
 test_invalid_value("border-image", "auto");
 test_invalid_value("border-image", 'none, url("http://www.example.com/")');
 
 test_invalid_value("border-image", "stretch repeat round");
 
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-outset-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-outset-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-outset with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-outset">
 <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>
 test_invalid_value("border-image-outset", "auto");
 
 test_invalid_value("border-image-outset", "-1");
 test_invalid_value("border-image-outset", "-2px");
 
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-outset-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-outset-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-outset with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-outset">
 <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>
 test_valid_value("border-image-outset", "1px");
 test_valid_value("border-image-outset", "2");
 test_valid_value("border-image-outset", "1px 2 3px 4");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-repeat with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-repeat">
 <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>
 test_invalid_value("border-image-repeat", "auto");
 
 test_invalid_value("border-image-repeat", "stretch repeat round");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-repeat-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-repeat-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-repeat with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-repeat">
 <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>
 test_valid_value("border-image-repeat", "stretch");
 test_valid_value("border-image-repeat", "space space", "space");
 test_valid_value("border-image-repeat", "repeat round");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-slice-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-slice-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-slice with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-slice">
 <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>
 test_invalid_value("border-image-slice", "fill");
 
 test_invalid_value("border-image-slice", "1 -2% fill");
 test_invalid_value("border-image-slice", "-1 2% fill");
 
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-slice-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-slice-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-slice with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-slice">
 <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>
 test_valid_value("border-image-slice", "1");
 test_valid_value("border-image-slice", "1 2% 3 4%");
 
 test_valid_value("border-image-slice", "1 2% 3 4% fill");
 test_valid_value("border-image-slice", "fill 1 2% 3 4%", "1 2% 3 4% fill");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-source-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-source-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-source with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-source">
 <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>
 test_invalid_value("border-image-source", "auto");
 
 test_invalid_value("border-image-source", 'none, url("http://www.example.com/")');
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-source-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-source-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-source with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-source">
 <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>
 test_valid_value("border-image-source", "none");
 
 // Safari removes quotes.
 test_valid_value("border-image-source", 'url("http://www.example.com/")', ['url("http://www.example.com/")', 'url(http://www.example.com/)']);
 </script>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image">
 <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>
 // WebKit fails all these tests by returning an empty string as the value of border-image.
 
 // "none" in Edge, "none 100% / 1 / 0 stretch" in Firefox and Blink.
 test_valid_value("border-image", "none", ["none", "none 100% / 1 / 0 stretch"]);
 test_valid_value("border-image", "stretch", ["none", "none 100% / 1 / 0 stretch"]);
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-width-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-width-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-width with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-width">
 <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>
 test_invalid_value("border-image-width", "none");
 
 test_invalid_value("border-image-width", "-1px");
 test_invalid_value("border-image-width", "-2%");
 test_invalid_value("border-image-width", "-3");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-width-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-image-width-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-image-width with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-image-width">
 <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>
 test_valid_value("border-image-width", "1px");
 test_valid_value("border-image-width", "2%");
 test_valid_value("border-image-width", "3");
 test_valid_value("border-image-width", "auto");
 
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-shorthands">
 <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>
 test_invalid_value("border", "auto");
 test_invalid_value("border", "thin double green 1px");
 test_invalid_value("border", "-2em");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-radius-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-radius-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-radius with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-radius">
 <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>
 test_invalid_value("border-radius", "none");
 test_invalid_value("border-radius", "1px 2px 3px 4px 5px");
 test_invalid_value("border-radius", "-1px");
 test_invalid_value("border-radius", "1px -2px");
 test_invalid_value("border-radius", "1em /");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-radius-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-radius-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-radius with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-radius">
 <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>
 test_valid_value("border-radius", "1px");
 test_valid_value("border-radius", "1px 2% 3px 4%");
 test_valid_value("border-radius", "5em / 1px 2% 3px 4%"); // Blink and Webkit fail by serializing as "5em 1px 5em 2% 5em 3px 5em 4%"
 test_valid_value("border-radius", "1px 2% 3px 4% / 5em"); // Blink and Webkit fail by serializing as "1px 5em 2% 5em 3px 5em 4% 5em"
 
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-style-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-style-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-style with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-style">
 <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>
 test_invalid_value("border-style", "auto");
 test_invalid_value("border-style", "solid double groove ridge none");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-style-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-style-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-style with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-style">
 <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>
 test_valid_value("border-style", "none");
 test_valid_value("border-style", "none hidden dotted dashed");
 test_valid_value("border-style", "solid double groove ridge");
 test_valid_value("border-style", "inset outset");
 
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-shorthands">
 <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>
 test_valid_value("border", "1px dotted red");
 test_valid_value("border", "green double thin", "thin double green");
 
 test_valid_value("border-top", "thin", ["thin", "thin none"]);
 test_valid_value("border-right", "double", ["double", "medium double"]);
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-width-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-width-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-width with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-width">
 <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>
 test_invalid_value("border-width", "none");
 test_invalid_value("border-width", "thin medium thick medium thin");
 test_invalid_value("border-width", "-1px");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/border-width-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/border-width-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Backgrounds and Borders Module Level 3: parsing border-width with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-backgrounds/#border-width">
 <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>
 test_valid_value("border-width", "1em");
 test_valid_value("border-width", "2px thin medium thick");
 
 test_valid_value("border-top-width", "0px");
 test_valid_value("border-right-width", "thin");
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/box-shadow-invalid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/box-shadow-invalid.html
@@ -1,28 +1,62 @@
 <!DOCTYPE html>
 <html>
 <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>
 test_invalid_value("box-shadow", "auto");
 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>
--- a/testing/web-platform/tests/css/css-backgrounds/parsing/box-shadow-valid.html
+++ b/testing/web-platform/tests/css/css-backgrounds/parsing/box-shadow-valid.html
@@ -1,23 +1,62 @@
 <!DOCTYPE html>
 <html>
 <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>
 test_valid_value("box-shadow", "none");
 test_valid_value("box-shadow", "1px 2px");
 test_valid_value("box-shadow", "red 1px 2px 3px -4px inset"); // Edge serializes as "inset 1px 2px 3px -4px red"
 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>
rename from testing/web-platform/tests/css/css-backgrounds/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-backgrounds/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-box/parsing/clear-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/clear-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing clear with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-clear">
 <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>
 test_invalid_value("clear", "auto");
 test_invalid_value("clear", "left right");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-box/parsing/clear-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/clear-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing clear with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-clear">
 <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>
 test_valid_value("clear", "none");
 test_valid_value("clear", "left");
 test_valid_value("clear", "right");
 test_valid_value("clear", "both");
 </script>
--- a/testing/web-platform/tests/css/css-box/parsing/float-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/float-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing float with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-float">
 <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>
 test_invalid_value("float", "auto");
 test_invalid_value("float", "right bottom");
 test_invalid_value("float", "top, left");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-box/parsing/float-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/float-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing float with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-float">
 <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>
 test_valid_value("float", "left");
 test_valid_value("float", "right");
 test_valid_value("float", "none");
 
 // The following are not yet supported by browsers:
--- a/testing/web-platform/tests/css/css-box/parsing/height-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/height-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing height with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-height">
 <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>
 test_invalid_value("height", "none");
 
 test_invalid_value("height", "min-content available");
 test_invalid_value("height", "max-content 10px");
 test_invalid_value("height", "20% available");
--- a/testing/web-platform/tests/css/css-box/parsing/height-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/height-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing height with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-height">
 <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>
 test_valid_value("height", "auto");
 
 test_valid_value("height", "10px");
 test_valid_value("height", "20%");
 test_valid_value("height", "calc(2em + 3ex)");
--- a/testing/web-platform/tests/css/css-box/parsing/margin-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/margin-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing margin with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-margin">
 <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>
 test_invalid_value("margin", "available");
 test_invalid_value("margin", "10px border-box");
 test_invalid_value("margin", "1% 2% 3% 4% 5%");
 
 test_invalid_value("margin-top", "calc(2em + 3ex) auto");
--- a/testing/web-platform/tests/css/css-box/parsing/margin-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/margin-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing margin with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-margin">
 <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>
 test_valid_value("margin", "10px");
 test_valid_value("margin", "20%");
 test_valid_value("margin", "calc(2em + 3ex)");
 test_valid_value("margin", "auto");
 test_valid_value("margin", "-10px");
--- a/testing/web-platform/tests/css/css-box/parsing/max-height-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/max-height-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing max-height with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-max-height">
 <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>
 test_invalid_value("max-height", "complex");
 test_invalid_value("max-height", "auto");
 test_invalid_value("max-height", "none available");
 test_invalid_value("max-height", "max-content 10px");
 test_invalid_value("max-height", "20% available");
--- a/testing/web-platform/tests/css/css-box/parsing/max-height-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/max-height-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing max-height with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-max-height">
 <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>
 test_valid_value("max-height", "none");
 
 test_valid_value("max-height", "10px");
 test_valid_value("max-height", "20%");
 test_valid_value("max-height", "calc(2em + 3ex)");
--- a/testing/web-platform/tests/css/css-box/parsing/max-width-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/max-width-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing max-width with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-max-width">
 <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>
 test_invalid_value("max-width", "complex");
 test_invalid_value("max-width", "auto");
 test_invalid_value("max-width", "none available");
 test_invalid_value("max-width", "max-content 10px");
 test_invalid_value("max-width", "20% available");
--- a/testing/web-platform/tests/css/css-box/parsing/max-width-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/max-width-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing max-width with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-max-width">
 <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>
 test_valid_value("max-width", "none");
 
 test_valid_value("max-width", "10px");
 test_valid_value("max-width", "20%");
 test_valid_value("max-width", "calc(2em + 3ex)");
--- a/testing/web-platform/tests/css/css-box/parsing/min-height-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/min-height-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing min-height with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-min-height">
 <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>
 test_invalid_value("min-height", "complex");
 test_invalid_value("min-height", "none");
 test_invalid_value("min-height", "none available");
 test_invalid_value("min-height", "max-content 10px");
 test_invalid_value("min-height", "20% available");
--- a/testing/web-platform/tests/css/css-box/parsing/min-height-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/min-height-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing min-height with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-min-height">
 <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>
 test_valid_value("min-height", "10px");
 test_valid_value("min-height", "20%");
 test_valid_value("min-height", "calc(2em + 3ex)");
 
 test_valid_value("min-height", "min-content");
--- a/testing/web-platform/tests/css/css-box/parsing/min-width-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/min-width-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing min-width with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-min-width">
 <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>
 test_invalid_value("min-width", "complex");
 test_invalid_value("min-width", "none");
 test_invalid_value("min-width", "none available");
 test_invalid_value("min-width", "max-content 10px");
 test_invalid_value("min-width", "20% available");
--- a/testing/web-platform/tests/css/css-box/parsing/min-width-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/min-width-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing min-width with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-min-width">
 <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>
 test_valid_value("min-width", "10px");
 test_valid_value("min-width", "20%");
 test_valid_value("min-width", "calc(2em + 3ex)");
 
 test_valid_value("min-width", "min-content");
--- a/testing/web-platform/tests/css/css-box/parsing/overflow-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/overflow-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing overflow with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-overflow">
 <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>
 test_invalid_value("overflow", "none");
 test_invalid_value("overflow", "visible hidden scroll");
 test_invalid_value("overflow", "no-display, no-content");
 
 test_invalid_value("overflow-x", "none");
--- a/testing/web-platform/tests/css/css-box/parsing/overflow-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/overflow-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing overflow with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-overflow">
 <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>
 test_valid_value("overflow", "visible");
 test_valid_value("overflow", "hidden");
 test_valid_value("overflow", "scroll");
 test_valid_value("overflow", "auto");
 
--- a/testing/web-platform/tests/css/css-box/parsing/padding-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/padding-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing padding with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-padding">
 <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>
 test_invalid_value("padding", "auto");
 test_invalid_value("padding", "available");
 test_invalid_value("padding", "10px border-box");
 test_invalid_value("padding", "calc(2em + 3ex) auto");
 test_invalid_value("padding", "10px 20px 30px 40px 50px");
--- a/testing/web-platform/tests/css/css-box/parsing/padding-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/padding-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing padding with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-padding">
 <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>
 test_valid_value("padding", "10px");
 test_valid_value("padding", "10px 20px 30px 40px");
 test_valid_value("padding", "calc(2em + 3ex)");
 
 test_valid_value("padding-top", "10px");
rename from testing/web-platform/tests/css/css-box/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-box/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-box/parsing/visibility-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/visibility-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing visibility with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-visibility">
 <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>
 test_invalid_value("visibility", "auto");
 test_invalid_value("visibility", "hidden collapse");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-box/parsing/visibility-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/visibility-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing visibility with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-visibility">
 <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>
 test_valid_value("visibility", "visible");
 test_valid_value("visibility", "hidden");
 test_valid_value("visibility", "collapse");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-box/parsing/width-invalid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/width-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing width with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-width">
 <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>
 test_invalid_value("width", "complex");
 test_invalid_value("width", "none");
 
 test_invalid_value("width", "min-content available");
 test_invalid_value("width", "max-content 10px");
--- a/testing/web-platform/tests/css/css-box/parsing/width-valid.html
+++ b/testing/web-platform/tests/css/css-box/parsing/width-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS basic box model: parsing width with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-box-3/#propdef-width">
 <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>
 test_valid_value("width", "auto");
 
 test_valid_value("width", "10px");
 test_valid_value("width", "20%");
 test_valid_value("width", "calc(2em + 3ex)");
--- a/testing/web-platform/tests/css/css-cascade/parsing/all-invalid.html
+++ b/testing/web-platform/tests/css/css-cascade/parsing/all-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Cascading and Inheritance Level 3: parsing all with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-cascade-3/#propdef-all">
 <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>
 test_invalid_value("all", "auto");
 test_invalid_value("all", "none");
 test_invalid_value("all", "filter");
 test_invalid_value("all", "unset inherit");
 test_invalid_value("all", "inherit initial");
--- a/testing/web-platform/tests/css/css-cascade/parsing/all-valid.html
+++ b/testing/web-platform/tests/css/css-cascade/parsing/all-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Cascading and Inheritance Level 3: parsing all with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-cascade-3/#propdef-all">
 <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>
 test_valid_value("all", "initial");
 test_valid_value("all", "inherit");
 test_valid_value("all", "unset");
 </script>
 </body>
rename from testing/web-platform/tests/css/css-cascade/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-cascade/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-color/parsing/color-invalid.html
+++ b/testing/web-platform/tests/css/css-color/parsing/color-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Color Module Level 3: parsing color with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://www.w3.org/TR/css-color-3/#color0">
 <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>
 test_invalid_value("color", "auto");
 test_invalid_value("color", "123");
 test_invalid_value("color", "#12");
 test_invalid_value("color", "#123456789");
 test_invalid_value("color", "rgb");
--- a/testing/web-platform/tests/css/css-color/parsing/color-valid.html
+++ b/testing/web-platform/tests/css/css-color/parsing/color-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Color Module Level 3: parsing color with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://www.w3.org/TR/css-color-3/#color0">
 <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>
 test_valid_value("color", "currentcolor");
 test_valid_value("color", "transparent");
 test_valid_value("color", "red");
 test_valid_value("color", "magenta");
 test_valid_value("color", "#234", "rgb(34, 51, 68)");
--- a/testing/web-platform/tests/css/css-color/parsing/opacity-invalid.html
+++ b/testing/web-platform/tests/css/css-color/parsing/opacity-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS opacity Module Level 3: parsing opacity with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://www.w3.org/TR/css-color-3/#opacity">
 <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>
 test_invalid_value("opacity", "auto");
 test_invalid_value("opacity", "10px");
 test_invalid_value("opacity", "0 1");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-color/parsing/opacity-valid.html
+++ b/testing/web-platform/tests/css/css-color/parsing/opacity-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS opacity Module Level 3: parsing opacity with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://www.w3.org/TR/css-color-3/#opacity">
 <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>
 test_valid_value("opacity", "1");
 test_valid_value("opacity", "0.5");
 test_valid_value("opacity", "0");
 test_valid_value("opacity", "-2");
 test_valid_value("opacity", "3");
rename from testing/web-platform/tests/css/css-color/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-color/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-images/parsing/gradient-position-invalid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/gradient-position-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 3: parsing gradients with invalid position values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-values-4/#typedef-position">
 <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>
 test_invalid_value("background-image", "radial-gradient(at top 0px, red, blue)");
 
 // The following were supported in an earlier version of the spec.
 // https://github.com/w3c/csswg-drafts/issues/2140
 // Deprecated in Blink with support to be removed in M68, around July 2018.
--- a/testing/web-platform/tests/css/css-images/parsing/gradient-position-valid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/gradient-position-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 3: parsing gradients with valid position values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-values-4/#typedef-position">
 <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>
 // Where two values are shown, the first serialization is being used by Blink/Firefox/WebKit and the second by Edge.
 
 test_valid_value("background-image", "radial-gradient(at 10%, red, blue)", ["radial-gradient(at 10% center, red, blue)", "radial-gradient(at 10%, red, blue)"]);
 test_valid_value("background-image", "radial-gradient(at 20% 30px, red, blue)");
 test_valid_value("background-image", "radial-gradient(at 30px center, red, blue)", ["radial-gradient(at 30px center, red, blue)", "radial-gradient(at 30px, red, blue)"]);
--- a/testing/web-platform/tests/css/css-images/parsing/image-orientation-invalid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/image-orientation-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 3: parsing image-orientation with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
 <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>
 test_invalid_value("image-orientation", "auto");
 test_invalid_value("image-orientation", "0");
 test_invalid_value("image-orientation", "0 flip");
 test_invalid_value("image-orientation", "0deg from-image");
 test_invalid_value("image-orientation", "flip 0deg");
--- a/testing/web-platform/tests/css/css-images/parsing/image-orientation-valid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/image-orientation-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 3: parsing image-orientation with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
 <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>
 test_valid_value("image-orientation", "from-image");
 test_valid_value("image-orientation", "none");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-images/parsing/image-rendering-invalid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/image-rendering-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 3: parsing image-rendering with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-rendering">
 <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>
 test_invalid_value("image-rendering", "none");
 test_invalid_value("image-rendering", "high-quality crisp-edges");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-images/parsing/image-rendering-valid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/image-rendering-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 3: parsing image-rendering with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-rendering">
 <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>
 test_valid_value("image-rendering", "auto");
 test_valid_value("image-rendering", "smooth");
 test_valid_value("image-rendering", "high-quality");
 test_valid_value("image-rendering", "crisp-edges");
 test_valid_value("image-rendering", "pixelated");
--- a/testing/web-platform/tests/css/css-images/parsing/image-resolution-invalid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/image-resolution-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 4: parsing image-resolution with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
 <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>
 test_invalid_value("image-resolution", "auto");
 test_invalid_value("image-resolution", "100%");
 test_invalid_value("image-resolution", "2");
 test_invalid_value("image-resolution", "3dpi snap from-image");
 test_invalid_value("image-resolution", "from-image snap 4dppx");
--- a/testing/web-platform/tests/css/css-images/parsing/image-resolution-valid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/image-resolution-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 4: parsing image-resolution with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution">
 <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>
 
 
 
 test_valid_value("image-resolution", "1dpi");
 test_valid_value("image-resolution", "2dpcm from-image");
--- a/testing/web-platform/tests/css/css-images/parsing/object-fit-invalid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/object-fit-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 4: parsing object-fit with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-object-fit">
 <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>
 test_invalid_value("object-fit", "auto");
 test_invalid_value("object-fit", "contain cover");
 test_invalid_value("object-fit", "fill scale-down");
 test_invalid_value("object-fit", "contain fill");
 test_invalid_value("object-fit", "cover none");
--- a/testing/web-platform/tests/css/css-images/parsing/object-fit-valid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/object-fit-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 4: parsing object-fit with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-object-fit">
 <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>
 test_valid_value("object-fit", "contain");
 test_valid_value("object-fit", "contain scale-down");
 test_valid_value("object-fit", "cover");
 test_valid_value("object-fit", "cover scale-down");
 test_valid_value("object-fit", "fill");
--- a/testing/web-platform/tests/css/css-images/parsing/object-position-invalid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/object-position-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 3: parsing object-position with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-object-position">
 <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>
 test_invalid_value("object-position", "auto");
 test_invalid_value("object-position", "1px 2px 3px");
 test_invalid_value("object-position", "left right");
 test_invalid_value("object-position", "bottom 10% top 20%");
 
--- a/testing/web-platform/tests/css/css-images/parsing/object-position-valid.html
+++ b/testing/web-platform/tests/css/css-images/parsing/object-position-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Images Module Level 3: parsing object-position with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-object-position">
 <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>
 // First serialization is being returned by Blink/Firefox/WebKit, second by Edge.
 test_valid_value("object-position", "10%", ["10% center", "10% 50%"]);
 test_valid_value("object-position", "right 30% top 60px"); // "calc(70%) 60px" in Edge.
 test_valid_value("object-position", "20% 30px");
 test_valid_value("object-position", "30px center", ["30px center", "30px 50%"]);
rename from testing/web-platform/tests/css/css-images/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-images/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-masking/parsing/clip-invalid.html
+++ b/testing/web-platform/tests/css/css-masking/parsing/clip-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Masking Module Level 1: parsing clip with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/css-masking-1/#clip-property">
 <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>
 test_invalid_value("clip", "none");
 test_invalid_value("clip", "rect(10px, 20px, 30px)");
 test_invalid_value("clip", "rect(10%, -20%, auto, auto)");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-masking/parsing/clip-path-invalid.html
+++ b/testing/web-platform/tests/css/css-masking/parsing/clip-path-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Masking Module Level 1: parsing clip-path with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-path">
 <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>
 test_invalid_value("clip-path", "auto");
 test_invalid_value("clip-path", "ray(0deg)");
 
 test_invalid_value("clip-path", "inset()");
 test_invalid_value("clip-path", "inset(123)");
--- a/testing/web-platform/tests/css/css-masking/parsing/clip-path-valid.html
+++ b/testing/web-platform/tests/css/css-masking/parsing/clip-path-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Masking Module Level 1: parsing clip-path with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-path">
 <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>
 test_valid_value("clip-path", "none");
 
 // <basic-shape>
 test_valid_value("clip-path", "inset(100%)");
 test_valid_value("clip-path", "inset(0 1px)", "inset(0px 1px)");
--- a/testing/web-platform/tests/css/css-masking/parsing/clip-rule-invalid.html
+++ b/testing/web-platform/tests/css/css-masking/parsing/clip-rule-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Masking Module Level 1: parsing clip-rule with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-rule">
 <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>
 test_invalid_value("clip-rule", "auto");
 test_invalid_value("clip-rule", "1");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-masking/parsing/clip-rule-valid.html
+++ b/testing/web-platform/tests/css/css-masking/parsing/clip-rule-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Masking Module Level 1: parsing clip-rule with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-rule">
 <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>
 test_valid_value("clip-rule", "nonzero");
 test_valid_value("clip-rule", "evenodd");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-masking/parsing/clip-valid.html
+++ b/testing/web-platform/tests/css/css-masking/parsing/clip-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Masking Module Level 1: parsing clip with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/css-masking-1/#clip-property">
 <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>
 test_valid_value("clip", "auto");
 test_valid_value("clip", "rect(10px, 20px, -30px, 40px)", ["rect(10px, 20px, -30px, 40px)", "rect(10px 20px -30px 40px)"]);
 test_valid_value("clip", "rect(10px, -20px, auto, auto)", ["rect(10px, -20px, auto, auto)", "rect(10px -20px auto auto)"]);
 </script>
 </body>
rename from testing/web-platform/tests/css/css-masking/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-masking/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-shapes/parsing/shape-image-threshold-invalid.html
+++ b/testing/web-platform/tests/css/css-shapes/parsing/shape-image-threshold-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Shapes Module Level 1: parsing shape-image-threshold with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-shapes/#shape-image-threshold-property">
 <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>
 test_invalid_value("shape-image-threshold", "auto");
 test_invalid_value("shape-image-threshold", "10px");
 test_invalid_value("shape-image-threshold", "100%");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-shapes/parsing/shape-image-threshold-valid.html
+++ b/testing/web-platform/tests/css/css-shapes/parsing/shape-image-threshold-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Shapes Module Level 1: parsing shape-image-threshold with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-shapes/#shape-image-threshold-property">
 <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>
 test_valid_value("shape-image-threshold", "12.5");
 test_valid_value("shape-image-threshold", "-7");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-shapes/parsing/shape-margin-invalid.html
+++ b/testing/web-platform/tests/css/css-shapes/parsing/shape-margin-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Shapes Module Level 1: parsing shape-margin with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-shapes/#shape-margin-property">
 <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>
 test_invalid_value("shape-margin", "none");
 test_invalid_value("shape-margin", "10");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-shapes/parsing/shape-margin-valid.html
+++ b/testing/web-platform/tests/css/css-shapes/parsing/shape-margin-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Shapes Module Level 1: parsing shape-margin with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-shapes/#shape-margin-property">
 <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>
 test_valid_value("shape-margin", "0", "0px");
 test_valid_value("shape-margin", "10px");
 test_valid_value("shape-margin", "20em");
 test_valid_value("shape-margin", "37.5%");
 </script>
--- a/testing/web-platform/tests/css/css-shapes/parsing/shape-outside-invalid-position.html
+++ b/testing/web-platform/tests/css/css-shapes/parsing/shape-outside-invalid-position.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Shapes Module Level 1: parsing shape-outside with invalid position values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-values-4/#typedef-position">
 <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>
 // The following were supported in an earlier version of the spec.
 // https://github.com/w3c/csswg-drafts/issues/2140
 test_invalid_value("shape-outside", "circle(at center left 1px)");
 test_invalid_value("shape-outside", "circle(at center top 2px)");
 test_invalid_value("shape-outside", "circle(at right 3% center)");
--- a/testing/web-platform/tests/css/css-shapes/parsing/shape-outside-invalid.html
+++ b/testing/web-platform/tests/css/css-shapes/parsing/shape-outside-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Shapes Module Level 1: parsing shape-outside with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-shapes/#shape-outside-property">
 <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>
 test_invalid_value("shape-outside", "auto");
 test_invalid_value("shape-outside", "ray(0deg)");
 
 test_invalid_value("shape-outside", "inset()");
 test_invalid_value("shape-outside", "inset(123)");
--- a/testing/web-platform/tests/css/css-shapes/parsing/shape-outside-valid-position.html
+++ b/testing/web-platform/tests/css/css-shapes/parsing/shape-outside-valid-position.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Shapes Module Level 1: parsing shape-outside with valid position values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-values-4/#typedef-position">
 <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>
 // First serialization is being returned by Firefox/Edge, second by Blink/WebKit.
 test_valid_value("shape-outside", "circle(at 10%)", ["circle(at 10%)", "circle(at 10% 50%)"]);
 test_valid_value("shape-outside", "circle(at 20% 30px)");
 test_valid_value("shape-outside", "circle(at 30px center)", ["circle(at 30px center)", "circle(at 30px 50%)"]);
 test_valid_value("shape-outside", "circle(at 40px top)", ["circle(at 40px top)", "circle(at 40px 0%)"]);
--- a/testing/web-platform/tests/css/css-shapes/parsing/shape-outside-valid.html
+++ b/testing/web-platform/tests/css/css-shapes/parsing/shape-outside-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Shapes Module Level 1: parsing shape-outside with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-shapes/#shape-outside-property">
 <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>
 test_valid_value("shape-outside", "none");
 
 // <basic-shape>
 test_valid_value("shape-outside", "inset(100%)");
 test_valid_value("shape-outside", "inset(0 1px)", "inset(0px 1px)");
rename from testing/web-platform/tests/css/css-shapes/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-shapes/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-transforms/parsing/perspective-origin-parsing-invalid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/perspective-origin-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing perspective-origin with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#perspective-origin-property">
 <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>
 test_invalid_value("perspective-origin", "auto");
 test_invalid_value("perspective-origin", "1px 2px 3px");
 test_invalid_value("perspective-origin", "left right");
 test_invalid_value("perspective-origin", "bottom 10% top 20%");
 
--- a/testing/web-platform/tests/css/css-transforms/parsing/perspective-origin-parsing-valid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/perspective-origin-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing perspective-origin with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#perspective-origin-property">
 <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>
 // Blink and WebKit append center. Edge and Firefox append 50%
 test_valid_value("perspective-origin", "10%", ["10% center", "10% 50%"]);
 test_valid_value("perspective-origin", "20% 30px");
 test_valid_value("perspective-origin", "30px center");
 test_valid_value("perspective-origin", "40px top");
--- a/testing/web-platform/tests/css/css-transforms/parsing/rotate-parsing-invalid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/rotate-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing rotate with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#propdef-rotate">
 <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>
 test_invalid_value("rotate", "100px");
 
 test_invalid_value("rotate", "100 400deg");
 test_invalid_value("rotate", "100 200 400deg");
 test_invalid_value("rotate", "100 200 300 500 400deg");
--- a/testing/web-platform/tests/css/css-transforms/parsing/rotate-parsing-valid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/rotate-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing rotate with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#propdef-rotate">
 <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>
 test_valid_value("rotate", "none");
 
 test_valid_value("rotate", "0deg");
 
 test_valid_value("rotate", "100 200 300 400grad");
--- a/testing/web-platform/tests/css/css-transforms/parsing/scale-parsing-invalid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/scale-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing scale with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#propdef-scale">
 <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>
 test_invalid_value("scale", "100px");
 
 test_invalid_value("scale", "100 200 300 400");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-transforms/parsing/scale-parsing-valid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/scale-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing scale with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#propdef-scale">
 <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>
 test_valid_value("scale", "none");
 
 test_valid_value("scale", "1");
 
 test_valid_value("scale", "100 200");
rename from testing/web-platform/tests/css/css-transforms/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-transforms/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-transforms/parsing/transform-box-invalid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/transform-box-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 1: parsing transform-box with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms/#transform-box-property">
 <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>
 test_invalid_value("transform-box", "margin-box");
 test_invalid_value("transform-box", "padding-box");
 test_invalid_value("transform-box", "fill-box view-box");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-transforms/parsing/transform-box-valid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/transform-box-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 1: parsing transform-box with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms/#transform-box-property">
 <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>
 test_valid_value("transform-box", "content-box");
 test_valid_value("transform-box", "border-box");
 test_valid_value("transform-box", "fill-box");
 test_valid_value("transform-box", "stroke-box");
 test_valid_value("transform-box", "view-box");
--- a/testing/web-platform/tests/css/css-transforms/parsing/transform-invalid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/transform-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing transform with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#transform-property">
 <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>
 test_invalid_value("transform", "none scale(2)");
 test_invalid_value("transform", "translateX(3%) none");
 
 test_invalid_value("transform", "matrix(1, 2)");
 
--- a/testing/web-platform/tests/css/css-transforms/parsing/transform-origin-invalid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/transform-origin-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 1: parsing transform-origin with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms/#transform-origin-property">
 <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>
 test_invalid_value("transform-origin", "1px 2px 3%");
 test_invalid_value("transform-origin", "1px 2px left");
 test_invalid_value("transform-origin", "1px 2px 3px 4px");
 test_invalid_value("transform-origin", "1px left");
 test_invalid_value("transform-origin", "top 1px"); // Blink fails.
--- a/testing/web-platform/tests/css/css-transforms/parsing/transform-origin-valid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/transform-origin-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 1: parsing transform-origin with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms/#transform-origin-property">
 <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>
 test_valid_value("transform-origin", "left", ["left center 0px", "left 50% 0px", "left center"]);
 test_valid_value("transform-origin", "center", ["center center 0px", "center 50% 0px", "center center"]);
 test_valid_value("transform-origin", "right", ["right center 0px", "right 50% 0px", "right center"]);
 test_valid_value("transform-origin", "top", ["center top 0px", "50% top 0px", "center top"]);
 test_valid_value("transform-origin", "bottom", ["center bottom 0px", "50% bottom 0px", "center bottom"]);
--- a/testing/web-platform/tests/css/css-transforms/parsing/transform-valid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/transform-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing transform with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#transform-property">
 <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>
 test_valid_value("transform", "none");
 
 test_valid_value("transform", "matrix(1, 0, 0, 1, 0, 0)");
 test_valid_value("transform", "matrix(1, 2, 3, 4, 5, 6)");
 test_valid_value("transform", "matrix(-0.1, -0.2, -0.3, -0.4, -0.5, -0.6)");
--- a/testing/web-platform/tests/css/css-transforms/parsing/translate-parsing-invalid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/translate-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing translate with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#propdef-translate">
 <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>
 test_invalid_value("translate", "100deg");
 
 test_invalid_value("translate", "100px 200px 300%");
 test_invalid_value("translate", "100px 200px calc(30px + 30%)");
 </script>
--- a/testing/web-platform/tests/css/css-transforms/parsing/translate-parsing-valid.html
+++ b/testing/web-platform/tests/css/css-transforms/parsing/translate-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Transform Module Level 2: parsing translate with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#propdef-translate">
 <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>
 test_valid_value("translate", "none");
 
 test_valid_value("translate", "0px");
 test_valid_value("translate", "100%");
 
--- a/testing/web-platform/tests/css/css-ui/parsing/box-sizing-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/box-sizing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing box-sizing with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#box-sizing">
 <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>
 test_invalid_value("box-sizing", "auto");
 test_invalid_value("box-sizing", "content-box border-box");
 test_invalid_value("box-sizing", "fill-box");
 test_invalid_value("box-sizing", "margin-box");
 test_invalid_value("box-sizing", "padding-box");
--- a/testing/web-platform/tests/css/css-ui/parsing/box-sizing-valid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/box-sizing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing box-sizing with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#box-sizing">
 <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>
 test_valid_value("box-sizing", "content-box");
 test_valid_value("box-sizing", "border-box");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-ui/parsing/caret-color-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/caret-color-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing caret-color with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#caret-color">
 <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>
 test_invalid_value("caret-color", "none");
 test_invalid_value("caret-color", "invert");
 test_invalid_value("caret-color", "50%");
 test_invalid_value("caret-color", "red green");
 </script>
--- a/testing/web-platform/tests/css/css-ui/parsing/caret-color-valid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/caret-color-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing caret-color with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#caret-color">
 <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>
 test_valid_value("caret-color", "auto");
 test_valid_value("caret-color", "rgba(10, 20, 30, 0.4)");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-ui/parsing/cursor-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/cursor-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing cursor with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#cursor">
 <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>
 test_invalid_value("cursor", "en-resize");
 test_invalid_value("cursor", 'url("https://example.com/") alias');
 test_invalid_value("cursor", '1 2 url("https://example.com/"), copy');
 test_invalid_value("cursor", 'url("https://example.com/"), url("https://example.com/") 3, move');
 
--- a/testing/web-platform/tests/css/css-ui/parsing/cursor-valid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/cursor-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing cursor with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#cursor">
 <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>
 test_valid_value("cursor", "auto");
 test_valid_value("cursor", "default");
 test_valid_value("cursor", "none");
 test_valid_value("cursor", "context-menu");
 test_valid_value("cursor", "help");
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-color-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-color-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing outline-color with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline-color">
 <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>
 test_invalid_value("outline-color", "auto");
 test_invalid_value("outline-color", "none");
 test_invalid_value("outline-color", "50%");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-color-valid-mandatory.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-color-valid-mandatory.html
@@ -3,16 +3,16 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing outline-color with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline-color">
 <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>
 test_valid_value("outline-color", "rgba(10, 20, 30, 0.4)");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-color-valid-optional.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-color-valid-optional.html
@@ -4,17 +4,17 @@
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing outline-color with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline-color">
 <meta name="assert" content="outline-color supports 'invert'.">
 <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>
 // Conformant UAs may ignore the invert value on platforms that do not support color inversion of the pixels on the screen.
 test_valid_value("outline-color", "invert");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing outline with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline">
 <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>
 test_invalid_value("outline", "invert solid rgba(10, 20, 30, 0.4)");
 test_invalid_value("outline", "double invert groove");
 test_invalid_value("outline", "thin outset thick");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-offset-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-offset-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing outline-offset with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline-offset">
 <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>
 test_invalid_value("outline-offset", "auto");
 test_invalid_value("outline-offset", "1%");
 test_invalid_value("outline-offset", "2px 3px");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-offset-valid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-offset-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing outline-offset with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline-offset">
 <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>
 test_valid_value("outline-offset", "0", "0px");
 test_valid_value("outline-offset", "1px");
 test_valid_value("outline-offset", "2em");
 test_valid_value("outline-offset", "calc(3rem + 4vw)");
 </script>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-style-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-style-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 4: parsing outline-style with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui/#outline-style">
 <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>
 test_invalid_value("outline-style", "hidden");
 test_invalid_value("outline-style", "dotted dashed");
 test_invalid_value("outline-style", "solid double groove ridge");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-style-valid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-style-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 4: parsing outline-style with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui/#outline-style">
 <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>
 test_valid_value("outline-style", "auto");
 test_valid_value("outline-style", "none");
 test_valid_value("outline-style", "dotted");
 test_valid_value("outline-style", "dashed");
 test_valid_value("outline-style", "solid");
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-valid-mandatory.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-valid-mandatory.html
@@ -4,17 +4,17 @@
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing outline with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline">
 <link rel="help" href="https://drafts.csswg.org/cssom/#serializing-css-values">
 <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>
 test_valid_value("outline", "rgba(10, 20, 30, 0.4)");
 
 test_valid_value("outline", "auto");
 test_valid_value("outline", "none"); // Edge serializes as "invert"
 test_valid_value("outline", "dotted");
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-valid-optional.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-valid-optional.html
@@ -6,17 +6,17 @@
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline">
 <link rel="help" href="https://drafts.csswg.org/cssom/#serializing-css-values">
 <meta name="assert" content="outline supports the full grammar '<outline-color> || <outline> || <outline>'.">
 <meta name="assert" content="outline serializes in canonical order, with shortest possible serialization.">
 <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>
 // Conformant UAs may ignore the invert value on platforms that do not support color inversion of the pixels on the screen.
 test_valid_value("outline", "invert");
 test_valid_value("outline", "invert dotted 1px");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-width-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-width-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 4: parsing outline-width with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui/#outline-width">
 <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>
 test_invalid_value("outline-width", "auto");
 test_invalid_value("outline-width", "1%");
 test_invalid_value("outline-width", "thin medium thick medium thin");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-ui/parsing/outline-width-valid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/outline-width-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 4: parsing outline-width with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui/#outline-width">
 <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>
 test_valid_value("outline-width", "0", "0px");
 test_valid_value("outline-width", "1px");
 test_valid_value("outline-width", "2em");
 test_valid_value("outline-width", "calc(2em + 3ex)");
 test_valid_value("outline-width", "thin");
--- a/testing/web-platform/tests/css/css-ui/parsing/resize-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/resize-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing resize with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#resize">
 <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>
 test_invalid_value("resize", "auto");
 test_invalid_value("resize", "horizontal vertical");
 test_invalid_value("resize", "both 0");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-ui/parsing/resize-valid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/resize-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing resize with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#resize">
 <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>
 test_valid_value("resize", "none");
 test_valid_value("resize", "both");
 test_valid_value("resize", "horizontal");
 test_valid_value("resize", "vertical");
 </script>
rename from testing/web-platform/tests/css/css-ui/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-ui/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-ui/parsing/text-overflow-invalid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/text-overflow-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing text-overflow with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#text-overflow">
 <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>
 test_invalid_value("text-overflow", "auto");
 test_invalid_value("text-overflow", "clip ellipsis clip");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-ui/parsing/text-overflow-valid.html
+++ b/testing/web-platform/tests/css/css-ui/parsing/text-overflow-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS UI Level 3: parsing text-overflow with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-ui-3/#text-overflow">
 <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>
 test_valid_value("text-overflow", "clip");
 test_valid_value("text-overflow", "ellipsis");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/direction-invalid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/direction-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing direction with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-direction">
 <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>
 test_invalid_value("direction", "auto");
 test_invalid_value("direction", "ltr rtl");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/direction-valid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/direction-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing direction with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-direction">
 <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>
 test_valid_value("direction", "ltr");
 test_valid_value("direction", "rtl");
 </script>
 </body>
 </html>
rename from testing/web-platform/tests/css/css-writing-modes/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/css-writing-modes/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing text-combine-upright with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-text-combine-upright">
 <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>
 test_invalid_value("text-combine-upright", "auto");
 test_invalid_value("text-combine-upright", "none all");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/text-combine-upright-valid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/text-combine-upright-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing text-combine-upright with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-text-combine-upright">
 <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>
 test_valid_value("text-combine-upright", "none");
 test_valid_value("text-combine-upright", "all");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/text-orientation-invalid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/text-orientation-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing text-orientation with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-text-orientation">
 <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>
 test_invalid_value("text-orientation", "auto");
 test_invalid_value("text-orientation", "mixed upright");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/text-orientation-valid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/text-orientation-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing text-orientation with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-text-orientation">
 <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>
 test_valid_value("text-orientation", "mixed");
 test_valid_value("text-orientation", "upright");
 test_valid_value("text-orientation", "sideways");
 </script>
 </body>
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing unicode-bidi with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-unicode-bidi">
 <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>
 test_invalid_value("unicode-bidi", "auto");
 test_invalid_value("unicode-bidi", "isolate plaintext");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/unicode-bidi-valid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/unicode-bidi-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing unicode-bidi with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-unicode-bidi">
 <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>
 test_valid_value("unicode-bidi", "normal");
 test_valid_value("unicode-bidi", "embed");
 test_valid_value("unicode-bidi", "isolate");
 test_valid_value("unicode-bidi", "bidi-override");
 test_valid_value("unicode-bidi", "isolate-override");
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/writing-mode-invalid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/writing-mode-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing writing-mode with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-writing-mode">
 <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>
 test_invalid_value("writing-mode", "auto");
 test_invalid_value("writing-mode", "horizontal-tb vertical-rl");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/css-writing-modes/parsing/writing-mode-valid.html
+++ b/testing/web-platform/tests/css/css-writing-modes/parsing/writing-mode-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>CSS Writing Modes Level 3: parsing writing-mode with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#propdef-writing-mode">
 <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>
 test_valid_value("writing-mode", "horizontal-tb");
 test_valid_value("writing-mode", "vertical-rl");
 test_valid_value("writing-mode", "vertical-lr");
 </script>
 </body>
--- a/testing/web-platform/tests/css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html
+++ b/testing/web-platform/tests/css/filter-effects/parsing/color-interpolation-filters-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Filter Effects Module Level 1: parsing color-interpolation-filters with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/filter-effects/#ColorInterpolationFiltersProperty">
 <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>
 test_invalid_value("color-interpolation-filters", "none");
 test_invalid_value("color-interpolation-filters", "linearRGB sRGB");
 test_invalid_value("color-interpolation-filters", "auto sRGB linearRGB");
 </script>
 </body>
--- a/testing/web-platform/tests/css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html
+++ b/testing/web-platform/tests/css/filter-effects/parsing/color-interpolation-filters-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Filter Effects Module Level 1: parsing color-interpolation-filters with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/filter-effects/#ColorInterpolationFiltersProperty">
 <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>
 test_valid_value("color-interpolation-filters", "auto");
 
 // Blink serializes these keywords as mixed case. Firefox serializes as lowercase.
 test_valid_value("color-interpolation-filters", "sRGB", ["sRGB", "srgb"]);
 test_valid_value("color-interpolation-filters", "srgb", ["sRGB", "srgb"]);
--- a/testing/web-platform/tests/css/filter-effects/parsing/filter-parsing-invalid.html
+++ b/testing/web-platform/tests/css/filter-effects/parsing/filter-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Filter Effects Module Level 1: parsing filter with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/filter-effects/#FilterProperty">
 <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>
 // Edge fails: expected "" but got "none"
 
 test_invalid_value("filter", "auto");
 test_invalid_value("filter", "none hue-rotate(0deg)");
 
--- a/testing/web-platform/tests/css/filter-effects/parsing/filter-parsing-valid.html
+++ b/testing/web-platform/tests/css/filter-effects/parsing/filter-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Filter Effects Module Level 1: parsing filter with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/filter-effects/#FilterProperty">
 <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>
 test_valid_value("filter", "none");
 
 test_valid_value("filter", "blur(100px)");
 test_valid_value("filter", "blur(0)", "blur(0px)");
 
--- a/testing/web-platform/tests/css/filter-effects/parsing/lighting-color-parsing-invalid.html
+++ b/testing/web-platform/tests/css/filter-effects/parsing/lighting-color-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Filter Effects Module Level 1: parsing lighting-color with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/filter-effects/#LightingColorProperty">
 <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>
 test_invalid_value("lighting-color", "auto");
 test_invalid_value("lighting-color", "none");
 test_invalid_value("lighting-color", "#a");
 </script>
 </body>
--- a/testing/web-platform/tests/css/filter-effects/parsing/lighting-color-parsing-valid.html
+++ b/testing/web-platform/tests/css/filter-effects/parsing/lighting-color-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Filter Effects Module Level 1: parsing lighting-color with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/filter-effects/#LightingColorProperty">
 <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>
 test_valid_value("lighting-color", "rgb(1,2,3)", "rgb(1, 2, 3)");
 test_valid_value("lighting-color", "#102030", "rgb(16, 32, 48)");
 test_valid_value("lighting-color", "rgba(1, 2, 3, 0.5)");
 
 test_valid_value("lighting-color", "currentColor", "currentcolor");
rename from testing/web-platform/tests/css/filter-effects/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/filter-effects/parsing/support/parsing-testcommon.js
--- a/testing/web-platform/tests/css/motion/parsing/offset-anchor-parsing-invalid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-anchor-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-anchor with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-anchor-property">
 <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>
 test_invalid_value("offset-anchor", "none");
 test_invalid_value("offset-anchor", "30deg");
 test_invalid_value("offset-anchor", "left 10% top");
 </script>
 </body>
--- a/testing/web-platform/tests/css/motion/parsing/offset-anchor-parsing-valid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-anchor-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-anchor with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-anchor-property">
 <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>
 test_valid_value("offset-anchor", "auto");
 
 test_valid_value("offset-anchor", "left bottom");
 test_valid_value("offset-anchor", "center center");
 test_valid_value("offset-anchor", "right center");
--- a/testing/web-platform/tests/css/motion/parsing/offset-distance-parsing-invalid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-distance-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-distance with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-distance-property">
 <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>
 test_invalid_value("offset-distance", "none");
 test_invalid_value("offset-distance", "30deg");
 </script>
 </body>
 </html>
--- a/testing/web-platform/tests/css/motion/parsing/offset-distance-parsing-valid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-distance-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-distance with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-distance-property">
 <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>
 test_valid_value("offset-distance", "10px");
 test_valid_value("offset-distance", "20%");
 test_valid_value("offset-distance", "calc(30px + 40%)");
 test_valid_value("offset-distance", "0", "0px");
 </script>
--- a/testing/web-platform/tests/css/motion/parsing/offset-parsing-invalid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-shorthand">
 <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>
 test_invalid_value("offset", "100px 0deg path('m 0 0 h 100')");
 test_invalid_value("offset", "30deg path('M 20 30 A 60 70 80')");
 test_invalid_value("offset", "30deg");
 test_invalid_value("offset", "auto 30deg 90px");
 test_invalid_value("offset", "none / 10px 20px 30deg");
--- a/testing/web-platform/tests/css/motion/parsing/offset-parsing-valid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-shorthand">
 <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>
 test_valid_value("offset", "100px none auto 90deg", "100px center none auto 90deg");
 test_valid_value("offset", "100px", "100px center");
 test_valid_value("offset", "auto none reverse");
 test_valid_value("offset", "auto");
 test_valid_value("offset", "center bottom path('M 1 2 V 3 Z')");
--- a/testing/web-platform/tests/css/motion/parsing/offset-path-parsing-invalid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-path-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-path with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-path-property">
 <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>
 // arc path segments must have at least 7 arguments.
 // https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands
 test_invalid_value("offset-path", 'path("M 20 30 A 60 70 80")');
 
 test_invalid_value("offset-path", "ray(0 sides)");
--- a/testing/web-platform/tests/css/motion/parsing/offset-path-parsing-valid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-path-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-path with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-path-property">
 <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>
 test_valid_value("offset-path", "none");
 
 test_valid_value("offset-path", "ray(0rad closest-side)");
 test_valid_value("offset-path", "ray(0.25turn closest-corner contain)");
 test_valid_value("offset-path", "ray(200grad farthest-side)");
--- a/testing/web-platform/tests/css/motion/parsing/offset-position-parsing-invalid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-position-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-position with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-position-property">
 <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>
 test_invalid_value("offset-position", "none");
 test_invalid_value("offset-position", "30deg");
 test_invalid_value("offset-position", "left 10% top");
 </script>
 </body>
--- a/testing/web-platform/tests/css/motion/parsing/offset-position-parsing-valid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-position-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-position with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-position-property">
 <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>
 test_valid_value("offset-position", "auto");
 
 test_valid_value("offset-position", "left bottom");
 test_valid_value("offset-position", "center center");
 test_valid_value("offset-position", "right center");
--- a/testing/web-platform/tests/css/motion/parsing/offset-rotate-parsing-invalid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-rotate-parsing-invalid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-rotate with invalid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-rotate-property">
 <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>
 test_invalid_value("offset-rotate", "none");
 test_invalid_value("offset-rotate", "0");
 test_invalid_value("offset-rotate", "auto reverse");
 test_invalid_value("offset-rotate", "reverse 30deg auto");
 </script>
--- a/testing/web-platform/tests/css/motion/parsing/offset-rotate-parsing-valid.html
+++ b/testing/web-platform/tests/css/motion/parsing/offset-rotate-parsing-valid.html
@@ -3,17 +3,17 @@
 <head>
 <meta charset="utf-8">
 <title>Motion Path Module Level 1: parsing offset-rotate with valid values</title>
 <link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
 <link rel="help" href="https://drafts.fxtf.org/motion-1/#offset-rotate-property">
 <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>
 test_valid_value("offset-rotate", "auto");
 test_valid_value("offset-rotate", "reverse");
 test_valid_value("offset-rotate", "-400deg");
 test_valid_value("offset-rotate", "auto 5turn");
 test_valid_value("offset-rotate", "reverse 0rad");
rename from testing/web-platform/tests/css/motion/support/parsing-testcommon.js
rename to testing/web-platform/tests/css/motion/parsing/support/parsing-testcommon.js
deleted file mode 100644
--- a/testing/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");
-}