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

@ -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');