Update web-platform-tests to revision 28300a0874230d668f0b02cfddfd994f2a735a56

This commit is contained in:
WPT Sync Bot 2018-03-12 21:18:12 -04:00
parent 087cf21d79
commit aa8de380cc
133 changed files with 1747 additions and 432 deletions

View file

@ -1,16 +1,17 @@
[createImageBitmap-drawImage.html] [createImageBitmap-drawImage.html]
type: testharness type: testharness
expected: TIMEOUT
[createImageBitmap from a HTMLImageElement, and drawImage on the created ImageBitmap] [createImageBitmap from a HTMLImageElement, and drawImage on the created ImageBitmap]
expected: FAIL expected: FAIL
[createImageBitmap from a Blob, and drawImage on the created ImageBitmap] [createImageBitmap from a Blob, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from a HTMLCanvasElement, and drawImage on the created ImageBitmap] [createImageBitmap from a HTMLCanvasElement, and drawImage on the created ImageBitmap]
expected: FAIL expected: FAIL
[createImageBitmap from an ImageBitmap, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageBitmap, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from an ImageData, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageData, and drawImage on the created ImageBitmap]
expected: FAIL expected: FAIL
@ -43,13 +44,13 @@
expected: FAIL expected: FAIL
[createImageBitmap from an ImageData with negative sw/sh, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageData with negative sw/sh, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from an ImageBitmap with negative sw/sh, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageBitmap with negative sw/sh, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from a Blob with negative sw/sh, and drawImage on the created ImageBitmap] [createImageBitmap from a Blob with negative sw/sh, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from a bitmap HTMLImageElement, and drawImage on the created ImageBitmap] [createImageBitmap from a bitmap HTMLImageElement, and drawImage on the created ImageBitmap]
expected: FAIL expected: FAIL
@ -157,26 +158,26 @@
expected: FAIL expected: FAIL
[createImageBitmap from an ImageData scaled up, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageData scaled up, and drawImage on the created ImageBitmap]
expected: FAIL expected: TIMEOUT
[createImageBitmap from an ImageData resized, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageData resized, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from an ImageBitmap scaled down, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageBitmap scaled down, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from an ImageBitmap scaled up, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageBitmap scaled up, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from an ImageBitmap resized, and drawImage on the created ImageBitmap] [createImageBitmap from an ImageBitmap resized, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from a Blob scaled down, and drawImage on the created ImageBitmap] [createImageBitmap from a Blob scaled down, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from a Blob scaled up, and drawImage on the created ImageBitmap] [createImageBitmap from a Blob scaled up, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN
[createImageBitmap from a Blob resized, and drawImage on the created ImageBitmap] [createImageBitmap from a Blob resized, and drawImage on the created ImageBitmap]
expected: FAIL expected: NOTRUN

View file

@ -264933,16 +264933,6 @@
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/aqua-yellow-32x32.png": [
[
{}
]
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/aqua-yellow-37x37.png": [
[
{}
]
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-attachment-fixed-inside-transform-1-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-attachment-fixed-inside-transform-1-ref.html": [
[ [
{} {}
@ -265068,62 +265058,72 @@
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border.png": [
[
{}
]
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-bl.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/aqua-yellow-32x32.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-bo.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/aqua-yellow-37x37.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-br.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/border.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-ct.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-bl.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-le.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-bo.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-ri.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-br.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-tl.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-ct.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-to.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-le.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-tr.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-ri.png": [
[ [
{} {}
] ]
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-tl.png": [
[
{}
]
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-to.png": [
[
{}
]
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-tr.png": [
[
{}
]
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule.png": [
[ [
{} {}
] ]
@ -281923,6 +281923,11 @@
{} {}
] ]
], ],
"html/semantics/embedded-content/the-iframe-element/support/iframe-that-opens-modals.html": [
[
{}
]
],
"html/semantics/embedded-content/the-iframe-element/support/iframe-that-performs-top-navigation-on-popup.html": [ "html/semantics/embedded-content/the-iframe-element/support/iframe-that-performs-top-navigation-on-popup.html": [
[ [
{} {}
@ -282068,6 +282073,11 @@
{} {}
] ]
], ],
"html/semantics/embedded-content/the-iframe-element/support/iframe_sandbox_block_modals.js": [
[
{}
]
],
"html/semantics/embedded-content/the-iframe-element/support/navigation-changed-iframe.html": [ "html/semantics/embedded-content/the-iframe-element/support/navigation-changed-iframe.html": [
[ [
{} {}
@ -313691,6 +313701,54 @@
{} {}
] ]
], ],
"css/css-properties-values-api/register-property-syntax-parsing.html": [
[
"/css/css-properties-values-api/register-property-syntax-parsing.html",
{}
]
],
"css/css-properties-values-api/register-property.html": [
[
"/css/css-properties-values-api/register-property.html",
{}
]
],
"css/css-properties-values-api/registered-properties-inheritance.html": [
[
"/css/css-properties-values-api/registered-properties-inheritance.html",
{}
]
],
"css/css-properties-values-api/registered-property-computation.html": [
[
"/css/css-properties-values-api/registered-property-computation.html",
{}
]
],
"css/css-properties-values-api/registered-property-cssom.html": [
[
"/css/css-properties-values-api/registered-property-cssom.html",
{}
]
],
"css/css-properties-values-api/registered-property-initial.html": [
[
"/css/css-properties-values-api/registered-property-initial.html",
{}
]
],
"css/css-properties-values-api/var-reference-registered-properties-cycles.html": [
[
"/css/css-properties-values-api/var-reference-registered-properties-cycles.html",
{}
]
],
"css/css-properties-values-api/var-reference-registered-properties.html": [
[
"/css/css-properties-values-api/var-reference-registered-properties.html",
{}
]
],
"css/css-pseudo/first-letter-property-whitelist.html": [ "css/css-pseudo/first-letter-property-whitelist.html": [
[ [
"/css/css-pseudo/first-letter-property-whitelist.html", "/css/css-pseudo/first-letter-property-whitelist.html",
@ -324817,6 +324875,12 @@
{} {}
] ]
], ],
"fetch/api/response/response-error-from-stream.html": [
[
"/fetch/api/response/response-error-from-stream.html",
{}
]
],
"fetch/api/response/response-error.html": [ "fetch/api/response/response-error.html": [
[ [
"/fetch/api/response/response-error.html", "/fetch/api/response/response-error.html",
@ -331683,6 +331747,30 @@
{} {}
] ]
], ],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-1.html": [
[
"/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-1.html",
{}
]
],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-2.html": [
[
"/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-2.html",
{}
]
],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-3.html": [
[
"/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-3.html",
{}
]
],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-4.html": [
[
"/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-4.html",
{}
]
],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html": [ "html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html": [
[ [
"/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html", "/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html",
@ -390465,7 +390553,7 @@
"support" "support"
], ],
"./.travis.yml": [ "./.travis.yml": [
"7e96c68c023309a8d50f572a9b2bc892b523358b", "db5838d29eefceadbb7f088f7de75d765dbaa58c",
"support" "support"
], ],
"./CONTRIBUTING.md": [ "./CONTRIBUTING.md": [
@ -390493,7 +390581,7 @@
"support" "support"
], ],
"./lint.whitelist": [ "./lint.whitelist": [
"f99ce1b3cf312caac08a8a8bb6a970ba00e28160", "82fc9107178a6f9aef6c978ad51afe2370c92de1",
"support" "support"
], ],
"./serve.py": [ "./serve.py": [
@ -400445,7 +400533,7 @@
"testharness" "testharness"
], ],
"bluetooth/characteristic/getDescriptor/gen-characteristic-is-removed.https.html": [ "bluetooth/characteristic/getDescriptor/gen-characteristic-is-removed.https.html": [
"df68f7bf4028cf7d2f32bb291a008d562eac3cad", "6ba1c71fa5c34f7b0321b5430fa79c75c907fc14",
"testharness" "testharness"
], ],
"bluetooth/characteristic/getDescriptor/gen-descriptor-get-same-object.https.html": [ "bluetooth/characteristic/getDescriptor/gen-descriptor-get-same-object.https.html": [
@ -400453,15 +400541,15 @@
"testharness" "testharness"
], ],
"bluetooth/characteristic/getDescriptor/gen-service-is-removed.https.html": [ "bluetooth/characteristic/getDescriptor/gen-service-is-removed.https.html": [
"ba4c6477eaa5978599e7c77d3227bc63fe6b5a3f", "80c7782e7c2bba33e43d2661a3ba0d069b49e727",
"testharness" "testharness"
], ],
"bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed-with-uuid.https.html": [ "bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed-with-uuid.https.html": [
"ae775a150cda67893dcace79396468134b5b8a60", "fa068af0ac6d1629622f207b77ae95fe3f50b6cc",
"testharness" "testharness"
], ],
"bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed.https.html": [ "bluetooth/characteristic/getDescriptors/gen-characteristic-is-removed.https.html": [
"64c51958f8d520e9608e695ddf0115f460081f2f", "82084e965ad35f176505631cb0b9007422bf3fd4",
"testharness" "testharness"
], ],
"bluetooth/characteristic/getDescriptors/gen-descriptor-get-same-object.https.html": [ "bluetooth/characteristic/getDescriptors/gen-descriptor-get-same-object.https.html": [
@ -400469,11 +400557,11 @@
"testharness" "testharness"
], ],
"bluetooth/characteristic/getDescriptors/gen-service-is-removed-with-uuid.https.html": [ "bluetooth/characteristic/getDescriptors/gen-service-is-removed-with-uuid.https.html": [
"67a1b69b198711e8c824529c2afe5513284e449f", "ad2b25c264ae236332715ae92e30452c5b97954c",
"testharness" "testharness"
], ],
"bluetooth/characteristic/getDescriptors/gen-service-is-removed.https.html": [ "bluetooth/characteristic/getDescriptors/gen-service-is-removed.https.html": [
"e0746e2c992231bac0ed213b3f9b17a863db0902", "1132700853cbfd7fbc0772e44a407d72f710ffb5",
"testharness" "testharness"
], ],
"bluetooth/characteristic/notifications/characteristic-is-removed.https.html": [ "bluetooth/characteristic/notifications/characteristic-is-removed.https.html": [
@ -400481,7 +400569,7 @@
"testharness" "testharness"
], ],
"bluetooth/characteristic/notifications/service-is-removed.https.html": [ "bluetooth/characteristic/notifications/service-is-removed.https.html": [
"c38cba83787c54f68d57f4403a0ec0242c169035", "f6a5be53c85a190dca81a9b425b63d77bc6c193f",
"testharness" "testharness"
], ],
"bluetooth/characteristic/readValue/add-multiple-event-listeners.https.html": [ "bluetooth/characteristic/readValue/add-multiple-event-listeners.https.html": [
@ -400497,7 +400585,7 @@
"testharness" "testharness"
], ],
"bluetooth/characteristic/readValue/gen-characteristic-is-removed.https.html": [ "bluetooth/characteristic/readValue/gen-characteristic-is-removed.https.html": [
"e775062bd01919af48f2c3e11ea2e90702b29064", "1700dfa9ba6e1aa44d42630ef7ba61d4beeed330",
"testharness" "testharness"
], ],
"bluetooth/characteristic/readValue/read-succeeds.https.html": [ "bluetooth/characteristic/readValue/read-succeeds.https.html": [
@ -400509,7 +400597,7 @@
"testharness" "testharness"
], ],
"bluetooth/characteristic/readValue/service-is-removed.https.html": [ "bluetooth/characteristic/readValue/service-is-removed.https.html": [
"1267b87396e49b063db2a7e5fe8611ef4f39845d", "b79a74ccf33bc76e6582ee7c1e2f3c277f99ddfb",
"testharness" "testharness"
], ],
"bluetooth/characteristic/service-same-from-2-characteristics.https.html": [ "bluetooth/characteristic/service-same-from-2-characteristics.https.html": [
@ -400521,7 +400609,7 @@
"testharness" "testharness"
], ],
"bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.html": [ "bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.html": [
"471854c3309862acd121c7ef8d115b037ec297dd", "97f5d01743721207c5addfb9625fd3da7c0c61e3",
"testharness" "testharness"
], ],
"bluetooth/characteristic/writeValue/characteristic-is-removed.https.html": [ "bluetooth/characteristic/writeValue/characteristic-is-removed.https.html": [
@ -400529,11 +400617,11 @@
"testharness" "testharness"
], ],
"bluetooth/characteristic/writeValue/gen-characteristic-is-removed.https.html": [ "bluetooth/characteristic/writeValue/gen-characteristic-is-removed.https.html": [
"2bad4acf374516e29cb5a259d29a97160917ec58", "62b4bd66196c9c833631916761b41e973aa2a554",
"testharness" "testharness"
], ],
"bluetooth/characteristic/writeValue/service-is-removed.https.html": [ "bluetooth/characteristic/writeValue/service-is-removed.https.html": [
"570bba21ad98a428dd5575dc544962b8ae6a05d8", "857ae985ba4d15bcc5d78671a7f21d990c8db9c5",
"testharness" "testharness"
], ],
"bluetooth/characteristic/writeValue/write-succeeds.https.html": [ "bluetooth/characteristic/writeValue/write-succeeds.https.html": [
@ -400541,7 +400629,7 @@
"testharness" "testharness"
], ],
"bluetooth/descriptor/readValue/gen-service-is-removed.https.html": [ "bluetooth/descriptor/readValue/gen-service-is-removed.https.html": [
"c1954f13b95b9f5d0dbfd4f696aa0874e2a47c88", "47f1bd316ae7d2637524a1b5d4436a3f11b20fd0",
"testharness" "testharness"
], ],
"bluetooth/descriptor/readValue/read-succeeds.https.html": [ "bluetooth/descriptor/readValue/read-succeeds.https.html": [
@ -400549,7 +400637,7 @@
"testharness" "testharness"
], ],
"bluetooth/descriptor/writeValue/gen-service-is-removed.https.html": [ "bluetooth/descriptor/writeValue/gen-service-is-removed.https.html": [
"99c77b594dcdfa971bdf96b28c176bf2e44a98ca", "07c2dc0a081786302040942a989cc49f6b3fa3ca",
"testharness" "testharness"
], ],
"bluetooth/device/gattserverdisconnected-event/disconnected.https.html": [ "bluetooth/device/gattserverdisconnected-event/disconnected.https.html": [
@ -400753,7 +400841,7 @@
"support" "support"
], ],
"bluetooth/script-tests/characteristic/characteristic-is-removed.js": [ "bluetooth/script-tests/characteristic/characteristic-is-removed.js": [
"a82d6a1761e402906aa89a790166bccf1dd0a2c2", "7b7cd34d4c480e62fcde4667f50212cbae7f7b07",
"support" "support"
], ],
"bluetooth/script-tests/characteristic/descriptor-get-same-object.js": [ "bluetooth/script-tests/characteristic/descriptor-get-same-object.js": [
@ -400761,11 +400849,11 @@
"support" "support"
], ],
"bluetooth/script-tests/characteristic/service-is-removed.js": [ "bluetooth/script-tests/characteristic/service-is-removed.js": [
"c4703192b632d2bc63609b717d5f7829aad6168e", "a9fa621bca75da2887835c529b40429a20ebdff8",
"support" "support"
], ],
"bluetooth/script-tests/descriptor/service-is-removed.js": [ "bluetooth/script-tests/descriptor/service-is-removed.js": [
"ef6afb686e14a5b77cc88f6c51c18529739fc7ea", "d442ab654680a3f4c7eae6036f74a20f0b730351",
"support" "support"
], ],
"bluetooth/script-tests/server/disconnect-called-before.js": [ "bluetooth/script-tests/server/disconnect-called-before.js": [
@ -400857,7 +400945,7 @@
"support" "support"
], ],
"bluetooth/script-tests/service/service-is-removed.js": [ "bluetooth/script-tests/service/service-is-removed.js": [
"209d46cebac1cf324dacb9741bbd7a320b70651c", "ef77b77f70ac720b536882e9b48d7fe66fe4ecf4",
"support" "support"
], ],
"bluetooth/server/connect/connection-succeeds.https.html": [ "bluetooth/server/connect/connection-succeeds.https.html": [
@ -401129,7 +401217,7 @@
"testharness" "testharness"
], ],
"bluetooth/service/getCharacteristic/gen-service-is-removed.https.html": [ "bluetooth/service/getCharacteristic/gen-service-is-removed.https.html": [
"8680cb14d493830e9e5ded9d4d07a6e12e2f2fee", "9f698f4e02985f21f772d38942d7fe9f383600f0",
"testharness" "testharness"
], ],
"bluetooth/service/getCharacteristics/blocklisted-characteristics.https.html": [ "bluetooth/service/getCharacteristics/blocklisted-characteristics.https.html": [
@ -401185,11 +401273,11 @@
"testharness" "testharness"
], ],
"bluetooth/service/getCharacteristics/gen-service-is-removed-with-uuid.https.html": [ "bluetooth/service/getCharacteristics/gen-service-is-removed-with-uuid.https.html": [
"b67765aaf66b9ac679e018014127836ae9a1753e", "d8e4257645340adfd45f069c4cebbc3ca88f2348",
"testharness" "testharness"
], ],
"bluetooth/service/getCharacteristics/gen-service-is-removed.https.html": [ "bluetooth/service/getCharacteristics/gen-service-is-removed.https.html": [
"baadfc8451547b9b1a863b222009f230fc2b032b", "417d39a317f55a95180c806d28047c85dd959d65",
"testharness" "testharness"
], ],
"clear-site-data/navigation-insecure.html": [ "clear-site-data/navigation-insecure.html": [
@ -504556,6 +504644,38 @@
"c7b441a3a07276cad9528dd3ef7d82844d06e2d8", "c7b441a3a07276cad9528dd3ef7d82844d06e2d8",
"support" "support"
], ],
"css/css-properties-values-api/register-property-syntax-parsing.html": [
"b065f4840b3c1deb4a2f8a59428e102f2ae11686",
"testharness"
],
"css/css-properties-values-api/register-property.html": [
"df61ce5dd13847deaa9b7165dd1277c1ddefb646",
"testharness"
],
"css/css-properties-values-api/registered-properties-inheritance.html": [
"131676bfa0733a64b679473b411ef651a9df1ab0",
"testharness"
],
"css/css-properties-values-api/registered-property-computation.html": [
"875acfd6e6446e4cb14fcd19fe16e83630b5fe31",
"testharness"
],
"css/css-properties-values-api/registered-property-cssom.html": [
"0fecf81c4089cb67107a9339ee52cd2c44cde60b",
"testharness"
],
"css/css-properties-values-api/registered-property-initial.html": [
"fc0b90f23ea8c8dab20baa3fecdd7d60863527b6",
"testharness"
],
"css/css-properties-values-api/var-reference-registered-properties-cycles.html": [
"bc061780caa0085fca5b003c1aed68c7b162eabd",
"testharness"
],
"css/css-properties-values-api/var-reference-registered-properties.html": [
"988badd19fd1880446db9827e3d96cb4961732a0",
"testharness"
],
"css/css-pseudo/OWNERS": [ "css/css-pseudo/OWNERS": [
"e196548942a4d77448f734235b3456e2a830a5a7", "e196548942a4d77448f734235b3456e2a830a5a7",
"support" "support"
@ -524221,7 +524341,7 @@
"reftest" "reftest"
], ],
"css/css-values/calc-in-color-001.html": [ "css/css-values/calc-in-color-001.html": [
"32a0face898f08b854ac392c75368282d718be32", "6a88138c89c65b513310fb27e1f301ab1d652c98",
"testharness" "testharness"
], ],
"css/css-values/calc-in-font-feature-settings.html": [ "css/css-values/calc-in-font-feature-settings.html": [
@ -535956,14 +536076,6 @@
"0332d163ba2a010b5a8102cf23d220342e007170", "0332d163ba2a010b5a8102cf23d220342e007170",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/aqua-yellow-32x32.png": [
"a4c3777cf587ade235c71b27144eae3f307deb05",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/aqua-yellow-37x37.png": [
"fc2d8a4c94a5a7c19344d5fdeb6f2e0c97e0ea56",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-attachment-fixed-inside-transform-1-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-attachment-fixed-inside-transform-1-ref.html": [
"ac4a007e9956b008807349d6fb1a5e1d04fa70b0", "ac4a007e9956b008807349d6fb1a5e1d04fa70b0",
"support" "support"
@ -535973,139 +536085,139 @@
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1-ref.html": [
"29441a01afe2699a04c4d5ba99acd6b62dc5f96b", "527a9e170665067a0be9c80d5a03e5e3762fb5d0",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1a.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1a.html": [
"809a3f95a27d65858ffb02e117730bb42736fb80", "2e63657cd77715a2592071cecfe9a8b92ee25036",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1b.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1b.html": [
"4b52973ae50842378ad37f0e6f34446848730f25", "bb8ecbae4c8679c8027dff5b2284a1ce02a8825c",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1c.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1c.html": [
"de76776ca724ba92bc74aef65ea735dfcb6cad93", "e5ce00218cb4de53c98695e461fde4666ea7e54b",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1d.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1d.html": [
"cddb6225b1a0fba923df44c822a7e14c8dc83aec", "07c2fd2fa564bee8fff8bcee5aea4088d4bc7a7d",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1e.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-1e.html": [
"f09086d194fd800f60e87a8a9f173eb133975c8b", "04449b9807337732367a4433a212d9d8a1f54846",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-2-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-2-ref.html": [
"ab1bd133eac072e7653bbb7ebdfb3ad25378150f", "8b6156e33c36a7ff6100e4083888377233b03491",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-2.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-2.html": [
"451bbbdc1feaf8518f771929f1ba4fca98ca4561", "6130e53d76ebddd25e67dd130bd5a69fe333de70",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-3-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-3-ref.html": [
"e4ffb716a411e30f039b5b94c655b236285c7d5b", "0ca8f34ec1bc5b92e99948479ed558cb37cde19f",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-3.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-3.html": [
"229eda2d0edd98f4fa1bce52652d3df3b8e25c57", "68966b45847d9932aad774321a99aa79f15dbf81",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-4-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-4-ref.html": [
"a50788fabe6e09abb218f6e3c273674c3f427e98", "985c3cdcb1995fe748b42a3a6225e94ce7faf8fc",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-4.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-round-4.html": [
"e670e2567908a5d95ef87fbf04f2099301dd837f", "22f985cdcdd345f826396b4d0ea7078c015f3e2a",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-1-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-1-ref.html": [
"47e4c35735316ccd63365dc393edb54b276ececd", "74254368494287e55235f772459e658cab2c33c8",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-10-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-10-ref.html": [
"c5009e3b890996defe6a3ee814b0a7a608ccc6d1", "bad3ec7df4823b5cf9d2f381d7786743c0bfb8b7",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-10.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-10.html": [
"e75c79b6bd7d16c785fae7b990859619af6eaaab", "24605117651c6b311e9df101aa3c6827551c0af9",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-1a.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-1a.html": [
"f445e40c43ae62f5ef6975385242d65f3db02695", "1ae0784b38a73b2c2b19b92faffafae35df1196c",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-1b.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-1b.html": [
"fe540a5c8cb4055c95f8f645eb8bea6c9946da21", "aea0812fff497f1fc4141bfe2f751c4c558e4441",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-1c.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-1c.html": [
"52aac06805eb1d1ca8e943d6377417b4a270d75d", "0ec8242c6038ba33db9cd4f02c9436c6c5618192",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-2-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-2-ref.html": [
"1c71b2ff3a5b88eb7a18c8798d5e9cf69bd573ac", "ab2a2362ad7df5732fb53f285daa159f77f8d68f",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-2.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-2.html": [
"7dc923a3109315e7f1432a14fd9e4c0b3d2125a2", "7bafd5d038cec1f0e0a6d6ecd90739f928330e80",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-3-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-3-ref.html": [
"64a9713b66d151cc38c5b4070686f25edb995880", "91985eefffc425de688a42eb4fe9a79855f6b92c",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-3.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-3.html": [
"b925284a7569c7debe62aad4e06186c56c0db78a", "c026a0a786b648048e04d6c8fd4152beecab42d5",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-4-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-4-ref.html": [
"00f9c662a419bf14b719075094f0eafd68438f3a", "53fd4d73a06d3b7f906dbe054dd0b61beb8a95e8",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-4.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-4.html": [
"1afd9d8485833a5433ecb8477e446fc7f3d46d1d", "ffea3f6b1d69708b1ba79727d2d19d7848aa40a3",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-5-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-5-ref.html": [
"f67b88f3603b85af58216054e430b59e758150a4", "f17ca75bb2f1fabe52c27b6986dbf4c7fb3a13ed",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-5.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-5.html": [
"2cb368068d52b7d53978b048d254944870804a51", "cd0db8d7606b9b0459745d6e1f9c93d0e0b68309",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-6-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-6-ref.html": [
"7dbdeeee72252e099d9dc9513c8cb52da3d7d7e4", "43fbe2b011d9f8da86a333be7e9b0946b10e0fe8",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-6.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-6.html": [
"69565b22e71bb9eddffe2299e7436683582e584f", "4141691fe824f2f0c21d9dbbf4c8d2bf1a808ce2",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-7-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-7-ref.html": [
"cb395895ce116f4713794b20cee7ab9ec54577fc", "3b3af1c5e464776afc85b59c32fdae5c40378645",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-7.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-7.html": [
"0433521d9fe4bf25c70ca9ee451ba6b1fae54088", "c4f657027339cacc6d355a6338b5ba7ce5978013",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-8-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-8-ref.html": [
"f89f01dd369b25ec2c91a28109183bedd6337259", "22502a004c4a63eb15cf11d1f7292d285bd71560",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-8.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-8.html": [
"a33055d83e601c9dd87dea0dd10b90d352ef1330", "33512fa18046beb077fa0ad760366531fe7d527d",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-9-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-9-ref.html": [
"8fd521061feca811081e57230d87fd35c2304d61", "718811ef61914a35123b9286604e2d464f3207c6",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-9.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/background-repeat-space-9.html": [
"9ef2959be849cf0991173bbc6524abdd3062588e", "171bf31322fb5dc157e3dfa3ea824c9b03e6195d",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-1-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-1-ref.html": [
@ -536117,130 +536229,138 @@
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-round-1-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-round-1-ref.html": [
"f8cc9afefbb7bd251d1527696d7dd75594daa552", "8e9e7565135b1e4273524c1211940bb86e8a08f2",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-round-1.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-round-1.html": [
"e78a29aa62b300e5fe18858098ca3f2642805e3b", "bba6c7cfcde4effa81ac66ef3e35020a2f439e82",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-round-2-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-round-2-ref.html": [
"8322ea283fc9301f9e1ce52b44d0a7b24cd7b70b", "b335b9f6dbc3e25cc6a4b385c889863b069b2568",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-round-2.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-round-2.html": [
"feadd3b31ad8a87be53b99da7557876fe09d75a3", "0dded85118a796ed7b9e43ba66578c90e00475eb",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-1-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-1-ref.html": [
"b3a8bb5298994b0cd82824566ac866b99f56de44", "0ef702f13cf5607b5af8b4755c7e98ffc8a5e874",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-1.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-1.html": [
"3f70e9f26f8a06f340474f8c69f364f47fdc0c80", "c5e61f811230553b84e033b90c61f40d7e54e70a",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-2-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-2-ref.html": [
"6247a913d89a3e839a226a50942146eb82ead6ed", "46577524f01551c7ba69315471c5ab0284459554",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-2.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-2.html": [
"475e7e006483d5c6f81a5277e2827969f6787c34", "a4395ef722ea661f585c9e6891d80815b1fabbfe",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-3-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-3-ref.html": [
"2b06d935850db10821b35376364cf0e5fad8c8f4", "1d00a62b6f293c858480a082f9487d3c566e1fad",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-3.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-3.html": [
"d4cb1c010e8a040844829d5bdfdfc3ad1d91edaf", "e8de89ada57263ca71d2e718246b27d0f3b13970",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-4-ref-1.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-4-ref-1.html": [
"456d8bf49dfa526ee99fdd0a5ef70ea2b54bbf43", "674aca752e3662bb2a4f12fa317ea472dc2a3c64",
"reftest_node" "reftest_node"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-4-ref-2.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-4-ref-2.html": [
"05501bb0436ce20982acbfaab1567fbe6cc05e29", "2b0f579ecb4e19eb9306be7ec40184af89007f25",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-4.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-4.html": [
"6a2236e94a8dea79ddc047b9aa036536af202bbd", "a87145982556efc75e2cdd3664b850421e661caf",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-5-ref-1.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-5-ref-1.html": [
"dfd17c4208a3a8acd4b33d42f321b8cbbda215e1", "19440f14748bf8b125f23fbdb9165fa0a70c452a",
"reftest_node" "reftest_node"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-5-ref-2.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-5-ref-2.html": [
"ea0a4e6162537dbf034da9b4ad73197a9379e907", "2fa4145d8a2a85705b1ff225edd35ed0616ae77a",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-5.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-5.html": [
"60300d5a0c4877730b20adac067e62ea674f081d", "421e6343955d359b69536f17e61b6c65ad4a51c9",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-6-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-6-ref.html": [
"48b5ceefe4bc19c56b98d473d185b0a2a17638d6", "4bd78c1115ccd7ec9b1b33b647a3a6261991e774",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-6.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-6.html": [
"13e9f0d302a717ccb45c4ec61bf9f0f572ab1f3c", "d944edc6f9d9c1cfa817bdd377566323ae5aab51",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-7-ref.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-7-ref.html": [
"16883f2f5a5f8da77dc681829e2824061e4dc4fd", "97e6b3a357ab8bd0d017d140d8c71291e044ef5e",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-7.html": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/border-image-repeat-space-7.html": [
"1c5c7ebf2367034931e4f6880f235e201d7e772d", "250751245e07ef7b57020a8dc32735693091a69f",
"reftest" "reftest"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/border.png": [
"c643564c8b6ff76e3e482414f3f722abfea4d43f",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list": [
"ba3f91bdf65eaa53a76efc11d870f81a23d757dd", "ba3f91bdf65eaa53a76efc11d870f81a23d757dd",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-bl.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/aqua-yellow-32x32.png": [
"a4c3777cf587ade235c71b27144eae3f307deb05",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/support/aqua-yellow-37x37.png": [
"fc2d8a4c94a5a7c19344d5fdeb6f2e0c97e0ea56",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/support/border.png": [
"c643564c8b6ff76e3e482414f3f722abfea4d43f",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-bl.png": [
"fa21f62c26f5a1ff6a772031afae40c3daebaa40", "fa21f62c26f5a1ff6a772031afae40c3daebaa40",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-bo.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-bo.png": [
"395821135fe3b785bd04f9e7f525ce9e7055fa32", "395821135fe3b785bd04f9e7f525ce9e7055fa32",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-br.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-br.png": [
"3837f10b2aff08d47df3d4e0209a1b76444197cd", "3837f10b2aff08d47df3d4e0209a1b76444197cd",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-ct.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-ct.png": [
"f8a79021968c8ec9d1380bb40929e9cc77c36624", "f8a79021968c8ec9d1380bb40929e9cc77c36624",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-le.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-le.png": [
"d1ca46136e35c92bb81ff226d152fdfbf8018d53", "d1ca46136e35c92bb81ff226d152fdfbf8018d53",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-ri.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-ri.png": [
"3e8a0cd42a692ec2323d19855d7b5f244a0b0311", "3e8a0cd42a692ec2323d19855d7b5f244a0b0311",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-tl.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-tl.png": [
"3c9cc75bc85cb1490da4c9f2888d0a9ec37b1736", "3c9cc75bc85cb1490da4c9f2888d0a9ec37b1736",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-to.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-to.png": [
"d9d205f3ee9e3d49451a1fe83323acd1e7707992", "d9d205f3ee9e3d49451a1fe83323acd1e7707992",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule-tr.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule-tr.png": [
"386ef7e0894851d1361ffcb73a248c43babadc81", "386ef7e0894851d1361ffcb73a248c43babadc81",
"support" "support"
], ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reticule.png": [ "css/vendor-imports/mozilla/mozilla-central-reftests/background/support/reticule.png": [
"f487aa4c163a64dd8ecceea982c3b225451fb3e6", "f487aa4c163a64dd8ecceea982c3b225451fb3e6",
"support" "support"
], ],
@ -545125,7 +545245,7 @@
"testharness" "testharness"
], ],
"dom/nodes/Element-classlist.html": [ "dom/nodes/Element-classlist.html": [
"10a0336430514dbbe8e837472c4476254ea8f8fc", "e0a3126453af3e138c322ae0074d7ee73d604a8d",
"testharness" "testharness"
], ],
"dom/nodes/Element-closest.html": [ "dom/nodes/Element-closest.html": [
@ -549908,6 +550028,10 @@
"936272bddf1a090267343fc7f8ab3669da98d27d", "936272bddf1a090267343fc7f8ab3669da98d27d",
"testharness" "testharness"
], ],
"fetch/api/response/response-error-from-stream.html": [
"74d58d1e907f49a3b9812786d8a3467159514c64",
"testharness"
],
"fetch/api/response/response-error.html": [ "fetch/api/response/response-error.html": [
"06489e75d56cbbdbfee903bea7e39c549310ba3e", "06489e75d56cbbdbfee903bea7e39c549310ba3e",
"testharness" "testharness"
@ -564424,6 +564548,22 @@
"fcbb80f82ca87610d00a6307da426b63f81e5a37", "fcbb80f82ca87610d00a6307da426b63f81e5a37",
"testharness" "testharness"
], ],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-1.html": [
"a323664378c03429ad61c56fe33b34bf77732958",
"testharness"
],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-2.html": [
"f577ac6acc2d7ae2675ecf05da028eca7d8b2a28",
"testharness"
],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-3.html": [
"999ba6e7678f3aebf3722f11b21c778f8ddece7b",
"testharness"
],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-4.html": [
"1702b5db173e814fe631bf23b6f6a887cca91f6a",
"testharness"
],
"html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html": [ "html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html": [
"3891c651b0153f3ea8081e6060b6af684c68e996", "3891c651b0153f3ea8081e6060b6af684c68e996",
"testharness" "testharness"
@ -564640,6 +564780,10 @@
"ec2daf6a782747ad7d983aefafd954cc7e661cf7", "ec2daf6a782747ad7d983aefafd954cc7e661cf7",
"support" "support"
], ],
"html/semantics/embedded-content/the-iframe-element/support/iframe-that-opens-modals.html": [
"efd4a8251362de2130cdd0d5c88c4be8eb15aa0c",
"support"
],
"html/semantics/embedded-content/the-iframe-element/support/iframe-that-performs-top-navigation-on-popup.html": [ "html/semantics/embedded-content/the-iframe-element/support/iframe-that-performs-top-navigation-on-popup.html": [
"042bf7ad5057dee3d2243c30d5a24227e15ef121", "042bf7ad5057dee3d2243c30d5a24227e15ef121",
"support" "support"
@ -564756,6 +564900,10 @@
"f64b366c71d51ff73b6370ac2db35013a8c1cb8d", "f64b366c71d51ff73b6370ac2db35013a8c1cb8d",
"support" "support"
], ],
"html/semantics/embedded-content/the-iframe-element/support/iframe_sandbox_block_modals.js": [
"508194946db6e8f892208a8b413565a4d76e6687",
"support"
],
"html/semantics/embedded-content/the-iframe-element/support/navigation-changed-iframe.html": [ "html/semantics/embedded-content/the-iframe-element/support/navigation-changed-iframe.html": [
"9dd191a0b5d9c15972363e260228956f7f487c7d", "9dd191a0b5d9c15972363e260228956f7f487c7d",
"support" "support"
@ -570913,7 +571061,7 @@
"support" "support"
], ],
"interfaces/dom.idl": [ "interfaces/dom.idl": [
"605bb139c7695e46f8657097cf2d9bc6240a2d38", "2d65a8029a80cfc97398d18f911f1ae65067e765",
"support" "support"
], ],
"interfaces/encrypted-media.idl": [ "interfaces/encrypted-media.idl": [
@ -589993,7 +590141,7 @@
"support" "support"
], ],
"sensors/generic-sensor-tests.js": [ "sensors/generic-sensor-tests.js": [
"0f1cea2c0d3f38220cbfdbe4f47d713214987cbd", "383a4f839c4a74b5b4d2a6cff9c83a61bc5aee04",
"support" "support"
], ],
"sensors/idlharness.https.html": [ "sensors/idlharness.https.html": [

View file

@ -75,3 +75,333 @@
[classList.replace("c", "a") with attribute value "c b a" (foo node)] [classList.replace("c", "a") with attribute value "c b a" (foo node)]
expected: FAIL expected: FAIL
[classList.replace("a", "b") with attribute value "a" (HTML node)]
expected: FAIL
[classList.replace("A", "b") with attribute value "a" (HTML node)]
expected: FAIL
[classList.replace("b", "A") with attribute value "a b" (HTML node)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b" (HTML node)]
expected: FAIL
[classList.replace("d", "e") with attribute value "a b c" (HTML node)]
expected: FAIL
[classList.replace("c", "d") with attribute value "a a a b" (HTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value null (HTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value "" (HTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value " " (HTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value " a \\f" (HTML node)]
expected: FAIL
[classList.replace("b", "d") with attribute value "a b c" (HTML node)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b c" (HTML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value "a b a" (HTML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value "a b a" (HTML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value " a a b" (HTML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value " a a b" (HTML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (HTML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (HTML node)]
expected: FAIL
[classList.replace(null, "b") with attribute value "a null" (HTML node)]
expected: FAIL
[classList.replace("a", null) with attribute value "a b" (HTML node)]
expected: FAIL
[classList.replace(undefined, "b") with attribute value "a undefined" (HTML node)]
expected: FAIL
[classList.replace("a", undefined) with attribute value "a b" (HTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value "a" (XHTML node)]
expected: FAIL
[classList.replace("A", "b") with attribute value "a" (XHTML node)]
expected: FAIL
[classList.replace("b", "A") with attribute value "a b" (XHTML node)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b" (XHTML node)]
expected: FAIL
[classList.replace("d", "e") with attribute value "a b c" (XHTML node)]
expected: FAIL
[classList.replace("c", "d") with attribute value "a a a b" (XHTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value null (XHTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value "" (XHTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value " " (XHTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value " a \\f" (XHTML node)]
expected: FAIL
[classList.replace("b", "d") with attribute value "a b c" (XHTML node)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b c" (XHTML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value "a b a" (XHTML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value "a b a" (XHTML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value " a a b" (XHTML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value " a a b" (XHTML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (XHTML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (XHTML node)]
expected: FAIL
[classList.replace(null, "b") with attribute value "a null" (XHTML node)]
expected: FAIL
[classList.replace("a", null) with attribute value "a b" (XHTML node)]
expected: FAIL
[classList.replace(undefined, "b") with attribute value "a undefined" (XHTML node)]
expected: FAIL
[classList.replace("a", undefined) with attribute value "a b" (XHTML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value "a" (MathML node)]
expected: FAIL
[classList.replace("A", "b") with attribute value "a" (MathML node)]
expected: FAIL
[classList.replace("b", "A") with attribute value "a b" (MathML node)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b" (MathML node)]
expected: FAIL
[classList.replace("d", "e") with attribute value "a b c" (MathML node)]
expected: FAIL
[classList.replace("c", "d") with attribute value "a a a b" (MathML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value null (MathML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value "" (MathML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value " " (MathML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value " a \\f" (MathML node)]
expected: FAIL
[classList.replace("b", "d") with attribute value "a b c" (MathML node)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b c" (MathML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value "a b a" (MathML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value "a b a" (MathML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value " a a b" (MathML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value " a a b" (MathML node)]
expected: FAIL
[classList.replace("a", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (MathML node)]
expected: FAIL
[classList.replace("b", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (MathML node)]
expected: FAIL
[classList.replace(null, "b") with attribute value "a null" (MathML node)]
expected: FAIL
[classList.replace("a", null) with attribute value "a b" (MathML node)]
expected: FAIL
[classList.replace(undefined, "b") with attribute value "a undefined" (MathML node)]
expected: FAIL
[classList.replace("a", undefined) with attribute value "a b" (MathML node)]
expected: FAIL
[classList.replace("a", "b") with attribute value "a" (XML node with null namespace)]
expected: FAIL
[classList.replace("A", "b") with attribute value "a" (XML node with null namespace)]
expected: FAIL
[classList.replace("b", "A") with attribute value "a b" (XML node with null namespace)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b" (XML node with null namespace)]
expected: FAIL
[classList.replace("d", "e") with attribute value "a b c" (XML node with null namespace)]
expected: FAIL
[classList.replace("c", "d") with attribute value "a a a b" (XML node with null namespace)]
expected: FAIL
[classList.replace("a", "b") with attribute value null (XML node with null namespace)]
expected: FAIL
[classList.replace("a", "b") with attribute value "" (XML node with null namespace)]
expected: FAIL
[classList.replace("a", "b") with attribute value " " (XML node with null namespace)]
expected: FAIL
[classList.replace("a", "b") with attribute value " a \\f" (XML node with null namespace)]
expected: FAIL
[classList.replace("b", "d") with attribute value "a b c" (XML node with null namespace)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b c" (XML node with null namespace)]
expected: FAIL
[classList.replace("a", "c") with attribute value "a b a" (XML node with null namespace)]
expected: FAIL
[classList.replace("b", "c") with attribute value "a b a" (XML node with null namespace)]
expected: FAIL
[classList.replace("a", "c") with attribute value " a a b" (XML node with null namespace)]
expected: FAIL
[classList.replace("b", "c") with attribute value " a a b" (XML node with null namespace)]
expected: FAIL
[classList.replace("a", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (XML node with null namespace)]
expected: FAIL
[classList.replace("b", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (XML node with null namespace)]
expected: FAIL
[classList.replace(null, "b") with attribute value "a null" (XML node with null namespace)]
expected: FAIL
[classList.replace("a", null) with attribute value "a b" (XML node with null namespace)]
expected: FAIL
[classList.replace(undefined, "b") with attribute value "a undefined" (XML node with null namespace)]
expected: FAIL
[classList.replace("a", undefined) with attribute value "a b" (XML node with null namespace)]
expected: FAIL
[classList.replace("a", "b") with attribute value "a" (foo node)]
expected: FAIL
[classList.replace("A", "b") with attribute value "a" (foo node)]
expected: FAIL
[classList.replace("b", "A") with attribute value "a b" (foo node)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b" (foo node)]
expected: FAIL
[classList.replace("d", "e") with attribute value "a b c" (foo node)]
expected: FAIL
[classList.replace("c", "d") with attribute value "a a a b" (foo node)]
expected: FAIL
[classList.replace("a", "b") with attribute value null (foo node)]
expected: FAIL
[classList.replace("a", "b") with attribute value "" (foo node)]
expected: FAIL
[classList.replace("a", "b") with attribute value " " (foo node)]
expected: FAIL
[classList.replace("a", "b") with attribute value " a \\f" (foo node)]
expected: FAIL
[classList.replace("b", "d") with attribute value "a b c" (foo node)]
expected: FAIL
[classList.replace("c", "a") with attribute value "a b c" (foo node)]
expected: FAIL
[classList.replace("a", "c") with attribute value "a b a" (foo node)]
expected: FAIL
[classList.replace("b", "c") with attribute value "a b a" (foo node)]
expected: FAIL
[classList.replace("a", "c") with attribute value " a a b" (foo node)]
expected: FAIL
[classList.replace("b", "c") with attribute value " a a b" (foo node)]
expected: FAIL
[classList.replace("a", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (foo node)]
expected: FAIL
[classList.replace("b", "c") with attribute value "\\t\\n\\f\\r a\\t\\n\\f\\r b\\t\\n\\f\\r " (foo node)]
expected: FAIL
[classList.replace(null, "b") with attribute value "a null" (foo node)]
expected: FAIL
[classList.replace("a", null) with attribute value "a b" (foo node)]
expected: FAIL
[classList.replace(undefined, "b") with attribute value "a undefined" (foo node)]
expected: FAIL
[classList.replace("a", undefined) with attribute value "a b" (foo node)]
expected: FAIL

View file

@ -0,0 +1,8 @@
[response-error-from-stream.html]
expected: ERROR
[ReadableStreamDefaultReader Promise receives ReadableStream start() Error]
expected: FAIL
[ReadableStreamDefaultReader Promise receives ReadableStream pull() Error]
expected: FAIL

View file

@ -0,0 +1,5 @@
[iframe_sandbox_block_modals-2.html]
expected: TIMEOUT
[Frames without `allow-modals` should not be able to open modal dialogs]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[iframe_sandbox_block_modals-3.html]
expected: TIMEOUT
[Frames without `allow-modals` should not be able to open modal dialogs]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[iframe_sandbox_block_modals-4.html]
expected: TIMEOUT
[Frames without `allow-modals` should not be able to open modal dialogs]
expected: TIMEOUT

View file

@ -0,0 +1,2 @@
[border_radius_elliptical_a.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[hide_after_load.html]
expected: TIMEOUT

View file

@ -1,4 +1,3 @@
[text_shadow_blur_a.html] [text_shadow_blur_a.html]
type: reftest type: reftest
expected: FAIL expected: FAIL

View file

@ -0,0 +1,2 @@
[transition_calc_implicit.html]
expected: TIMEOUT

View file

@ -1,5 +0,0 @@
[long-expressions-should-not-crash.html]
expected: TIMEOUT
[Overall test]
expected: NOTRUN

View file

@ -1,5 +1,6 @@
[shader-with-non-reserved-words.html] [shader-with-non-reserved-words.html]
type: testharness type: testharness
expected: TIMEOUT
[WebGL test #1696: shader with: 'dmat2' failed to compile] [WebGL test #1696: shader with: 'dmat2' failed to compile]
expected: FAIL expected: FAIL
@ -144,3 +145,6 @@
[WebGL test #1862: shader with: 'dmat4x4' failed to compile] [WebGL test #1862: shader with: 'dmat4x4' failed to compile]
expected: FAIL expected: FAIL
[Overall test]
expected: NOTRUN

View file

@ -12,16 +12,11 @@ addons:
- www2.web-platform.test - www2.web-platform.test
- xn--n8j6ds53lwwkrqhv28a.web-platform.test - xn--n8j6ds53lwwkrqhv28a.web-platform.test
- xn--lve-6lad.web-platform.test - xn--lve-6lad.web-platform.test
jwt:
secure: N9lvgkqUPtFlz6Vpa6qTPFhymEsDCsbaCsT64/hj3vlHRxK94r5+ugVJ3zm99zC0q2j1ish8yJC7mN/W4wRfBE4sAwmdxrlowxF1DDGCkaLE9i/GWW92s0fBVGJmXLh8kwNkQ31hMOsaGfHIMpeLFS7Se741te7YqsHIzmBCdQs=
before_install: before_install:
# This needs be sourced as it sets various env vars # This needs be sourced as it sets various env vars
- . ./tools/ci/before_install.sh - . ./tools/ci/before_install.sh
install: install:
- ./tools/ci/install.sh - ./tools/ci/install.sh
env: # required at the top-level for allow_failures to work below
global:
- SAUCE_USERNAME=w3c-ttwf
matrix: matrix:
fast_finish: true fast_finish: true
include: include:
@ -65,16 +60,6 @@ matrix:
env: env:
- secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM=" - secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM="
- JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev - JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev
- os: linux
python: "2.7"
env:
- secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM="
- JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=sauce:safari:11.0 PLATFORM='macOS 10.12'
- os: linux
python: "2.7"
env:
- secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM="
- JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=sauce:MicrosoftEdge:16.16299 PLATFORM='Windows 10'
- python: 2.7 - python: 2.7
env: JOB=tools_unittest TOXENV=py27 HYPOTHESIS_PROFILE=ci SCRIPT=tools/ci/ci_tools_unittest.sh env: JOB=tools_unittest TOXENV=py27 HYPOTHESIS_PROFILE=ci SCRIPT=tools/ci/ci_tools_unittest.sh
- python: 3.6 - python: 3.6
@ -105,12 +90,6 @@ matrix:
- env: - env:
- secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM=" - secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM="
- JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev - JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=chrome:dev
- env:
- secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM="
- JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=sauce:MicrosoftEdge:16.16299 PLATFORM='Windows 10'
- env:
- secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM="
- JOB=stability SCRIPT=tools/ci/ci_stability.sh PRODUCT=sauce:safari:11.0 PLATFORM='macOS 10.12'
script: script:
- ./tools/ci/run.sh - ./tools/ci/run.sh
cache: cache:

View file

@ -17,7 +17,6 @@ bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(() => characteristic.getDescriptor(user_description.name)) .then(() => characteristic.getDescriptor(user_description.name))
.then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e)) .then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e))
.then(() => fake_characteristic.remove()) .then(() => fake_characteristic.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.getDescriptor(user_description.name), expected)), characteristic.getDescriptor(user_description.name), expected)),

View file

@ -17,7 +17,6 @@ let characteristic, fake_peripheral, fake_service;
bluetooth_test(() => getMeasurementIntervalCharacteristic() bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(_ => ({characteristic, fake_peripheral, fake_service} = _)) .then(_ => ({characteristic, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.getDescriptor(user_description.name), characteristic.getDescriptor(user_description.name),

View file

@ -17,7 +17,6 @@ bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(() => characteristic.getDescriptor(user_description.name)) .then(() => characteristic.getDescriptor(user_description.name))
.then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e)) .then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e))
.then(() => fake_characteristic.remove()) .then(() => fake_characteristic.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.getDescriptors(user_description.name), expected)), characteristic.getDescriptors(user_description.name), expected)),

View file

@ -17,7 +17,6 @@ bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(() => characteristic.getDescriptor(user_description.name)) .then(() => characteristic.getDescriptor(user_description.name))
.then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e)) .then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e))
.then(() => fake_characteristic.remove()) .then(() => fake_characteristic.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.getDescriptors(), expected)), characteristic.getDescriptors(), expected)),

View file

@ -17,7 +17,6 @@ let characteristic, fake_peripheral, fake_service;
bluetooth_test(() => getMeasurementIntervalCharacteristic() bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(_ => ({characteristic, fake_peripheral, fake_service} = _)) .then(_ => ({characteristic, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.getDescriptors(user_description.uuid), characteristic.getDescriptors(user_description.uuid),

View file

@ -17,7 +17,6 @@ let characteristic, fake_peripheral, fake_service;
bluetooth_test(() => getMeasurementIntervalCharacteristic() bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(_ => ({characteristic, fake_peripheral, fake_service} = _)) .then(_ => ({characteristic, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.getDescriptors(user_description.name), characteristic.getDescriptors(user_description.name),

View file

@ -14,7 +14,6 @@ let characteristic, fake_peripheral, fake_service;
bluetooth_test(() => getMeasurementIntervalCharacteristic() bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(_ => ({characteristic, fake_peripheral, fake_service} = _)) .then(_ => ({characteristic, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.startNotifications(), characteristic.startNotifications(),

View file

@ -17,7 +17,6 @@ bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(() => characteristic.getDescriptor(user_description.name)) .then(() => characteristic.getDescriptor(user_description.name))
.then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e)) .then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e))
.then(() => fake_characteristic.remove()) .then(() => fake_characteristic.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.readValue(), expected)), characteristic.readValue(), expected)),

View file

@ -14,7 +14,6 @@ let characteristic, fake_peripheral, fake_service;
bluetooth_test(() => getMeasurementIntervalCharacteristic() bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(_ => ({characteristic, fake_peripheral, fake_service} = _)) .then(_ => ({characteristic, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.readValue(), characteristic.readValue(),

View file

@ -17,7 +17,6 @@ bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(() => characteristic.getDescriptor(user_description.name)) .then(() => characteristic.getDescriptor(user_description.name))
.then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e)) .then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e))
.then(() => fake_characteristic.remove()) .then(() => fake_characteristic.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.startNotifications(), expected)), characteristic.startNotifications(), expected)),

View file

@ -17,7 +17,6 @@ bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(() => characteristic.getDescriptor(user_description.name)) .then(() => characteristic.getDescriptor(user_description.name))
.then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e)) .then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e))
.then(() => fake_characteristic.remove()) .then(() => fake_characteristic.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.writeValue(new Uint8Array(1)), expected)), characteristic.writeValue(new Uint8Array(1)), expected)),

View file

@ -14,7 +14,6 @@ let characteristic, fake_peripheral, fake_service;
bluetooth_test(() => getMeasurementIntervalCharacteristic() bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(_ => ({characteristic, fake_peripheral, fake_service} = _)) .then(_ => ({characteristic, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.writeValue(new ArrayBuffer(1 /* length */)), characteristic.writeValue(new ArrayBuffer(1 /* length */)),

View file

@ -15,7 +15,6 @@ let descriptor, fake_peripheral, fake_service;
bluetooth_test(() => getUserDescriptionDescriptor() bluetooth_test(() => getUserDescriptionDescriptor()
.then(_ => ({descriptor, fake_peripheral, fake_service} = _)) .then(_ => ({descriptor, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
descriptor.readValue(), descriptor.readValue(),

View file

@ -15,7 +15,6 @@ let descriptor, fake_peripheral, fake_service;
bluetooth_test(() => getUserDescriptionDescriptor() bluetooth_test(() => getUserDescriptionDescriptor()
.then(_ => ({descriptor, fake_peripheral, fake_service} = _)) .then(_ => ({descriptor, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
descriptor.writeValue(new ArrayBuffer(1 /* length */)), descriptor.writeValue(new ArrayBuffer(1 /* length */)),

View file

@ -9,7 +9,6 @@ bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(() => characteristic.getDescriptor(user_description.name)) .then(() => characteristic.getDescriptor(user_description.name))
.then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e)) .then(() => null, (e) => assert_unreached('Caught error unexpectedly.', e))
.then(() => fake_characteristic.remove()) .then(() => fake_characteristic.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.CALLS([ characteristic.CALLS([

View file

@ -9,7 +9,6 @@ let characteristic, fake_peripheral, fake_service;
bluetooth_test(() => getMeasurementIntervalCharacteristic() bluetooth_test(() => getMeasurementIntervalCharacteristic()
.then(_ => ({characteristic, fake_peripheral, fake_service} = _)) .then(_ => ({characteristic, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
characteristic.CALLS([ characteristic.CALLS([

View file

@ -7,7 +7,6 @@ let descriptor, fake_peripheral, fake_service;
bluetooth_test(() => getUserDescriptionDescriptor() bluetooth_test(() => getUserDescriptionDescriptor()
.then(_ => ({descriptor, fake_peripheral, fake_service} = _)) .then(_ => ({descriptor, fake_peripheral, fake_service} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
descriptor.CALLS([ descriptor.CALLS([

View file

@ -8,7 +8,6 @@ let service, fake_service, fake_peripheral;
bluetooth_test(() => getHealthThermometerService() bluetooth_test(() => getHealthThermometerService()
.then(_ => ({service, fake_service, fake_peripheral} = _)) .then(_ => ({service, fake_service, fake_peripheral} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
service.CALLS([ service.CALLS([

View file

@ -16,7 +16,6 @@ let service, fake_service, fake_peripheral;
bluetooth_test(() => getHealthThermometerService() bluetooth_test(() => getHealthThermometerService()
.then(_ => ({service, fake_service, fake_peripheral} = _)) .then(_ => ({service, fake_service, fake_peripheral} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
service.getCharacteristic('measurement_interval'), service.getCharacteristic('measurement_interval'),

View file

@ -16,7 +16,6 @@ let service, fake_service, fake_peripheral;
bluetooth_test(() => getHealthThermometerService() bluetooth_test(() => getHealthThermometerService()
.then(_ => ({service, fake_service, fake_peripheral} = _)) .then(_ => ({service, fake_service, fake_peripheral} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
service.getCharacteristics('measurement_interval'), service.getCharacteristics('measurement_interval'),

View file

@ -16,7 +16,6 @@ let service, fake_service, fake_peripheral;
bluetooth_test(() => getHealthThermometerService() bluetooth_test(() => getHealthThermometerService()
.then(_ => ({service, fake_service, fake_peripheral} = _)) .then(_ => ({service, fake_service, fake_peripheral} = _))
.then(() => fake_service.remove()) .then(() => fake_service.remove())
.then(() => fake_peripheral.setNextGATTDiscoveryResponse({HCI_SUCCESS}))
.then(() => fake_peripheral.simulateGATTServicesChanged()) .then(() => fake_peripheral.simulateGATTServicesChanged())
.then(() => assert_promise_rejects_with_message( .then(() => assert_promise_rejects_with_message(
service.getCharacteristics(), service.getCharacteristics(),

View file

@ -0,0 +1,163 @@
<!DOCTYPE HTML>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-css-registerproperty" />
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#supported-syntax-strings" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test_count = 0;
function assert_valid(syntax, initialValue) {
// No actual assertions, this just shouldn't throw
test(function() {
var name = '--syntax-test-' + (test_count++);
CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue});
}, "syntax:'" + syntax + "', initialValue:'" + initialValue + "' is valid");
}
function assert_invalid(syntax, initialValue) {
test(function(){
var name = '--syntax-test-' + (test_count++);
assert_throws(new SyntaxError(),
() => CSS.registerProperty({name: name, syntax: syntax, initialValue: initialValue}));
}, "syntax:'" + syntax + "', initialValue:'" + initialValue + "' is invalid");
}
assert_valid("*", "a");
assert_valid(" * ", "b");
assert_valid("<length>", "2px");
assert_valid(" <number>", "5");
assert_valid("<percentage> ", "10%");
assert_valid("<color>+", "red");
assert_valid(" <length>+ | <percentage>", "2px 8px");
assert_valid("<length>|<percentage>|<length-percentage>", "2px"); // Valid but silly
assert_valid("<color> | <image> | <url> | <integer> | <angle>", "red");
assert_valid("<time> | <resolution> | <transform-list> | <custom-ident>", "red");
assert_valid("*", ":> hello");
assert_valid("*", "([ brackets ]) { yay (??)}");
assert_valid("*", "yep 'this is valid too'");
assert_valid("*", "unmatched opening bracket is valid :(");
assert_valid("*", '"');
assert_valid("<length>", "0");
assert_valid("<length>", "10px /*:)*/");
assert_valid("<length>", " calc(-2px)");
assert_valid("<length>", "calc(2px*4 + 10px)");
assert_valid("<length>", "7.1e-4cm");
assert_valid("<length>", "calc(7in - 12px)");
assert_valid("<length>+", "2px 7px calc(8px)");
assert_valid("<percentage>", "-9.3e3%");
assert_valid("<length-percentage>", "-54%");
assert_valid("<length-percentage>", "0");
assert_valid("<length-percentage>", "calc(-11px + 10.4%)");
assert_valid("<number>", "-109");
assert_valid("<number>", "2.3e4");
assert_valid("<integer>", "-109");
assert_valid("<integer>", "19");
assert_valid("<angle>", "10deg");
assert_valid("<angle>", "20.5rad");
assert_valid("<angle>", "calc(50grad + 3.14159rad)");
assert_valid("<time>", "2s");
assert_valid("<time>", "calc(2s - 9ms)");
assert_valid("<resolution>", "10dpi");
assert_valid("<resolution>", "3dPpX");
assert_valid("<resolution>", "-5.3dpcm");
assert_valid("<transform-list>", "scale(2)");
assert_valid("<transform-list>", "translateX(2px) rotate(20deg)");
assert_valid("<color>", "rgb(12, 34, 56)");
assert_valid("<color>", "lightgoldenrodyellow");
assert_valid("<image>", "url(a)");
assert_valid("<image>", "linear-gradient(yellow, blue)");
assert_valid("<url>", "url(a)");
assert_valid("banana", "banana");
assert_valid("bAnAnA", "bAnAnA");
assert_valid("ba-na-nya", "ba-na-nya");
assert_valid("banana", "banan\\61");
assert_valid("<custom-ident>", "banan\\61");
assert_valid("big | bigger | BIGGER", "bigger");
assert_valid("foo+|bar", "foo foo foo");
assert_valid("default", "default");
assert_valid("banana\t", "banana");
assert_valid("\nbanana\r\n", "banana");
assert_valid("ba\f\n|\tna\r|nya", "nya");
assert_valid(null, "null");
assert_valid(undefined, "undefined");
assert_valid(["array"], "array");
// Invalid syntax
assert_invalid("banana,nya", "banana");
assert_invalid("banan\\61", "banana");
assert_invalid("<\\6c ength>", "10px");
assert_invalid("<banana>", "banana");
assert_invalid("<Number>", "10");
assert_invalid("<length", "10px");
assert_invalid("<LENGTH>", "10px");
assert_invalid("< length>", "10px");
assert_invalid("<length >", "10px");
assert_invalid("<length> +", "10px");
assert_invalid("<length>++", "10px");
assert_invalid("<length> | *", "10px");
assert_invalid("*|banana", "banana");
assert_invalid("*+", "banana");
assert_invalid("initial", "initial");
assert_invalid("inherit", "inherit");
assert_invalid("unset", "unset");
assert_invalid("<length>|initial", "10px");
assert_invalid("<length>|INHERIT", "10px");
assert_invalid("<percentage>|unsEt", "2%");
// Invalid initialValue
assert_invalid("*", "initial");
assert_invalid("*", "inherit");
assert_invalid("*", "unset");
assert_invalid("*", "revert");
assert_invalid("<custom-ident>", "initial");
assert_invalid("<custom-ident>+", "foo inherit bar");
assert_invalid("*", ")");
assert_invalid("*", "([)]");
assert_invalid("*", "whee!");
assert_invalid("*", '"\n');
assert_invalid("*", "url(moo '')");
assert_invalid("*", "semi;colon");
assert_invalid("*", "var(invalid var ref)");
assert_invalid("*", "var(--foo)");
assert_invalid("banana", "bAnAnA");
assert_invalid("<length>", "var(--moo)");
assert_invalid("<length>", "10");
assert_invalid("<length>", "10%");
assert_invalid("<length>", "calc(5px + 10%)");
assert_invalid("<length>", "calc(5px * 3px / 6px)");
assert_invalid("<length>", "10em");
assert_invalid("<length>", "10vmin");
assert_invalid("<length>", "calc(4px + 3em)");
assert_invalid("<length>", "calc(4px + calc(8 * 2em))");
assert_invalid("<length>+", "calc(2ex + 16px)");
assert_invalid("<length>+", "10px calc(20px + 4rem)");
assert_invalid("<percentage> | <length>+", "calc(100vh - 10px) 30px");
assert_invalid("<length>", "10px;");
assert_invalid("<length-percentage>", "calc(2px + 10% + 7ex)");
assert_invalid("<percentage>", "0");
assert_invalid("<integer>", "1.0");
assert_invalid("<integer>", "1e0");
assert_invalid("<number>|foo", "foo var(--foo, bla)");
assert_invalid("<angle>", "0");
assert_invalid("<angle>", "10%");
assert_invalid("<time>", "2px");
assert_invalid("<resolution>", "10");
assert_invalid("<transform-list>", "scale()");
assert_invalid("<transform-list>+", "translateX(2px) rotate(20deg)");
assert_invalid("<color>", "fancy-looking");
assert_invalid("<image>", "banana.png");
assert_invalid("<url>", "banana.png");
</script>

View file

@ -0,0 +1,42 @@
<!DOCTYPE HTML>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#register-a-custom-property" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
// Tests for error checking during property registration
test(function() {
assert_throws(new TypeError(), () => CSS.registerProperty());
assert_throws(new TypeError(), () => CSS.registerProperty(undefined));
assert_throws(new TypeError(), () => CSS.registerProperty(true));
assert_throws(new TypeError(), () => CSS.registerProperty(2));
assert_throws(new TypeError(), () => CSS.registerProperty("css"));
assert_throws(new TypeError(), () => CSS.registerProperty(null));
}, "registerProperty requires a Dictionary type");
test(function() {
// Valid property names, shouldn't throw
CSS.registerProperty({name: '--name1'});
CSS.registerProperty({name: '--name2, no need for escapes'});
CSS.registerProperty({name: ['--name', 3]});
// Invalid property names
assert_throws(new TypeError(), () => CSS.registerProperty({}));
assert_throws(new SyntaxError(), () => CSS.registerProperty({name: 'no-leading-dash'}));
assert_throws(new SyntaxError(), () => CSS.registerProperty({name: ''}));
assert_throws(new SyntaxError(), () => CSS.registerProperty({name: '\\--name'}));
}, "registerProperty requires a name matching <custom-property-name>");
test(function() {
CSS.registerProperty({name: '--syntax-test-1', syntax: '*'});
CSS.registerProperty({name: '--syntax-test-2', syntax: ' * '});
assert_throws(new SyntaxError(),
() => CSS.registerProperty({name: '--syntax-test-3', syntax: 'length'}));
}, "registerProperty only allows omitting initialValue is syntax is '*'");
test(function() {
CSS.registerProperty({name: '--re-register', syntax: '<length>', initialValue: '0px'});
assert_throws({name: 'InvalidModificationError'},
() => CSS.registerProperty({name: '--re-register', syntax: '<percentage>', initialValue: '0%'}));
}, "registerProperty fails for an already registered property");
</script>

View file

@ -0,0 +1,47 @@
<!DOCTYPE HTML>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-propertydescriptor-inherits" />
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#register-a-custom-property" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#outer {
--inherited-length-1: 10px;
--inherited-length-2: var(--non-inherited-length-1);
--inherited-length-3: 30px;
--non-inherited-length-1: 22px;
--non-inherited-length-3: calc(var(--non-inherited-length-2) * 10);
}
#inner {
--inherited-length-3: 15px;
--non-inherited-length-1: 40px;
--non-inherited-length-2: 90px;
}
</style>
<div id=outer><div id=inner></div></div>
<script>
CSS.registerProperty({name: '--inherited-length-1', syntax: '<length>', initialValue: '1px', inherits: true});
CSS.registerProperty({name: '--inherited-length-2', syntax: '<length>', initialValue: '2px', inherits: true});
CSS.registerProperty({name: '--inherited-length-3', syntax: '<length>', initialValue: '3px', inherits: true});
CSS.registerProperty({name: '--non-inherited-length-1', syntax: '<length>', initialValue: '4px'});
CSS.registerProperty({name: '--non-inherited-length-2', syntax: '<length>', initialValue: '5px'});
CSS.registerProperty({name: '--non-inherited-length-3', syntax: '<length>', initialValue: '6px'});
test(function() {
outerComputedStyle = getComputedStyle(outer);
assert_equals(outerComputedStyle.getPropertyValue('--inherited-length-1'), '10px');
assert_equals(outerComputedStyle.getPropertyValue('--inherited-length-2'), '22px');
assert_equals(outerComputedStyle.getPropertyValue('--inherited-length-3'), '30px');
assert_equals(outerComputedStyle.getPropertyValue('--non-inherited-length-1'), '22px');
assert_equals(outerComputedStyle.getPropertyValue('--non-inherited-length-2'), '5px');
assert_equals(outerComputedStyle.getPropertyValue('--non-inherited-length-3'), '50px');
innerComputedStyle = getComputedStyle(inner);
assert_equals(innerComputedStyle.getPropertyValue('--inherited-length-1'), '10px');
assert_equals(innerComputedStyle.getPropertyValue('--inherited-length-2'), '22px');
assert_equals(innerComputedStyle.getPropertyValue('--inherited-length-3'), '15px');
assert_equals(innerComputedStyle.getPropertyValue('--non-inherited-length-1'), '40px');
assert_equals(innerComputedStyle.getPropertyValue('--non-inherited-length-2'), '90px');
assert_equals(innerComputedStyle.getPropertyValue('--non-inherited-length-3'), '6px');
}, "Registered properties are correctly inherited (or not) depending on the inherits flag.");
</script>

View file

@ -0,0 +1,88 @@
<!DOCTYPE HTML>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#calculation-of-computed-values" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#divWithFontSizeSet, #parentDiv {
font-size: 10px;
}
#divWithFontSizeSet, #divWithFontSizeInherited {
--length-1: 12px;
--length-2: 13vw;
--length-3: 14em;
--length-4: 15vmin;
--length-5: calc(16px - 7em + 10vh);
--length-6: var(--length-3);
--length-percentage-1: 17em;
--length-percentage-2: 18%;
--length-percentage-3: calc(19em - 2%);
--list-1: 10px 3em;
--list-2: 4em 9px;
--list-3: 3% 10vmax 22px;
--list-4: calc(50% + 1em) 4px;
}
#fontSizeCycle {
--font-size: 2em;
font-size: var(--font-size);
}
</style>
<div id=divWithFontSizeSet></div>
<div id=parentDiv>
<div id=divWithFontSizeInherited></div>
<div id=fontSizeCycle></div>
</div>
<script>
CSS.registerProperty({name: '--length-1', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--length-2', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--length-3', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--length-4', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--length-5', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--length-6', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--length-percentage-1', syntax: '<length-percentage>', initialValue: '0px'});
CSS.registerProperty({name: '--length-percentage-2', syntax: '<length-percentage>', initialValue: '0px'});
CSS.registerProperty({name: '--length-percentage-3', syntax: '<length-percentage>', initialValue: '0px'});
CSS.registerProperty({name: '--list-1', syntax: '<length>+', initialValue: '0px'});
CSS.registerProperty({name: '--list-2', syntax: '<length>+', initialValue: '0px'});
CSS.registerProperty({name: '--list-3', syntax: '<length-percentage>+', initialValue: '0px'});
CSS.registerProperty({name: '--list-4', syntax: '<length-percentage>+', initialValue: '0px'});
CSS.registerProperty({name: '--font-size', syntax: '<length>', initialValue: '0px'});
for (var element of [divWithFontSizeSet, divWithFontSizeInherited]) {
var id = element.id;
var computedStyle = getComputedStyle(element);
test(function() {
assert_equals(computedStyle.getPropertyValue('--length-1'), '12px');
assert_equals(computedStyle.getPropertyValue('--length-2'), '104px');
assert_equals(computedStyle.getPropertyValue('--length-3'), '140px');
assert_equals(computedStyle.getPropertyValue('--length-4'), '90px');
assert_equals(computedStyle.getPropertyValue('--length-5'), '6px');
assert_equals(computedStyle.getPropertyValue('--length-6'), '140px');
}, "<length> values are computed correctly for " + id);
test(function() {
assert_equals(computedStyle.getPropertyValue('--length-percentage-1'), '170px');
assert_equals(computedStyle.getPropertyValue('--length-percentage-2'), '18%');
assert_equals(computedStyle.getPropertyValue('--length-percentage-3'), 'calc(190px + -2%)');
}, "<length-percentage> values are computed correctly for " + id);
test(function() {
assert_equals(computedStyle.getPropertyValue('--list-1'), '10px 30px');
assert_equals(computedStyle.getPropertyValue('--list-2'), '40px 9px');
}, "<length>+ values are computed correctly for " + id);
test(function() {
assert_equals(computedStyle.getPropertyValue('--list-3'), '3% 80px 22px');
assert_equals(computedStyle.getPropertyValue('--list-4'), 'calc(10px + 50%) 4px');
}, "<length-percentage>+ values are computed correctly for " + id);
}
test(function() {
var computedStyle = getComputedStyle(fontSizeCycle);
assert_equals(computedStyle.fontSize, '20px');
assert_equals(computedStyle.getPropertyValue('--font-size'), '40px');
}, "font-size with a var() reference to a registered property using ems works as expected");
</script>

View file

@ -0,0 +1,86 @@
<!DOCTYPE HTML>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-css-registerproperty" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#inner {
--length: 10px;
--color: red;
}
#outer {
--length: 77px;
--color: blue;
}
</style>
<div id=outer>
<div id=inner></div>
</div>
<script>
var computedStyle = getComputedStyle(inner);
var inlineStyle = inner.style;
var sheetStyle = document.styleSheets[0].cssRules[0].style;
test(function() {
// Nothing registered yet, whatever you specify works
assert_equals(computedStyle.getPropertyValue('--length'), ' 10px');
assert_equals(computedStyle.getPropertyValue('--color'), ' red');
inlineStyle.setProperty('--length', '5');
inlineStyle.setProperty('--color', 'hello');
assert_equals(inlineStyle.getPropertyValue('--length'), '5');
assert_equals(inlineStyle.getPropertyValue('--color'), 'hello');
assert_equals(computedStyle.getPropertyValue('--length'), '5');
assert_equals(computedStyle.getPropertyValue('--color'), 'hello');
}, "CSSOM setters function as expected for unregistered properties");
CSS.registerProperty({name: '--length', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--color', syntax: '<color>', initialValue: 'white', inherits: true});
test(function() {
assert_equals(inlineStyle.getPropertyValue('--length'), '5');
assert_equals(inlineStyle.getPropertyValue('--color'), 'hello');
assert_equals(computedStyle.getPropertyValue('--length'), '0px');
assert_equals(computedStyle.getPropertyValue('--color'), 'blue');
}, "Formerly valid values are still readable from inline styles but are computed as the unset value");
test(function() {
inlineStyle.setProperty('--length', 'hi');
inlineStyle.setProperty('--color', '20');
assert_equals(inlineStyle.getPropertyValue('--length'), '5');
assert_equals(inlineStyle.getPropertyValue('--color'), 'hello');
}, "Values not matching the registered type can't be set");
test(function() {
inlineStyle.removeProperty('--length');
inlineStyle.setProperty('--color', '');
assert_equals(inlineStyle.getPropertyValue('--length'), '');
assert_equals(inlineStyle.getPropertyValue('--color'), '');
assert_equals(computedStyle.getPropertyValue('--length'), '10px');
assert_equals(computedStyle.getPropertyValue('--color'), 'red');
}, "Values can be removed from inline styles");
test(function() {
sheetStyle.setProperty('--length', 'banana'); // Invalid, no change
assert_equals(computedStyle.getPropertyValue('--length'), '10px');
sheetStyle.setProperty('--length', '20px');
assert_equals(computedStyle.getPropertyValue('--length'), '20px');
sheetStyle.setProperty('--length', 'initial');
assert_equals(computedStyle.getPropertyValue('--length'), '0px');
}, "Stylesheets can be modified by CSSOM");
test(function() {
inlineStyle.setProperty('--length', '30px');
inlineStyle.setProperty('--color', 'pink');
assert_equals(inlineStyle.getPropertyValue('--length'), '30px');
assert_equals(inlineStyle.getPropertyValue('--color'), 'pink');
assert_equals(computedStyle.getPropertyValue('--length'), '30px');
assert_equals(computedStyle.getPropertyValue('--color'), 'pink');
inlineStyle.setProperty('--color', 'inherit');
assert_equals(inlineStyle.getPropertyValue('--color'), 'inherit');
assert_equals(computedStyle.getPropertyValue('--color'), 'blue');
}, "Valid values can be set on inline styles");
</script>

View file

@ -0,0 +1,33 @@
<!DOCTYPE HTML>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-propertydescriptor-initialvalue" />
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#register-a-custom-property" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#target {
background: var(--inherited-color);
color: var(--non-inherited-color);
}
</style>
<div id=target></div>
<script>
CSS.registerProperty({name: '--length', syntax: '<length>', initialValue: 'calc(10px + 15px)'});
CSS.registerProperty({name: '--length-percentage', syntax: '<length-percentage>', initialValue: 'calc(1in + 10% + 4px)'});
CSS.registerProperty({name: '--inherited-color', syntax: '<color>', initialValue: 'pink', inherits: true});
CSS.registerProperty({name: '--non-inherited-color', syntax: '<color>', initialValue: 'purple'});
CSS.registerProperty({name: '--single-transform-list', syntax: '<transform-list>', initialValue: 'scale(calc(2 + 2))'});
CSS.registerProperty({name: '--multiple-transform-list', syntax: '<transform-list>', initialValue: 'scale(calc(2 + 1)) translateX(calc(3px + 1px))'});
test(function() {
computedStyle = getComputedStyle(target);
assert_equals(computedStyle.getPropertyValue('--length'), '25px');
assert_equals(computedStyle.getPropertyValue('--length-percentage'), 'calc(100px + 10%)');
assert_equals(computedStyle.getPropertyValue('--inherited-color'), 'pink');
assert_equals(computedStyle.getPropertyValue('--non-inherited-color'), 'purple');
assert_equals(computedStyle.getPropertyValue('--single-transform-list'), 'scale(4)');
assert_equals(computedStyle.getPropertyValue('--multiple-transform-list'), 'scale(3) translateX(4px)');
assert_equals(computedStyle.backgroundColor, 'rgb(255, 192, 203)');
assert_equals(computedStyle.color, 'rgb(128, 0, 128)');
}, "Initial values of registered properties can be referenced when no custom properties are explicitly set.");
</script>

View file

@ -0,0 +1,145 @@
<!DOCTYPE HTML>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-css-registerproperty" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#test1 {
--registered-1-a: var(--registered-1-b, 10px);
--registered-1-b: var(--registered-1-a, 20px);
--registered-1-c: var(--registered-1-b, 30px);
--registered-1-d: var(--registered-1-b);
--unregistered-1-a:var(--registered-1-a,40px);
--unregistered-1-a:var(--registered-1-a);
left: var(--registered-1-a, 50px);
top: var(--registered-1-b, 60px);
}
</style>
<div id=test1></div>
<script>
test(function() {
CSS.registerProperty({name: '--registered-1-a', syntax: '<length>', initialValue: '1px'});
CSS.registerProperty({name: '--registered-1-b', syntax: '<length>', initialValue: '2px'});
CSS.registerProperty({name: '--registered-1-c', syntax: '<length>', initialValue: '3px'});
CSS.registerProperty({name: '--registered-1-d', syntax: '<length>', initialValue: '4px'});
computedStyle = getComputedStyle(test1);
assert_equals(computedStyle.getPropertyValue('--registered-1-a'), '1px');
assert_equals(computedStyle.getPropertyValue('--registered-1-b'), '2px');
assert_equals(computedStyle.getPropertyValue('--registered-1-c'), '2px');
assert_equals(computedStyle.getPropertyValue('--registered-1-d'), '2px');
assert_equals(computedStyle.getPropertyValue('--unregistered-1-a'), '1px');
assert_equals(computedStyle.left, '1px');
assert_equals(computedStyle.top, '2px');
}, "A var() cycle between two registered properties is handled correctly.");
</script>
<style>
#test2 {
--registered-2-a: var(--unregistered-2-a, 10px);
--unregistered-2-a:var(--registered-2-a,20px);
--registered-2-b: var(--registered-2-a, 30px);
--registered-2-c: var(--registered-2-a);
--registered-2-d: var(--unregistered-2-a, 40px);
--registered-2-e: var(--unregistered-2-a);
--unregistered-2-b:var(--registered-2-a,50px);
--unregistered-2-c:var(--registered-2-a);
--unregistered-2-d:var(--unregistered-2-a,60px);
--unregistered-2-e:var(--unregistered-2-a);
left: var(--registered-2-a, 70px);
top: var(--unregistered-2-a, 80px);
}
</style>
<div id=test2></div>
<script>
test(function() {
CSS.registerProperty({name: '--registered-2-a', syntax: '<length>', initialValue: '1px'});
CSS.registerProperty({name: '--registered-2-b', syntax: '<length>', initialValue: '2px'});
CSS.registerProperty({name: '--registered-2-c', syntax: '<length>', initialValue: '3px'});
CSS.registerProperty({name: '--registered-2-d', syntax: '<length>', initialValue: '4px'});
CSS.registerProperty({name: '--registered-2-e', syntax: '<length>', initialValue: '5px'});
computedStyle = getComputedStyle(test2);
assert_equals(computedStyle.getPropertyValue('--registered-2-a'), '1px');
assert_equals(computedStyle.getPropertyValue('--unregistered-2-a'), '');
assert_equals(computedStyle.getPropertyValue('--registered-2-b'), '1px');
assert_equals(computedStyle.getPropertyValue('--registered-2-c'), '1px');
assert_equals(computedStyle.getPropertyValue('--registered-2-d'), '40px');
assert_equals(computedStyle.getPropertyValue('--registered-2-e'), '5px');
assert_equals(computedStyle.getPropertyValue('--unregistered-2-b'), '1px');
assert_equals(computedStyle.getPropertyValue('--unregistered-2-c'), '1px');
assert_equals(computedStyle.getPropertyValue('--unregistered-2-d'), '60px');
assert_equals(computedStyle.getPropertyValue('--unregistered-2-e'), '');
assert_equals(computedStyle.left, '1px');
assert_equals(computedStyle.top, '80px');
}, "A var() cycle between a registered properties and an unregistered property is handled correctly.");
</script>
<style>
#test3 {
--unregistered-3-a:var(--unregistered-3-b,10px);
--unregistered-3-b:var(--unregistered-3-a,20px);
--registered-3-a: var(--unregistered-3-a, 30px);
--registered-3-b: var(--unregistered-3-a);
--registered-3-c: var(--unregistered-3-b, 40px);
--registered-3-d: var(--registered-3-c, 50px);
left: var(--registered-3-d, 60px);
top: var(--registered-3-b, 70px);
}
</style>
<div id=test3></div>
<script>
test(function() {
CSS.registerProperty({name: '--registered-3-a', syntax: '<length>', initialValue: '1px'});
CSS.registerProperty({name: '--registered-3-b', syntax: '<length>', initialValue: '2px'});
CSS.registerProperty({name: '--registered-3-c', syntax: '<length>', initialValue: '3px'});
CSS.registerProperty({name: '--registered-3-d', syntax: '<length>', initialValue: '4px'});
computedStyle = getComputedStyle(test3);
assert_equals(computedStyle.getPropertyValue('--unregistered-3-a'), '');
assert_equals(computedStyle.getPropertyValue('--unregistered-3-b'), '');
assert_equals(computedStyle.getPropertyValue('--registered-3-a'), '30px');
assert_equals(computedStyle.getPropertyValue('--registered-3-b'), '2px');
assert_equals(computedStyle.getPropertyValue('--registered-3-c'), '40px');
assert_equals(computedStyle.getPropertyValue('--registered-3-d'), '40px');
assert_equals(computedStyle.left, '40px');
assert_equals(computedStyle.top, '2px');
}, "A var() cycle between a two unregistered properties is handled correctly.");
</script>
<style>
#test4 {
--registered-4-a:var(--unregistered-4-a,hello);
--unregistered-4-a:var(--registered-4-a,world);
--registered-4-b:var(--unregistered-4-a,meow);
--registered-4-c:var(--unregistered-4-a);
--unregistered-4-b:var(--unregistered-4-a,woof);
--unregistered-4-c:var(--unregistered-4-a);
transition-property: var(--registered-4-a, water);
}
</style>
<div id=test4></div>
<script>
test(function() {
CSS.registerProperty({name: '--registered-4-a', syntax: '*'});
CSS.registerProperty({name: '--registered-4-b', syntax: '*', initialValue: 'moo'});
CSS.registerProperty({name: '--registered-4-c', syntax: '*', initialValue: 'circle'});
computedStyle = getComputedStyle(test4);
assert_equals(computedStyle.getPropertyValue('--registered-4-a'), '');
assert_equals(computedStyle.getPropertyValue('--unregistered-4-a'), '');
assert_equals(computedStyle.getPropertyValue('--registered-4-b'), 'meow');
assert_equals(computedStyle.getPropertyValue('--registered-4-c'), 'circle');
assert_equals(computedStyle.getPropertyValue('--unregistered-4-b'), 'woof');
assert_equals(computedStyle.getPropertyValue('--unregistered-4-c'), '');
assert_equals(computedStyle.transitionProperty, 'water');
}, "A var() cycle between a syntax:'*' property and an unregistered property is handled correctly.");
</script>

View file

@ -0,0 +1,61 @@
<!DOCTYPE HTML>
<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-css-registerproperty" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
div {
--registered-length-1: 10px;
--registered-length-2: var(--registered-length-1);
--registered-length-3: var(--length-1);
--registered-length-4: calc(var(--length-1) + 40px);
--registered-length-5: var(--invalid, 70px);
--registered-length-6: calc(var(--registered-length-3)*4);
--registered-length-7: var(--123px, 6px);
--length-1: 20px;
--length-2: var(--registered-length-1);
--length-3: calc(var(--123px, 6px) + var(--123px));
--percentage: 10%;
--registered-length-invalid: var(--percentage);
--registered-token-stream-1:var(--invalid);
--registered-token-stream-2:var(--invalid,fallback);
--token-stream-1:var(--registered-token-stream-1,moo);
}
</style>
<div id=element></div>
<script>
CSS.registerProperty({name: '--123px', syntax: '<length>', initialValue: '123px'});
CSS.registerProperty({name: '--registered-length-1', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--registered-length-2', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--registered-length-3', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--registered-length-4', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--registered-length-5', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--registered-length-6', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--registered-length-7', syntax: '<length>', initialValue: '0px'});
CSS.registerProperty({name: '--registered-length-invalid', syntax: '<length>', initialValue: '15px'});
CSS.registerProperty({name: '--registered-token-stream-1', syntax: '*'});
CSS.registerProperty({name: '--registered-token-stream-2', syntax: '*'});
test(function() {
computedStyle = getComputedStyle(element);
assert_equals(computedStyle.getPropertyValue('--registered-length-1'), '10px');
assert_equals(computedStyle.getPropertyValue('--registered-length-2'), '10px');
assert_equals(computedStyle.getPropertyValue('--registered-length-3'), '20px');
assert_equals(computedStyle.getPropertyValue('--registered-length-4'), '60px');
assert_equals(computedStyle.getPropertyValue('--registered-length-5'), '70px');
assert_equals(computedStyle.getPropertyValue('--registered-length-6'), '80px');
assert_equals(computedStyle.getPropertyValue('--registered-length-7'), '123px');
assert_equals(computedStyle.getPropertyValue('--length-1'), ' 20px');
assert_equals(computedStyle.getPropertyValue('--length-2'), ' 10px');
assert_equals(computedStyle.getPropertyValue('--length-3'), ' calc(123px + 123px)');
assert_equals(computedStyle.getPropertyValue('--registered-length-invalid'), '15px');
assert_equals(computedStyle.getPropertyValue('--registered-token-stream-1'), '');
assert_equals(computedStyle.getPropertyValue('--registered-token-stream-2'), 'fallback');
assert_equals(computedStyle.getPropertyValue('--token-stream-1'), 'moo');
}, "var() references work with registered properties");
</script>

View file

@ -12,7 +12,8 @@ const TESTS = {
// specified -> expected // specified -> expected
"rgb(calc(0), calc(255 + 0), calc(140 - 139 - 1))": "rgb(0, 255, 0)", "rgb(calc(0), calc(255 + 0), calc(140 - 139 - 1))": "rgb(0, 255, 0)",
"rgba(calc(0%) calc(100%) calc(0%) / calc(10% * 10))": "rgb(0, 255, 0)", "rgba(calc(0%) calc(100%) calc(0%) / calc(10% * 10))": "rgb(0, 255, 0)",
"hsl(calc(5deg * (360 / 5)), calc(10% * 10), calc(10% * 10))": "rgb(255, 255, 255)" "hsl(calc(5deg * (360 / 5)), calc(10% * 10), calc(10% * 10))": "rgb(255, 255, 255)",
"hsla(calc(5 * (360 / 5)), calc(10% * 10), calc(10% * 10), calc(1.0))": "rgb(255, 255, 255)"
} }
test(function() { test(function() {

View file

@ -10,7 +10,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-size: 36px 36px; background-size: 36px 36px;
background-repeat: repeat; background-repeat: repeat;
} }

View file

@ -13,7 +13,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: round; background-repeat: round;
} }
.outer_gradient { .outer_gradient {

View file

@ -13,7 +13,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: round round; background-repeat: round round;
} }
.outer_gradient { .outer_gradient {

View file

@ -14,7 +14,7 @@
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-size: 36px 36px; background-size: 36px 36px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: repeat round; background-repeat: repeat round;
} }
.outer_gradient { .outer_gradient {

View file

@ -14,7 +14,7 @@
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-size: 32px 36px; background-size: 32px 36px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: round repeat; background-repeat: round repeat;
} }
.outer_gradient { .outer_gradient {

View file

@ -14,7 +14,7 @@
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-size: 36px 32px; background-size: 36px 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: repeat round; background-repeat: repeat round;
} }
.outer_gradient { .outer_gradient {

View file

@ -10,7 +10,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-size: 36px 36px; background-size: 36px 36px;
background-repeat: repeat-x; background-repeat: repeat-x;
} }

View file

@ -13,7 +13,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: round no-repeat; background-repeat: round no-repeat;
} }
.outer_gradient { .outer_gradient {

View file

@ -10,7 +10,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-size: 36px 36px; background-size: 36px 36px;
background-repeat: repeat-y; background-repeat: repeat-y;
} }

View file

@ -13,7 +13,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-size: 36px auto; background-size: 36px auto;
background-repeat: no-repeat round; background-repeat: no-repeat round;
} }

View file

@ -10,7 +10,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-size: 36px 36px; background-size: 36px 36px;
background-repeat: repeat; background-repeat: repeat;
background-position: 5px 5px; background-position: 5px 5px;

View file

@ -13,7 +13,7 @@
width: 72px; width: 72px;
height: 72px; height: 72px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: round; background-repeat: round;
background-position: 5px 5px; background-position: 5px 5px;
} }

View file

@ -20,7 +20,7 @@
{ {
height: 32px; height: 32px;
width: 32px; width: 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
} }
.outer_gradient .outer_gradient
{ {

View file

@ -20,7 +20,7 @@
{ {
height: 32px; height: 32px;
width: 32px; width: 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
} }
</style> </style>
</head> </head>

View file

@ -13,7 +13,7 @@
width: 96px; width: 96px;
height: 106px; height: 106px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space; background-repeat: space;
} }
</style> </style>

View file

@ -13,7 +13,7 @@
width: 106px; width: 106px;
height: 106px; height: 106px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space; background-repeat: space;
} }
.outer_gradient { .outer_gradient {

View file

@ -13,7 +13,7 @@
width: 106px; width: 106px;
height: 106px; height: 106px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-position: 15px 15px; background-position: 15px 15px;
background-repeat: space; background-repeat: space;
} }

View file

@ -13,7 +13,7 @@
width: 106px; width: 106px;
height: 106px; height: 106px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space space; background-repeat: space space;
} }
.outer_gradient { .outer_gradient {

View file

@ -10,7 +10,7 @@
width: 48px; width: 48px;
height: 48px; height: 48px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 5px 5px; background-position: 5px 5px;
} }

View file

@ -13,7 +13,7 @@
width: 48px; width: 48px;
height: 48px; height: 48px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space; background-repeat: space;
background-position: 5px 5px; background-position: 5px 5px;
} }

View file

@ -18,7 +18,7 @@
{ {
height: 32px; height: 32px;
width: 32px; width: 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
margin-top: 40px; margin-top: 40px;
} }
.outer2 .outer2
@ -34,7 +34,7 @@
{ {
height: 32px; height: 32px;
width: 32px; width: 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
margin-left: 40px; margin-left: 40px;
} }
.inner_gradient1 .inner_gradient1

View file

@ -17,14 +17,14 @@
.inner1 { .inner1 {
width: 106px; width: 106px;
height: 106px; height: 106px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space no-repeat; background-repeat: space no-repeat;
background-position: 7px 40px; background-position: 7px 40px;
} }
.inner2 { .inner2 {
width: 106px; width: 106px;
height: 106px; height: 106px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: no-repeat space; background-repeat: no-repeat space;
background-position: 40px 7px; background-position: 40px 7px;
} }

View file

@ -19,7 +19,7 @@
{ {
height: 32px; height: 32px;
width: 32px; width: 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
} }
.inner_gradient .inner_gradient
{ {

View file

@ -13,7 +13,7 @@
width: 96px; width: 96px;
height: 106px; height: 106px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: repeat space; background-repeat: repeat space;
} }
.outer_graident { .outer_graident {

View file

@ -19,7 +19,7 @@
{ {
height: 32px; height: 32px;
width: 32px; width: 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
} }
.inner_gradient .inner_gradient
{ {

View file

@ -13,7 +13,7 @@
width: 106px; width: 106px;
height: 96px; height: 96px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space repeat; background-repeat: space repeat;
} }
.outer_gradient { .outer_gradient {

View file

@ -19,7 +19,7 @@
{ {
height: 32px; height: 32px;
width: 64px; width: 64px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 64px 32px; background-size: 64px 32px;
} }

View file

@ -14,7 +14,7 @@
height: 106px; height: 106px;
border: 1px solid black; border: 1px solid black;
background-size: 60px 32px; background-size: 60px 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: round space; background-repeat: round space;
} }
.outer_gradient { .outer_gradient {

View file

@ -19,7 +19,7 @@
{ {
height: 64px; height: 64px;
width: 32px; width: 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 32px 64px; background-size: 32px 64px;
} }

View file

@ -14,7 +14,7 @@
height: 192px; height: 192px;
border: 1px solid black; border: 1px solid black;
background-size: 32px 60px; background-size: 32px 60px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space round; background-repeat: space round;
} }
.outer_gradient { .outer_gradient {

View file

@ -11,7 +11,7 @@
border: 20px solid rgba(0, 0, 0, 0.5); border: 20px solid rgba(0, 0, 0, 0.5);
width: 106px; width: 106px;
height: 106px; height: 106px;
background-image: url(aqua-yellow-37x37.png); background-image: url(support/aqua-yellow-37x37.png);
background-repeat: repeat; background-repeat: repeat;
} }
.outer_gradient .outer_gradient

View file

@ -13,7 +13,7 @@
width: 106px; width: 106px;
height: 106px; height: 106px;
border: 20px solid rgba(0, 0, 0, .5); border: 20px solid rgba(0, 0, 0, .5);
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space; background-repeat: space;
} }
.outer_gradient { .outer_gradient {

View file

@ -20,7 +20,7 @@
{ {
height: 32px; height: 32px;
width: 32px; width: 32px;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
} }
</style> </style>
</head> </head>

View file

@ -13,7 +13,7 @@
width: 106px; width: 106px;
height: 96px; height: 96px;
border: 1px solid black; border: 1px solid black;
background-image: url(aqua-yellow-32x32.png); background-image: url(support/aqua-yellow-32x32.png);
background-repeat: space; background-repeat: space;
} }
</style> </style>

View file

@ -16,7 +16,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner2 { .inner2 {
position: absolute; position: absolute;
@ -25,7 +25,7 @@
width: 34px; width: 34px;
height: 27px; height: 27px;
background-size: 102px 81px; background-size: 102px 81px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -34px 0px; background-position: -34px 0px;
} }
.inner3 { .inner3 {
@ -34,7 +34,7 @@
left: 61px; left: 61px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner4 { .inner4 {
position: absolute; position: absolute;
@ -43,7 +43,7 @@
width: 27px; width: 27px;
height: 34px; height: 34px;
background-size: 81px 102px; background-size: 81px 102px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -34px; background-position: 0px -34px;
} }
.inner5 { .inner5 {
@ -53,7 +53,7 @@
width: 27px; width: 27px;
height: 34px; height: 34px;
background-size: 81px 102px; background-size: 81px 102px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -34px; background-position: -54px -34px;
} }
.inner6 { .inner6 {
@ -62,7 +62,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner7 { .inner7 {
position: absolute; position: absolute;
@ -71,7 +71,7 @@
width: 34px; width: 34px;
height: 27px; height: 27px;
background-size: 102px 81px; background-size: 102px 81px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -34px -54px; background-position: -34px -54px;
} }
.inner8 { .inner8 {
@ -80,7 +80,7 @@
left: 61px; left: 61px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
</style> </style>
</head> </head>

View file

@ -14,7 +14,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: round round; border-image-repeat: round round;
width: 34px; width: 34px;
height: 34px; height: 34px;

View file

@ -16,7 +16,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner2 { .inner2 {
position: absolute; position: absolute;
@ -25,7 +25,7 @@
width: 13px; width: 13px;
height: 27px; height: 27px;
background-size: 39px 81px; background-size: 39px 81px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -13px 0px; background-position: -13px 0px;
} }
.inner3 { .inner3 {
@ -34,7 +34,7 @@
left: 40px; left: 40px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner4 { .inner4 {
position: absolute; position: absolute;
@ -43,7 +43,7 @@
width: 27px; width: 27px;
height: 13px; height: 13px;
background-size: 81px 39px; background-size: 81px 39px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -13px; background-position: 0px -13px;
} }
.inner5 { .inner5 {
@ -53,7 +53,7 @@
width: 27px; width: 27px;
height: 13px; height: 13px;
background-size: 81px 39px; background-size: 81px 39px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -13px; background-position: -54px -13px;
} }
.inner6 { .inner6 {
@ -62,7 +62,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner7 { .inner7 {
position: absolute; position: absolute;
@ -71,7 +71,7 @@
width: 13px; width: 13px;
height: 27px; height: 27px;
background-size: 39px 81px; background-size: 39px 81px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -13px -54px; background-position: -13px -54px;
} }
.inner8 { .inner8 {
@ -80,7 +80,7 @@
left: 40px; left: 40px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
</style> </style>
</head> </head>

View file

@ -14,7 +14,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: round round; border-image-repeat: round round;
width: 13px; width: 13px;
height: 13px; height: 13px;

View file

@ -16,7 +16,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner2 { .inner2 {
position: absolute; position: absolute;
@ -24,7 +24,7 @@
left: 31px; left: 31px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px 0px; background-position: -27px 0px;
} }
.inner3 { .inner3 {
@ -33,7 +33,7 @@
left: 62px; left: 62px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner4 { .inner4 {
position: absolute; position: absolute;
@ -41,7 +41,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -27px; background-position: 0px -27px;
} }
.inner5 { .inner5 {
@ -50,7 +50,7 @@
left: 62px; left: 62px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -27px; background-position: -54px -27px;
} }
.inner6 { .inner6 {
@ -59,7 +59,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner7 { .inner7 {
position: absolute; position: absolute;
@ -67,7 +67,7 @@
left: 31px; left: 31px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px -54px; background-position: -27px -54px;
} }
.inner8 { .inner8 {
@ -76,7 +76,7 @@
left: 62px; left: 62px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
</style> </style>
</head> </head>

View file

@ -14,7 +14,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: space space; border-image-repeat: space space;
width: 35px; width: 35px;
height: 35px; height: 35px;

View file

@ -16,7 +16,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner2 { .inner2 {
position: absolute; position: absolute;
@ -24,7 +24,7 @@
left: 40px; left: 40px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner3 { .inner3 {
position: absolute; position: absolute;
@ -32,7 +32,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner4 { .inner4 {
position: absolute; position: absolute;
@ -40,7 +40,7 @@
left: 40px; left: 40px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
</style> </style>
</head> </head>

View file

@ -14,7 +14,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: space space; border-image-repeat: space space;
width: 13px; width: 13px;
height: 13px; height: 13px;

View file

@ -16,7 +16,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner2_1 { .inner2_1 {
position: absolute; position: absolute;
@ -24,7 +24,7 @@
left: 29px; left: 29px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px 0px; background-position: -27px 0px;
} }
.inner2_2 { .inner2_2 {
@ -33,7 +33,7 @@
left: 58px; left: 58px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px 0px; background-position: -27px 0px;
} }
.inner3 { .inner3 {
@ -42,7 +42,7 @@
left: 87px; left: 87px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner4_1 { .inner4_1 {
position: absolute; position: absolute;
@ -50,7 +50,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -27px; background-position: 0px -27px;
} }
.inner4_2 { .inner4_2 {
@ -59,7 +59,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -27px; background-position: 0px -27px;
} }
.inner5_1 { .inner5_1 {
@ -68,7 +68,7 @@
left: 87px; left: 87px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -27px; background-position: -54px -27px;
} }
.inner5_2 { .inner5_2 {
@ -77,7 +77,7 @@
left: 87px; left: 87px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -27px; background-position: -54px -27px;
} }
.inner6 { .inner6 {
@ -86,7 +86,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner7_1 { .inner7_1 {
position: absolute; position: absolute;
@ -94,7 +94,7 @@
left: 29px; left: 29px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px -54px; background-position: -27px -54px;
} }
.inner7_2 { .inner7_2 {
@ -103,7 +103,7 @@
left: 58px; left: 58px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px -54px; background-position: -27px -54px;
} }
.inner8 { .inner8 {
@ -112,7 +112,7 @@
left: 87px; left: 87px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
</style> </style>
</head> </head>

View file

@ -14,7 +14,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: space space; border-image-repeat: space space;
width: 60px; width: 60px;
height: 60px; height: 60px;

View file

@ -17,7 +17,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner2 { .inner2 {
position: absolute; position: absolute;
@ -25,7 +25,7 @@
left: 27px; left: 27px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px 0px; background-position: -27px 0px;
} }
.inner3 { .inner3 {
@ -34,7 +34,7 @@
left: 54px; left: 54px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner4 { .inner4 {
position: absolute; position: absolute;
@ -42,7 +42,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -27px; background-position: 0px -27px;
} }
.inner5 { .inner5 {
@ -51,7 +51,7 @@
left: 54px; left: 54px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -27px; background-position: -54px -27px;
} }
.inner6 { .inner6 {
@ -60,7 +60,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner7 { .inner7 {
position: absolute; position: absolute;
@ -68,7 +68,7 @@
left: 27px; left: 27px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px -54px; background-position: -27px -54px;
} }
.inner8 { .inner8 {
@ -77,7 +77,7 @@
left: 54px; left: 54px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
</style> </style>
</head> </head>

View file

@ -11,7 +11,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: stretch stretch; border-image-repeat: stretch stretch;
width: 27px; width: 27px;
height: 27px; height: 27px;

View file

@ -14,7 +14,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: space space; border-image-repeat: space space;
width: 27px; width: 27px;
height: 27px; height: 27px;

View file

@ -17,7 +17,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner2_1 { .inner2_1 {
position: absolute; position: absolute;
@ -25,7 +25,7 @@
left: 27px; left: 27px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px 0px; background-position: -27px 0px;
} }
.inner2_2 { .inner2_2 {
@ -34,7 +34,7 @@
left: 54px; left: 54px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px 0px; background-position: -27px 0px;
} }
.inner2_3 { .inner2_3 {
@ -43,7 +43,7 @@
left: 81px; left: 81px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px 0px; background-position: -27px 0px;
} }
.inner3 { .inner3 {
@ -52,7 +52,7 @@
left: 108px; left: 108px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner4_1 { .inner4_1 {
position: absolute; position: absolute;
@ -60,7 +60,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -27px; background-position: 0px -27px;
} }
.inner4_2 { .inner4_2 {
@ -69,7 +69,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -27px; background-position: 0px -27px;
} }
.inner4_3 { .inner4_3 {
@ -78,7 +78,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: 0px -27px; background-position: 0px -27px;
} }
.inner5_1 { .inner5_1 {
@ -87,7 +87,7 @@
left: 108px; left: 108px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -27px; background-position: -54px -27px;
} }
.inner5_2 { .inner5_2 {
@ -96,7 +96,7 @@
left: 108px; left: 108px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -27px; background-position: -54px -27px;
} }
.inner5_3 { .inner5_3 {
@ -105,7 +105,7 @@
left: 108px; left: 108px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -54px -27px; background-position: -54px -27px;
} }
.inner6 { .inner6 {
@ -114,7 +114,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
.inner7_1 { .inner7_1 {
position: absolute; position: absolute;
@ -122,7 +122,7 @@
left: 27px; left: 27px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px -54px; background-position: -27px -54px;
} }
.inner7_2 { .inner7_2 {
@ -131,7 +131,7 @@
left: 54px; left: 54px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px -54px; background-position: -27px -54px;
} }
.inner7_3 { .inner7_3 {
@ -140,7 +140,7 @@
left: 81px; left: 81px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
background-position: -27px -54px; background-position: -27px -54px;
} }
.inner8 { .inner8 {
@ -149,7 +149,7 @@
left: 108px; left: 108px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("border.png"); background-image: url("support/border.png");
} }
</style> </style>
</head> </head>

View file

@ -11,7 +11,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: repeat repeat; border-image-repeat: repeat repeat;
width: 81px; width: 81px;
height: 81px; height: 81px;

View file

@ -14,7 +14,7 @@
left: 0px; left: 0px;
top: 0px; top: 0px;
border: 27px solid transparent; border: 27px solid transparent;
border-image: url("border.png") 27; border-image: url("support/border.png") 27;
border-image-repeat: space space; border-image-repeat: space space;
width: 81px; width: 81px;
height: 81px; height: 81px;

View file

@ -16,7 +16,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-tl.png"); background-image: url("support/reticule-tl.png");
} }
.inner2 { .inner2 {
position: absolute; position: absolute;
@ -24,7 +24,7 @@
left: 27px; left: 27px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-to.png"); background-image: url("support/reticule-to.png");
} }
.inner3 { .inner3 {
position: absolute; position: absolute;
@ -32,7 +32,7 @@
left: 54px; left: 54px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-tr.png"); background-image: url("support/reticule-tr.png");
} }
.inner4 { .inner4 {
position: absolute; position: absolute;
@ -40,7 +40,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-le.png"); background-image: url("support/reticule-le.png");
} }
.inner5 { .inner5 {
position: absolute; position: absolute;
@ -48,7 +48,7 @@
left: 27px; left: 27px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-ct.png"); background-image: url("support/reticule-ct.png");
} }
.inner6 { .inner6 {
position: absolute; position: absolute;
@ -56,7 +56,7 @@
left: 54px; left: 54px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-ri.png"); background-image: url("support/reticule-ri.png");
} }
.inner7 { .inner7 {
position: absolute; position: absolute;
@ -64,7 +64,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-bl.png"); background-image: url("support/reticule-bl.png");
} }
.inner8 { .inner8 {
position: absolute; position: absolute;
@ -72,7 +72,7 @@
left: 27px; left: 27px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-bo.png"); background-image: url("support/reticule-bo.png");
} }
.inner9 { .inner9 {
position: absolute; position: absolute;
@ -80,7 +80,7 @@
left: 54px; left: 54px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-br.png"); background-image: url("support/reticule-br.png");
} }
</style> </style>
</head> </head>

View file

@ -15,7 +15,7 @@
top: 0px; top: 0px;
border-width: 27px; border-width: 27px;
border-style: solid; border-style: solid;
border-image: url("reticule.png") 27 fill space; border-image: url("support/reticule.png") 27 fill space;
width: 27px; width: 27px;
height: 27px; height: 27px;
} }

View file

@ -16,7 +16,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-tl.png"); background-image: url("support/reticule-tl.png");
} }
.inner2_1 { .inner2_1 {
position: absolute; position: absolute;
@ -24,7 +24,7 @@
left: 35px; left: 35px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-to.png"); background-image: url("support/reticule-to.png");
} }
.inner2_2 { .inner2_2 {
position: absolute; position: absolute;
@ -32,7 +32,7 @@
left: 70px; left: 70px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-to.png"); background-image: url("support/reticule-to.png");
} }
.inner3 { .inner3 {
position: absolute; position: absolute;
@ -40,7 +40,7 @@
left: 105px; left: 105px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-tr.png"); background-image: url("support/reticule-tr.png");
} }
.inner4_1 { .inner4_1 {
position: absolute; position: absolute;
@ -48,7 +48,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-le.png"); background-image: url("support/reticule-le.png");
} }
.inner4_2 { .inner4_2 {
position: absolute; position: absolute;
@ -56,7 +56,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-le.png"); background-image: url("support/reticule-le.png");
} }
.inner5_1 { .inner5_1 {
position: absolute; position: absolute;
@ -64,7 +64,7 @@
left: 35px; left: 35px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-ct.png"); background-image: url("support/reticule-ct.png");
} }
.inner5_2 { .inner5_2 {
position: absolute; position: absolute;
@ -72,7 +72,7 @@
left: 70px; left: 70px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-ct.png"); background-image: url("support/reticule-ct.png");
} }
.inner5_3 { .inner5_3 {
position: absolute; position: absolute;
@ -80,7 +80,7 @@
left: 35px; left: 35px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-ct.png"); background-image: url("support/reticule-ct.png");
} }
.inner5_4 { .inner5_4 {
position: absolute; position: absolute;
@ -88,7 +88,7 @@
left: 70px; left: 70px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-ct.png"); background-image: url("support/reticule-ct.png");
} }
.inner6_1 { .inner6_1 {
position: absolute; position: absolute;
@ -96,7 +96,7 @@
left: 105px; left: 105px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-ri.png"); background-image: url("support/reticule-ri.png");
} }
.inner6_2 { .inner6_2 {
position: absolute; position: absolute;
@ -104,7 +104,7 @@
left: 105px; left: 105px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-ri.png"); background-image: url("support/reticule-ri.png");
} }
.inner7 { .inner7 {
position: absolute; position: absolute;
@ -112,7 +112,7 @@
left: 0px; left: 0px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-bl.png"); background-image: url("support/reticule-bl.png");
} }
.inner8_1 { .inner8_1 {
position: absolute; position: absolute;
@ -120,7 +120,7 @@
left: 35px; left: 35px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-bo.png"); background-image: url("support/reticule-bo.png");
} }
.inner8_2 { .inner8_2 {
position: absolute; position: absolute;
@ -128,7 +128,7 @@
left: 70px; left: 70px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-bo.png"); background-image: url("support/reticule-bo.png");
} }
.inner9 { .inner9 {
position: absolute; position: absolute;
@ -136,7 +136,7 @@
left: 105px; left: 105px;
width: 27px; width: 27px;
height: 27px; height: 27px;
background-image: url("reticule-br.png"); background-image: url("support/reticule-br.png");
} }
</style> </style>
</head> </head>

View file

@ -15,7 +15,7 @@
top: 0px; top: 0px;
border-width: 27px; border-width: 27px;
border-style: solid; border-style: solid;
border-image: url("reticule.png") 27 fill space; border-image: url("support/reticule.png") 27 fill space;
width: 78px; width: 78px;
height: 78px; height: 78px;
} }

Some files were not shown because too many files have changed in this diff Show more