Update web-platform-tests to revision 9614def367ae8af8247142c34b00f755863d2fbb

This commit is contained in:
WPT Sync Bot 2018-09-09 21:32:59 -04:00
parent 6cb39fad47
commit 968ce5b5b3
48 changed files with 919 additions and 130 deletions

View file

@ -37,3 +37,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL

View file

@ -292751,6 +292751,11 @@
{}
]
],
"interfaces/webrtc-dscp.idl": [
[
{}
]
],
"interfaces/webrtc-stats.idl": [
[
{}
@ -330416,6 +330421,102 @@
{}
]
],
"css/css-animations/parsing/animation-delay-invalid.html": [
[
"/css/css-animations/parsing/animation-delay-invalid.html",
{}
]
],
"css/css-animations/parsing/animation-delay-valid.html": [
[
"/css/css-animations/parsing/animation-delay-valid.html",
{}
]
],
"css/css-animations/parsing/animation-direction-invalid.html": [
[
"/css/css-animations/parsing/animation-direction-invalid.html",
{}
]
],
"css/css-animations/parsing/animation-direction-valid.html": [
[
"/css/css-animations/parsing/animation-direction-valid.html",
{}
]
],
"css/css-animations/parsing/animation-duration-invalid.html": [
[
"/css/css-animations/parsing/animation-duration-invalid.html",
{}
]
],
"css/css-animations/parsing/animation-duration-valid.html": [
[
"/css/css-animations/parsing/animation-duration-valid.html",
{}
]
],
"css/css-animations/parsing/animation-fill-mode-invalid.html": [
[
"/css/css-animations/parsing/animation-fill-mode-invalid.html",
{}
]
],
"css/css-animations/parsing/animation-fill-mode-valid.html": [
[
"/css/css-animations/parsing/animation-fill-mode-valid.html",
{}
]
],
"css/css-animations/parsing/animation-iteration-count-invalid.html": [
[
"/css/css-animations/parsing/animation-iteration-count-invalid.html",
{}
]
],
"css/css-animations/parsing/animation-iteration-count-valid.html": [
[
"/css/css-animations/parsing/animation-iteration-count-valid.html",
{}
]
],
"css/css-animations/parsing/animation-name-invalid.html": [
[
"/css/css-animations/parsing/animation-name-invalid.html",
{}
]
],
"css/css-animations/parsing/animation-name-valid.html": [
[
"/css/css-animations/parsing/animation-name-valid.html",
{}
]
],
"css/css-animations/parsing/animation-play-state-invalid.html": [
[
"/css/css-animations/parsing/animation-play-state-invalid.html",
{}
]
],
"css/css-animations/parsing/animation-play-state-valid.html": [
[
"/css/css-animations/parsing/animation-play-state-valid.html",
{}
]
],
"css/css-animations/parsing/animation-timing-function-invalid.html": [
[
"/css/css-animations/parsing/animation-timing-function-invalid.html",
{}
]
],
"css/css-animations/parsing/animation-timing-function-valid.html": [
[
"/css/css-animations/parsing/animation-timing-function-valid.html",
{}
]
],
"css/css-animations/pending-style-changes-001.html": [
[
"/css/css-animations/pending-style-changes-001.html",
@ -336708,6 +336809,54 @@
{}
]
],
"css/css-transitions/parsing/transition-delay-invalid.html": [
[
"/css/css-transitions/parsing/transition-delay-invalid.html",
{}
]
],
"css/css-transitions/parsing/transition-delay-valid.html": [
[
"/css/css-transitions/parsing/transition-delay-valid.html",
{}
]
],
"css/css-transitions/parsing/transition-duration-invalid.html": [
[
"/css/css-transitions/parsing/transition-duration-invalid.html",
{}
]
],
"css/css-transitions/parsing/transition-duration-valid.html": [
[
"/css/css-transitions/parsing/transition-duration-valid.html",
{}
]
],
"css/css-transitions/parsing/transition-property-invalid.html": [
[
"/css/css-transitions/parsing/transition-property-invalid.html",
{}
]
],
"css/css-transitions/parsing/transition-property-valid.html": [
[
"/css/css-transitions/parsing/transition-property-valid.html",
{}
]
],
"css/css-transitions/parsing/transition-timing-function-invalid.html": [
[
"/css/css-transitions/parsing/transition-timing-function-invalid.html",
{}
]
],
"css/css-transitions/parsing/transition-timing-function-valid.html": [
[
"/css/css-transitions/parsing/transition-timing-function-valid.html",
{}
]
],
"css/css-transitions/properties-value-001.html": [
[
"/css/css-transitions/properties-value-001.html",
@ -522229,6 +522378,70 @@
"1d3ed2b9b806792c7efaeeee9ab264101dd222bc",
"testharness"
],
"css/css-animations/parsing/animation-delay-invalid.html": [
"a58d2cd11bc572d3a7899fb70b8b04adbd76a713",
"testharness"
],
"css/css-animations/parsing/animation-delay-valid.html": [
"5ff0416cc64241f81025f39af20d186042d49a30",
"testharness"
],
"css/css-animations/parsing/animation-direction-invalid.html": [
"0b48d97f0a1bb670daec7335049aa486810a2cde",
"testharness"
],
"css/css-animations/parsing/animation-direction-valid.html": [
"bcc9acc3428cfcdadc6d48fc0fa01d51eb747452",
"testharness"
],
"css/css-animations/parsing/animation-duration-invalid.html": [
"5edacd3735e4f3ac0c0724415b3ca0052f10d33b",
"testharness"
],
"css/css-animations/parsing/animation-duration-valid.html": [
"e65a1a707246eb2c1773da17c355d71118fd0db4",
"testharness"
],
"css/css-animations/parsing/animation-fill-mode-invalid.html": [
"dda2221f4746a64778ea4c5a82fa42c35243a342",
"testharness"
],
"css/css-animations/parsing/animation-fill-mode-valid.html": [
"1f73a821d15119d6a8fc2720d53f6cefdd29fb5d",
"testharness"
],
"css/css-animations/parsing/animation-iteration-count-invalid.html": [
"ff1e8e23a08cf58c08922eb40145e916852c0562",
"testharness"
],
"css/css-animations/parsing/animation-iteration-count-valid.html": [
"be8a83798908a6771b935e38fe7a8608be9821ed",
"testharness"
],
"css/css-animations/parsing/animation-name-invalid.html": [
"77d53f990b1607c07a07648b5f0283f9fb5e4fbf",
"testharness"
],
"css/css-animations/parsing/animation-name-valid.html": [
"9ed73d4d15ff615c4318719bc8802796a88149c8",
"testharness"
],
"css/css-animations/parsing/animation-play-state-invalid.html": [
"f47a2f75ddfc35a279037ada8df34077bd1308ab",
"testharness"
],
"css/css-animations/parsing/animation-play-state-valid.html": [
"ce6d053ec2736ec8d5e8420b3d1a1e4f07fd04ed",
"testharness"
],
"css/css-animations/parsing/animation-timing-function-invalid.html": [
"adc1cc10e39d09df78c4398ffca008739d751076",
"testharness"
],
"css/css-animations/parsing/animation-timing-function-valid.html": [
"63e2805485bfb1f8db9dfe3ad70979ade7e11cd4",
"testharness"
],
"css/css-animations/pending-style-changes-001.html": [
"fb74d7fa7d062d60153d47913df9eb2b0c7267c8",
"testharness"
@ -544666,7 +544879,7 @@
"reftest"
],
"css/css-masking/mask-image/mask-image-url-remote-mask.html": [
"cfa3a6166cdcb41b2feaab2ffd5c087a568771f5",
"f3f2eefaa92df83296379efd861b39e2ab65f78e",
"reftest"
],
"css/css-masking/mask-image/reference/mask-image-ref.html": [
@ -544682,7 +544895,7 @@
"support"
],
"css/css-masking/mask-image/support/mask.svg": [
"30e601c87c32a08912e261dab22734033df1ef8e",
"cab55923d32ddb9525cb81a12d8035b1bf51bb4c",
"support"
],
"css/css-masking/parsing/clip-invalid.html": [
@ -561945,6 +562158,38 @@
"4cc7ee50eb4915fcf95843f7eeee266abfa7b81a",
"testharness"
],
"css/css-transitions/parsing/transition-delay-invalid.html": [
"b34d50551ce433ebe672c7fddb4a549582c754db",
"testharness"
],
"css/css-transitions/parsing/transition-delay-valid.html": [
"d6b42b9c059456f10c425f7217ade6b2cd84c1f4",
"testharness"
],
"css/css-transitions/parsing/transition-duration-invalid.html": [
"fd0f341f4071b53561cf8b072bb105d3bd1a4563",
"testharness"
],
"css/css-transitions/parsing/transition-duration-valid.html": [
"311ca086695151747559a0995b61c7fe4c755592",
"testharness"
],
"css/css-transitions/parsing/transition-property-invalid.html": [
"903a206eac13688a51ff2ba88552de67efa2e9cb",
"testharness"
],
"css/css-transitions/parsing/transition-property-valid.html": [
"4e3894f5aa94e00aa59406ee1aab92b9226483af",
"testharness"
],
"css/css-transitions/parsing/transition-timing-function-invalid.html": [
"936defa6cce5dd7b69bf9344c60add178de6589a",
"testharness"
],
"css/css-transitions/parsing/transition-timing-function-valid.html": [
"e11ef0002e43b65e06c8aec7dffab2fe7d48377f",
"testharness"
],
"css/css-transitions/properties-value-001.html": [
"9182930ed78f9ff2adbc4754a8613fc0316b868a",
"testharness"
@ -614038,7 +614283,7 @@
"support"
],
"interfaces/background-fetch.idl": [
"92b6026f8b6dbbc4a79c1b3cdfdf73a0253aeaa6",
"130d5d825a5bef49fd651c0cb326b9b40a7fa2c7",
"support"
],
"interfaces/battery-status.idl": [
@ -614062,7 +614307,7 @@
"support"
],
"interfaces/cookie-store.idl": [
"454da38b18240e6e5e98a92cd2c9d129ee71d4a0",
"d872b7aadb25b4720e78d98f3bf04c0c15151084",
"support"
],
"interfaces/cors-rfc1918.idl": [
@ -614218,7 +614463,7 @@
"support"
],
"interfaces/intersection-observer.idl": [
"b48e1cbab37fef9b9c8dd5efb03fc6c222a3e856",
"ffda8f5c64dba8d225cc7126371b73980f4ce48e",
"support"
],
"interfaces/keyboard-lock.idl": [
@ -614298,7 +614543,7 @@
"support"
],
"interfaces/payment-handler.idl": [
"9f10d7e70194cb83dc59055006d96426f5669536",
"b19a7302dbacaf8ef425e568d5d5409b4b2811d5",
"support"
],
"interfaces/payment-method-basic-card.idl": [
@ -614306,7 +614551,7 @@
"support"
],
"interfaces/payment-request.idl": [
"d844f7cc788c5be1c882fe510bc85f25dd250659",
"05790c7d76d6e5f36b47fbf23615822b4a68c18a",
"support"
],
"interfaces/performance-timeline.idl": [
@ -614326,7 +614571,7 @@
"support"
],
"interfaces/pointerevents.idl": [
"63d39a285232b0319c24ff907871fe92bd70d167",
"da822bba0e58e36ea0a892b008075120282d8a85",
"support"
],
"interfaces/pointerlock.idl": [
@ -614438,7 +614683,7 @@
"support"
],
"interfaces/wasm-js-api.idl": [
"04c817dcb11ad906d61c5576e43df1fcdf168860",
"6de14fb8f0895a72b69f37b9dd8b72e2ab1604e0",
"support"
],
"interfaces/web-animations.idl": [
@ -614481,6 +614726,10 @@
"769433b19b31e5c534f19d82810635e2e22d38e9",
"support"
],
"interfaces/webrtc-dscp.idl": [
"718447bbf4a3ed92ac853ba2075a24ba41d3049d",
"support"
],
"interfaces/webrtc-stats.idl": [
"ee5cce403f8d325b73661f45b65bd09f5faae861",
"support"
@ -639734,7 +639983,7 @@
"testharness"
],
"shadow-dom/Extensions-to-Event-Interface.html": [
"52cda0b6bb863cf5f09d9752874165656bfc3fe3",
"806d539cad45d55d635ee55637be2c8b5c014b55",
"testharness"
],
"shadow-dom/HTMLSlotElement-interface.html": [
@ -639830,7 +640079,7 @@
"reftest"
],
"shadow-dom/leaktests/get-elements.html": [
"2ce916a650ed3749e18b6fd1abe488a562b0faaf",
"40fa9b69314a9cd9f1eee777ce4120440d7801df",
"testharness"
],
"shadow-dom/leaktests/html-collection.html": [

View file

@ -0,0 +1,4 @@
[animation-timing-function-valid.html]
[e.style['animation-timing-function'\] = "steps(2, end)" should set the property value]
expected: FAIL

View file

@ -0,0 +1,4 @@
[transition-timing-function-valid.html]
[e.style['transition-timing-function'\] = "steps(2, end)" should set the property value]
expected: FAIL

View file

@ -473,9 +473,39 @@
[min-width length(ex) / values]
expected: FAIL
[text-indent percentage(%) / events]
[text-indent length(pc) / values]
expected: FAIL
[text-shadow shadow(shadow) / events]
[text-indent length(ex) / values]
expected: FAIL
[text-indent length(px) / values]
expected: FAIL
[text-indent length(mm) / values]
expected: FAIL
[word-spacing length(in) / values]
expected: FAIL
[text-indent length(cm) / values]
expected: FAIL
[text-indent length(pt) / values]
expected: FAIL
[text-shadow shadow(shadow) / values]
expected: FAIL
[word-spacing percentage(%) / values]
expected: FAIL
[text-indent length(in) / values]
expected: FAIL
[text-indent length(em) / values]
expected: FAIL
[text-indent percentage(%) / values]
expected: FAIL

View file

@ -65,12 +65,12 @@
[left intermediate]
expected: FAIL
[bottom intermediate]
expected: FAIL
[outline-width intermediate]
expected: FAIL
[outline-width end]
[padding-right end]
expected: FAIL
[border-top-width end]
expected: FAIL

View file

@ -1,5 +1,4 @@
[fetch-in-iframe.html]
expected: CRASH
[Untitled]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_4.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -30,3 +30,6 @@
[Set HTTP URL frame location.protocol to data]
expected: FAIL
[Set HTTP URL frame location.protocol to x]
expected: FAIL

View file

@ -0,0 +1,2 @@
[script-onerror-insertion-point-2.html]
expected: TIMEOUT

View file

@ -2,19 +2,10 @@
[request.formData() with input: a&b&c]
expected: FAIL
[response.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
[response.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
[response.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
[request.formData() with input: a=b&c=d&]
[response.formData() with input: a=b&c=d]
expected: FAIL
@ -22,18 +13,15 @@
[response.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
[response.formData() with input: _charset_=windows-1252&test=%C2x]
[response.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
[request.formData() with input: &&&a=b&&&&c=d&]
[response.formData() with input: a=b&c=d]
expected: FAIL
[response.formData() with input: a=b&c=d&]
[request.formData() with input: a=b&c=d&]
expected: FAIL

View file

@ -1,6 +1,5 @@
[005.html]
type: testharness
expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-delay with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-delay">
<meta name="assert" content="animation-delay supports only the grammar '<single-animation-play-state> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("animation-delay", "infinite");
test_invalid_value("animation-delay", "0");
test_invalid_value("animation-delay", "1s 2s");
</script>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-delay with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-delay">
<meta name="assert" content="animation-delay supports the full grammar '<single-animation-play-state> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("animation-delay", "-5ms");
test_valid_value("animation-delay", "0s");
test_valid_value("animation-delay", "10s");
test_valid_value("animation-delay", "20s, 10s");
</script>
</body>
</html>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-direction with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-direction">
<meta name="assert" content="animation-direction supports only the grammar '<single-animation-direction> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("animation-direction", "auto");
test_invalid_value("animation-direction", "normal reverse");
</script>
</body>
</html>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-direction with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-direction">
<meta name="assert" content="animation-direction supports the full grammar '<single-animation-direction> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("animation-direction", "normal");
test_valid_value("animation-direction", "reverse");
test_valid_value("animation-direction", "alternate");
test_valid_value("animation-direction", "alternate-reverse");
test_valid_value("animation-direction", "normal, reverse, alternate, alternate-reverse");
</script>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-duration with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-duration">
<meta name="assert" content="animation-duration supports only the grammar '<time> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("animation-duration", '-3s');
test_invalid_value("animation-duration", '0');
test_invalid_value("animation-duration", 'infinite');
test_invalid_value("animation-duration", '1s 2s');
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-duration with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-duration">
<meta name="assert" content="animation-duration supports the full grammar '<time> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("animation-duration", '3s');
test_valid_value("animation-duration", '500ms');
test_valid_value("animation-duration", '1s, 2s, 3s');
</script>
</body>
</html>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-fill-mode with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-fill-mode">
<meta name="assert" content="animation-fill-mode supports only the grammar '<single-animation-fill-mode> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("animation-fill-mode", "auto");
test_invalid_value("animation-fill-mode", "forwards backwards");
</script>
</body>
</html>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-fill-mode with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-fill-mode">
<meta name="assert" content="animation-fill-mode supports the full grammar '<single-animation-fill-mode> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("animation-fill-mode", "none");
test_valid_value("animation-fill-mode", "forwards");
test_valid_value("animation-fill-mode", "backwards");
test_valid_value("animation-fill-mode", "both");
test_valid_value("animation-fill-mode", "none, forwards, backwards, both");
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-iteration-count with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-iteration-count">
<meta name="assert" content="animation-iteration-count supports only the grammar '<single-animation-iteration-count> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("animation-iteration-count", "auto");
test_invalid_value("animation-iteration-count", "-2");
test_invalid_value("animation-iteration-count", "3 4");
</script>
</body>
</html>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-iteration-count with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-iteration-count">
<meta name="assert" content="animation-iteration-count supports the full grammar '<single-animation-iteration-count> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("animation-iteration-count", "0");
test_valid_value("animation-iteration-count", "3");
test_valid_value("animation-iteration-count", "4.5");
test_valid_value("animation-iteration-count", "infinite");
test_valid_value("animation-iteration-count", "0, infinite, 3");
</script>
</body>
</html>

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-name with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-name">
<meta name="assert" content="animation-name supports only the grammar '[ none | <keyframes-name> ]#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("animation-name", '12');
test_invalid_value("animation-name", 'one two');
test_invalid_value("animation-name", 'one, initial');
test_invalid_value("animation-name", 'one, inherit');
test_invalid_value("animation-name", 'one, unset');
test_invalid_value("animation-name", 'default, two');
</script>
</body>
</html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-name with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-name">
<meta name="assert" content="animation-name supports the full grammar '[ none | <keyframes-name> ]#'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("animation-name", 'NONE', 'none');
test_valid_value("animation-name", 'foo');
test_valid_value("animation-name", 'Both');
test_valid_value("animation-name", 'ease-in');
test_valid_value("animation-name", 'infinite');
test_valid_value("animation-name", 'paused');
test_valid_value("animation-name", 'first, second, third');
test_valid_value("animation-name", '"string"');
test_valid_value("animation-name", '"multi word string"');
test_valid_value("animation-name", '"initial"');
test_valid_value("animation-name", '"---\\22---"', '\"---\\\"---\"');
</script>
</body>
</html>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-play-state with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-play-state">
<meta name="assert" content="animation-play-state supports only the grammar '<single-animation-play-state> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("animation-play-state", "auto");
test_invalid_value("animation-play-state", "paused running");
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-play-state with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-play-state">
<meta name="assert" content="animation-play-state supports the full grammar '<single-animation-play-state> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("animation-play-state", "running");
test_valid_value("animation-play-state", "paused");
test_valid_value("animation-play-state", "running, paused");
</script>
</body>
</html>

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-timing-function with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-timing-function">
<meta name="assert" content="animation-timing-function supports only the grammar '<timing-function> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("animation-timing-function", "auto");
test_invalid_value("animation-timing-function", "ease-in ease-out");
test_invalid_value("animation-timing-function", "cubic-bezier(1, 2, 3)");
test_invalid_value("animation-timing-function", "cubic-bezier(1, 2, 3, infinite)");
test_invalid_value("animation-timing-function", "cubic-bezier(1, 2, 3, 4, 5)");
test_invalid_value("animation-timing-function", "cubic-bezier(-0.1, 0.1, 0.5, 0.9)");
test_invalid_value("animation-timing-function", "cubic-bezier(0.5, 0.1, 1.1, 0.9)");
</script>
</body>
</html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing animation-timing-function with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-timing-function">
<meta name="assert" content="animation-timing-function supports the full grammar '<timing-function> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("animation-timing-function", "linear");
test_valid_value("animation-timing-function", "ease");
test_valid_value("animation-timing-function", "ease-in");
test_valid_value("animation-timing-function", "ease-out");
test_valid_value("animation-timing-function", "ease-in-out");
test_valid_value("animation-timing-function", "cubic-bezier(0.1, 0.2, 0.8, 0.9)");
test_valid_value("animation-timing-function", "cubic-bezier(0, -2, 1, 3)");
test_valid_value("animation-timing-function", "cubic-bezier(0, 0.7, 1, 1.3)");
test_valid_value("animation-timing-function", "steps(4, start)");
test_valid_value("animation-timing-function", "steps(2, end)");
test_valid_value("animation-timing-function", "linear, ease, linear");
</script>
</body>
</html>

View file

@ -26,8 +26,3 @@
</style>
<p>The test passes if there is a green square and no red below.</p>
<div id="back"></div><div id="front"></div>
<svg>
<!-- mask-image doesn't block onload, so we use an empty g here to
force mask.svg to load before onload. -->
<use href="support/mask.svg#empty"/>
</svg>

View file

@ -2,5 +2,4 @@
<mask id="mask">
<rect x="50" y="50" width="100" height="100" fill="white"/>
</mask>
<g id="empty"/>
</svg>

Before

Width:  |  Height:  |  Size: 181 B

After

Width:  |  Height:  |  Size: 163 B

Before After
Before After

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Transitions: parsing transition-delay with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-delay">
<meta name="assert" content="transition-delay supports only the grammar '<time> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("transition-delay", 'infinite');
test_invalid_value("transition-delay", '0');
test_invalid_value("transition-delay", '500ms 0.5s');
</script>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Transitions: parsing transition-delay with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-delay">
<meta name="assert" content="transition-delay supports the full grammar '<time> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("transition-delay", '0s');
test_valid_value("transition-delay", '500ms');
test_valid_value("transition-delay", '1s, 2s');
test_valid_value("transition-delay", '-1s, -2s');
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Transitions: parsing transition-duration with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-duration">
<meta name="assert" content="transition-duration supports only the grammar '<time> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("transition-duration", 'infinite');
test_invalid_value("transition-duration", '-500ms');
test_invalid_value("transition-duration", '1s 2s');
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Transitions: parsing transition-duration with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-duration">
<meta name="assert" content="transition-duration supports the full grammar '<time> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("transition-duration", '0s');
test_valid_value("transition-duration", '500ms');
test_valid_value("transition-duration", '1s, 2s');
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Transitions: parsing transition-property with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-property">
<meta name="assert" content="transition-property supports only the grammar 'none | <single-transition-property> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("transition-property", 'one two three');
test_invalid_value("transition-property", '1, 2, 3');
test_invalid_value("transition-property", 'none, one');
</script>
</body>
</html>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Transitions: parsing transition-property with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-property">
<meta name="assert" content="transition-property supports the full grammar 'none | <single-transition-property> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("transition-property", 'none');
test_valid_value("transition-property", 'all');
test_valid_value("transition-property", 'one');
test_valid_value("transition-property", 'one-two-three');
test_valid_value("transition-property", 'one, two, three');
test_valid_value("transition-property", 'width, all');
</script>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing transition-timing-function with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-timing-function">
<link rel="help" href="https://drafts.csswg.org/css-timing-1/#typedef-timing-function">
<meta name="assert" content="transition-timing-function supports only the grammar '<timing-function> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("transition-timing-function", "auto");
test_invalid_value("transition-timing-function", "ease-in ease-out");
test_invalid_value("transition-timing-function", "cubic-bezier(1, 2, 3)");
test_invalid_value("transition-timing-function", "cubic-bezier(1, 2, 3, infinite)");
test_invalid_value("transition-timing-function", "cubic-bezier(1, 2, 3, 4, 5)");
test_invalid_value("transition-timing-function", "cubic-bezier(-0.1, 0.1, 0.5, 0.9)");
test_invalid_value("transition-timing-function", "cubic-bezier(0.5, 0.1, 1.1, 0.9)");
</script>
</body>
</html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Transitions: parsing transition-timing-function with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-timing-function">
<link rel="help" href="https://drafts.csswg.org/css-timing-1/#typedef-timing-function">
<meta name="assert" content="transition-timing-function supports the full grammar '<timing-function> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("transition-timing-function", "linear");
test_valid_value("transition-timing-function", "ease");
test_valid_value("transition-timing-function", "ease-in");
test_valid_value("transition-timing-function", "ease-out");
test_valid_value("transition-timing-function", "ease-in-out");
test_valid_value("transition-timing-function", "cubic-bezier(0.1, 0.2, 0.8, 0.9)");
test_valid_value("transition-timing-function", "cubic-bezier(0, -2, 1, 3)");
test_valid_value("transition-timing-function", "cubic-bezier(0, 0.7, 1, 1.3)");
test_valid_value("transition-timing-function", "steps(4, start)");
test_valid_value("transition-timing-function", "steps(2, end)");
test_valid_value("transition-timing-function", "linear, ease, linear");
</script>
</body>
</html>

View file

@ -37,8 +37,9 @@ interface BackgroundFetchRegistration : EventTarget {
readonly attribute unsigned long long uploaded;
readonly attribute unsigned long long downloadTotal;
readonly attribute unsigned long long downloaded;
readonly attribute BackgroundFetchState state;
readonly attribute BackgroundFetchResult result;
readonly attribute BackgroundFetchFailureReason failureReason;
readonly attribute boolean recordsAvailable;
attribute EventHandler onprogress;
@ -47,9 +48,10 @@ interface BackgroundFetchRegistration : EventTarget {
Promise<sequence<BackgroundFetchRecord>> matchAll(optional RequestInfo request, optional CacheQueryOptions options);
};
enum BackgroundFetchState { "pending", "success", "failure" };
enum BackgroundFetchResult { "", "success", "failure" };
enum BackgroundFetchFailureReason {
// The background fetch has not completed yet, or was successful.
"",
// The operation was aborted by the user, or abort() was called.
"aborted",
@ -61,7 +63,7 @@ enum BackgroundFetchFailureReason {
// Storage quota was reached during the operation.
"quota-exceeded",
// The provided downloadTotal was exceeded.
"total-download-exceeded"
"download-total-exceeded"
};
[Exposed=(Window,Worker)]

View file

@ -1,48 +1,31 @@
// https://github.com/WICG/cookie-store/blob/gh-pages/explainer.md
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Cookie Store API (https://wicg.github.io/cookie-store/)
enum CookieSameSite {
"strict",
"lax",
"unrestricted"
};
[Exposed=(ServiceWorker,Window),
SecureContext]
interface CookieStore : EventTarget {
Promise<CookieListItem?> get(USVString name);
Promise<CookieListItem?> get(optional CookieStoreGetOptions options);
dictionary CookieListItem {
required USVString name;
USVString value;
USVString? domain = null;
USVString path = "/";
DOMTimeStamp? expires = null;
boolean secure = true;
CookieSameSite sameSite = "strict";
};
Promise<CookieList> getAll(USVString name);
Promise<CookieList> getAll(optional CookieStoreGetOptions options);
typedef sequence<CookieListItem> CookieList;
Promise<void> set(USVString name, USVString value,
optional CookieStoreSetOptions options);
Promise<void> set(CookieStoreSetExtraOptions options);
dictionary CookieChangeEventInit : EventInit {
CookieList changed;
CookieList deleted;
};
Promise<void> delete(USVString name);
Promise<void> delete(CookieStoreDeleteOptions options);
[
Exposed=Window,
SecureContext,
Constructor(DOMString type, optional CookieChangeEventInit eventInitDict)
] interface CookieChangeEvent : Event {
readonly attribute CookieList changed;
readonly attribute CookieList deleted;
};
[Exposed=ServiceWorker]
Promise<void> subscribeToChanges(sequence<CookieStoreGetOptions> subscriptions);
dictionary ExtendableCookieChangeEventInit : ExtendableEventInit {
CookieList changed;
CookieList deleted;
};
[Exposed=ServiceWorker]
Promise<sequence<CookieStoreGetOptions>> getChangeSubscriptions();
[
Exposed=ServiceWorker,
Constructor(DOMString type, optional ExtendableCookieChangeEventInit eventInitDict)
] interface ExtendableCookieChangeEvent : ExtendableEvent {
readonly attribute CookieList changed;
readonly attribute CookieList deleted;
attribute EventHandler onchange;
};
enum CookieMatchType {
@ -50,20 +33,18 @@ enum CookieMatchType {
"starts-with"
};
dictionary CookieStoreDeleteOptions {
required USVString name;
USVString? domain = null;
USVString path = "/";
boolean secure = true;
CookieSameSite sameSite = "strict";
};
dictionary CookieStoreGetOptions {
USVString name;
USVString url;
CookieMatchType matchType = "equals";
};
enum CookieSameSite {
"strict",
"lax",
"unrestricted"
};
dictionary CookieStoreSetOptions {
DOMTimeStamp? expires = null;
USVString? domain = null;
@ -77,27 +58,35 @@ dictionary CookieStoreSetExtraOptions : CookieStoreSetOptions {
required USVString value;
};
[
Exposed=(ServiceWorker,Window),
SecureContext
] interface CookieStore : EventTarget {
Promise<CookieListItem?> get(USVString name);
Promise<CookieListItem?> get(optional CookieStoreGetOptions options);
dictionary CookieStoreDeleteOptions {
required USVString name;
USVString? domain = null;
USVString path = "/";
};
Promise<CookieList> getAll(USVString name);
Promise<CookieList> getAll(optional CookieStoreGetOptions options);
dictionary CookieListItem {
required USVString name;
USVString value;
USVString? domain = null;
USVString path = "/";
DOMTimeStamp? expires = null;
boolean secure = true;
CookieSameSite sameSite = "strict";
};
Promise<void> set(USVString name, USVString value, optional CookieStoreSetOptions options);
Promise<void> set(CookieStoreSetExtraOptions options);
typedef sequence<CookieListItem> CookieList;
Promise<void> delete(USVString name);
Promise<void> delete(CookieStoreDeleteOptions options);
[Exposed=(ServiceWorker,Window),
SecureContext,
Constructor(DOMString type, optional CookieChangeEventInit eventInitDict)]
interface CookieChangeEvent : Event {
readonly attribute CookieList changed;
readonly attribute CookieList deleted;
};
[Exposed=ServiceWorker] Promise<void> subscribeToChanges(sequence<CookieStoreGetOptions> subscriptions);
[Exposed=ServiceWorker] Promise<sequence<CookieStoreGetOptions>> getChangeSubscriptions();
[Exposed=Window] attribute EventHandler onchange;
dictionary CookieChangeEventInit : EventInit {
CookieList changed;
CookieList deleted;
};
[SecureContext]
@ -107,5 +96,6 @@ partial interface Window {
partial interface ServiceWorkerGlobalScope {
[Replaceable, SameObject] readonly attribute CookieStore cookieStore;
attribute EventHandler oncookiechange;
};

View file

@ -20,7 +20,7 @@ interface IntersectionObserver {
[Constructor(IntersectionObserverEntryInit intersectionObserverEntryInit)]
interface IntersectionObserverEntry {
readonly attribute DOMHighResTimeStamp time;
readonly attribute DOMRectReadOnly rootBounds;
readonly attribute DOMRectReadOnly? rootBounds;
readonly attribute DOMRectReadOnly boundingClientRect;
readonly attribute DOMRectReadOnly intersectionRect;
readonly attribute boolean isIntersecting;
@ -30,7 +30,7 @@ interface IntersectionObserverEntry {
dictionary IntersectionObserverEntryInit {
required DOMHighResTimeStamp time;
required DOMRectInit rootBounds;
required DOMRectInit? rootBounds;
required DOMRectInit boundingClientRect;
required DOMRectInit intersectionRect;
required boolean isIntersecting;

View file

@ -46,7 +46,6 @@ interface CanMakePaymentEvent : ExtendableEvent {
readonly attribute USVString topOrigin;
readonly attribute USVString paymentRequestOrigin;
readonly attribute FrozenArray<PaymentMethodData> methodData;
readonly attribute FrozenArray<PaymentDetailsModifier> modifiers;
void respondWith(Promise<boolean> canMakePaymentResponse);
};
@ -54,7 +53,6 @@ dictionary CanMakePaymentEventInit : ExtendableEventInit {
USVString topOrigin;
USVString paymentRequestOrigin;
sequence<PaymentMethodData> methodData;
sequence<PaymentDetailsModifier> modifiers;
};
partial interface ServiceWorkerGlobalScope {

View file

@ -197,8 +197,8 @@ interface PaymentMethodChangeEvent : PaymentRequestUpdateEvent {
};
dictionary PaymentMethodChangeEventInit : PaymentRequestUpdateEventInit {
required DOMString methodName;
object? methodDetails;
DOMString methodName = "";
object? methodDetails = null;
};
[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict), SecureContext, Exposed=Window]

View file

@ -41,7 +41,6 @@ partial interface GlobalEventHandlers {
attribute EventHandler onlostpointercapture;
attribute EventHandler onpointerdown;
attribute EventHandler onpointermove;
[RuntimeEnabled=PointerRawMove] attribute EventHandler onpointerrawmove;
attribute EventHandler onpointerup;
attribute EventHandler onpointercancel;
attribute EventHandler onpointerover;

View file

@ -41,9 +41,9 @@ dictionary ModuleImportDescriptor {
[LegacyNamespace=WebAssembly, Constructor(BufferSource bytes), Exposed=(Window,Worker,Worklet)]
interface Module {
static sequence<ModuleExportDescriptor> exports(Module module);
static sequence<ModuleImportDescriptor> imports(Module module);
static sequence<ArrayBuffer> customSections(Module module, USVString sectionName);
static sequence<ModuleExportDescriptor> exports(Module moduleObject);
static sequence<ModuleImportDescriptor> imports(Module moduleObject);
static sequence<ArrayBuffer> customSections(Module moduleObject, USVString sectionName);
};
[LegacyNamespace=WebAssembly, Constructor(Module module, optional object importObject), Exposed=(Window,Worker,Worklet)]
@ -87,7 +87,7 @@ dictionary GlobalDescriptor {
boolean mutable = false;
};
[LegacyNamespace=WebAssembly, Constructor(GlobalDescriptor descriptor, optional any value), Exposed=(Window,Worker,Worklet)]
[LegacyNamespace=WebAssembly, Constructor(GlobalDescriptor descriptor, optional any v), Exposed=(Window,Worker,Worklet)]
interface Global {
any valueOf();
attribute any value;

View file

@ -0,0 +1,8 @@
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: DSCP Control API (https://w3c.github.io/webrtc-dscp-exp/)
partial dictionary RTCRtpEncodingParameters {
RTCPriorityType networkPriority; // Note: No default
};

View file

@ -54,7 +54,7 @@ function testComposedEvent(mode) {
var expectedPath = ['A1a', 'A1-SR', 'A1', 'A-SR', 'A'];
assert_array_equals(log.eventPath, expectedPath);
assert_array_equals(log.eventPath.length, log.pathAtTargets.length);
assert_equals(log.eventPath.length, log.pathAtTargets.length);
assert_array_equals(log.pathAtTargets[0], expectedPath);
assert_array_equals(log.pathAtTargets[1], expectedPath);
assert_array_equals(log.pathAtTargets[2], mode == 'open' ? expectedPath : ['A1', 'A-SR', 'A'],
@ -82,7 +82,7 @@ function testNonComposedEvent(mode) {
var expectedPath = ['A1a', 'A1-SR'];
assert_array_equals(log.eventPath, expectedPath);
assert_array_equals(log.eventPath.length, log.pathAtTargets.length);
assert_equals(log.eventPath.length, log.pathAtTargets.length);
assert_array_equals(log.pathAtTargets[0], expectedPath);
assert_array_equals(log.pathAtTargets[1], expectedPath);
}, 'The event must not propagate out of ' + mode + ' mode shadow boundaries when the composed flag is unset');
@ -108,7 +108,7 @@ function testNonComposedEventWithRelatedTarget(mode) {
var expectedPath = ['A1a', 'A1-SR'];
assert_array_equals(log.eventPath, expectedPath);
assert_array_equals(log.eventPath.length, log.pathAtTargets.length);
assert_equals(log.eventPath.length, log.pathAtTargets.length);
assert_array_equals(log.pathAtTargets[0], expectedPath);
assert_array_equals(log.pathAtTargets[1], expectedPath);
assert_array_equals(log.relatedTargets, ['A2-S', 'A2-S']);
@ -136,7 +136,7 @@ function testScopedEventWithUnscopedRelatedTargetThroughSlot(mode) {
var expectedPath = ['B1a', 'B1c-S', 'B1-SR', 'B1', 'B-SR'];
var pathExposedToB1a = ['B1a', 'B1', 'B-SR'];
assert_array_equals(log.eventPath, expectedPath);
assert_array_equals(log.eventPath.length, log.pathAtTargets.length);
assert_equals(log.eventPath.length, log.pathAtTargets.length);
assert_array_equals(log.pathAtTargets[0], mode == 'open' ? expectedPath : pathExposedToB1a);
assert_array_equals(log.pathAtTargets[1], expectedPath);
assert_array_equals(log.pathAtTargets[2], expectedPath);
@ -167,7 +167,7 @@ function testComposedEventWithRelatedTarget(mode) {
var expectedPath = ['A1a', 'A1-SR', 'A1', 'A-SR'];
var pathExposedToA1 = ['A1', 'A-SR'];
assert_array_equals(log.eventPath, expectedPath);
assert_array_equals(log.eventPath.length, log.pathAtTargets.length);
assert_equals(log.eventPath.length, log.pathAtTargets.length);
assert_array_equals(log.pathAtTargets[0], expectedPath);
assert_array_equals(log.pathAtTargets[1], expectedPath);
assert_array_equals(log.pathAtTargets[2], mode == 'open' ? expectedPath : pathExposedToA1);
@ -202,7 +202,7 @@ function testComposedEventThroughSlot(mode) {
var pathExposedToA1 = [ 'B', 'A2-S', 'A-SR', 'A'];
assert_array_equals(log.eventPath, expectedPath);
assert_array_equals(log.eventPath.length, log.pathAtTargets.length);
assert_equals(log.eventPath.length, log.pathAtTargets.length);
assert_array_equals(log.pathAtTargets[0], mode == 'open' ? expectedPath : pathExposedToB1a);
assert_array_equals(log.pathAtTargets[1], mode == 'open' ? expectedPath : pathExposedToB1cS);
assert_array_equals(log.pathAtTargets[2], mode == 'open' ? expectedPath : pathExposedToB1cS);

View file

@ -85,12 +85,12 @@ test(function() {
assert_equals(doc.querySelectorAll('.bar').length, 1);
assert_equals(doc.getElementsByClassName('bar')[0].getAttribute('label'), 'doc-div');
assert_array_equals(hostOpen.querySelectorAll('.bar').length, 0);
assert_equals(hostOpen.querySelectorAll('.bar').length, 0);
assert_equals(shadowOpen.querySelectorAll('.bar').length, 1);
assert_equals(shadowOpen.querySelectorAll('.bar')[0].getAttribute('label'), 'shadow-open-div');
assert_array_equals(hostClosed.querySelectorAll('.bar').length, 0);
assert_equals(hostClosed.querySelectorAll('.bar').length, 0);
assert_equals(shadowClosed.querySelectorAll('.bar').length, 1);
assert_equals(shadowClosed.querySelectorAll('.bar')[0].getAttribute('label'), 'shadow-closed-div');
@ -106,11 +106,11 @@ test(function() {
assert_equals(doc.querySelectorAll('[name=baz]').length, 1);
assert_array_equals(hostOpen.querySelectorAll('[name=baz]').length, 0);
assert_equals(hostOpen.querySelectorAll('[name=baz]').length, 0);
assert_equals(shadowOpen.querySelectorAll('[name=baz]').length, 1);
assert_equals(shadowOpen.querySelectorAll('[name=baz]')[0].getAttribute('label'), 'shadow-open-form');
assert_array_equals(hostClosed.querySelectorAll('[name=baz]').length, 0);
assert_equals(hostClosed.querySelectorAll('[name=baz]').length, 0);
assert_equals(shadowClosed.querySelectorAll('[name=baz]').length, 1);
assert_equals(shadowClosed.querySelectorAll('[name=baz]')[0].getAttribute('label'), 'shadow-closed-form');
}, 'getElementsByName() should not leak nodes in shadow tree');
@ -126,12 +126,12 @@ test(function() {
assert_equals(doc.querySelectorAll('my-element').length, 1);
assert_equals(doc.getElementsByTagName('my-element')[0].getAttribute('label'), 'doc-my-element');
assert_array_equals(hostOpen.querySelectorAll('my-element').length, 0);
assert_equals(hostOpen.querySelectorAll('my-element').length, 0);
// ShadowRoot isn't an Element, does not have getElementsByTagName().
assert_equals(shadowOpen.querySelectorAll('my-element').length, 1);
assert_equals(shadowOpen.querySelectorAll('my-element')[0].getAttribute('label'), 'shadow-open-my-element');
assert_array_equals(hostClosed.querySelectorAll('my-element').length, 0);
assert_equals(hostClosed.querySelectorAll('my-element').length, 0);
assert_equals(shadowClosed.querySelectorAll('my-element').length, 1);
assert_equals(shadowClosed.querySelectorAll('my-element')[0].getAttribute('label'), 'shadow-closed-my-element');
}, 'getElementsByTagName() should not leak nodes in shadow tree');