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 831108 3b8c694e236d187cdee3049fea01f0551dd0b4ac
parent 831107 c20e7de28c1e4e6cea625478a4b67e1ca84e87ee
child 831109 1c10a2029f46ba8e2cb9b3430e2e2c17a3f4473b
push id118868
push userbmo:zjz@zjz.name
push dateFri, 24 Aug 2018 07:04:39 +0000
reviewerstestonly
bugs1484138, 12541, 12465, 12419
milestone63.0a1
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");
-}