diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/border-width-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/border-width-interpolation.html.ini index 4f5e31f3d87..e15c194d104 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/border-width-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/border-width-interpolation.html.ini @@ -245,3 +245,39 @@ [Web Animations: property from [0px\] to [10px\] at (1) should be [10px\]] expected: FAIL + [Web Animations: property from [initial\] to [23px\] at (-0.3) should be [0px\]] + expected: FAIL + + [Web Animations: property from [initial\] to [23px\] at (0) should be [3px\]] + expected: FAIL + + [Web Animations: property from [initial\] to [23px\] at (0.3) should be [9px\]] + expected: FAIL + + [Web Animations: property from [initial\] to [23px\] at (0.6) should be [15px\]] + expected: FAIL + + [Web Animations: property from [initial\] to [23px\] at (1) should be [23px\]] + expected: FAIL + + [Web Animations: property from [initial\] to [23px\] at (1.5) should be [33px\]] + expected: FAIL + + [Web Animations: property from [unset\] to [23px\] at (-0.3) should be [0px\]] + expected: FAIL + + [Web Animations: property from [unset\] to [23px\] at (0) should be [3px\]] + expected: FAIL + + [Web Animations: property from [unset\] to [23px\] at (0.3) should be [9px\]] + expected: FAIL + + [Web Animations: property from [unset\] to [23px\] at (0.6) should be [15px\]] + expected: FAIL + + [Web Animations: property from [unset\] to [23px\] at (1) should be [23px\]] + expected: FAIL + + [Web Animations: property from [unset\] to [23px\] at (1.5) should be [33px\]] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini index 58950b55de4..4ccf7dd1301 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini @@ -53,129 +53,6 @@ [background-position length(px) / events] expected: FAIL - [background-color color(rgba) / values] - expected: FAIL - - [border-top-width length(pt) / values] - expected: FAIL - - [border-top-width length(pc) / values] - expected: FAIL - - [border-top-width length(px) / values] - expected: FAIL - - [border-top-width length(em) / values] - expected: FAIL - - [border-top-width length(ex) / values] - expected: FAIL - - [border-top-width length(mm) / values] - expected: FAIL - - [border-top-width length(cm) / values] - expected: FAIL - - [border-top-width length(in) / values] - expected: FAIL - - [border-right-width length(pt) / values] - expected: FAIL - - [border-right-width length(pc) / values] - expected: FAIL - - [border-right-width length(px) / values] - expected: FAIL - - [border-right-width length(em) / values] - expected: FAIL - - [border-right-width length(ex) / values] - expected: FAIL - - [border-right-width length(mm) / values] - expected: FAIL - - [border-right-width length(cm) / values] - expected: FAIL - - [border-right-width length(in) / values] - expected: FAIL - - [border-bottom-width length(pt) / values] - expected: FAIL - - [border-bottom-width length(pc) / values] - expected: FAIL - - [border-bottom-width length(px) / values] - expected: FAIL - - [border-bottom-width length(em) / values] - expected: FAIL - - [border-bottom-width length(ex) / values] - expected: FAIL - - [border-bottom-width length(mm) / values] - expected: FAIL - - [border-bottom-width length(cm) / values] - expected: FAIL - - [border-bottom-width length(in) / values] - expected: FAIL - - [border-left-width length(pt) / values] - expected: FAIL - - [border-left-width length(pc) / values] - expected: FAIL - - [border-left-width length(px) / values] - expected: FAIL - - [border-left-width length(em) / values] - expected: FAIL - - [border-left-width length(ex) / values] - expected: FAIL - - [border-left-width length(mm) / values] - expected: FAIL - - [border-left-width length(cm) / values] - expected: FAIL - - [border-left-width length(in) / values] - expected: FAIL - - [border-top-color color(rgba) / values] - expected: FAIL - - [border-right-color color(rgba) / values] - expected: FAIL - - [border-bottom-color color(rgba) / values] - expected: FAIL - - [border-left-color color(rgba) / values] - expected: FAIL - - [padding-bottom length(pt) / values] - expected: FAIL - - [padding-bottom length(pc) / values] - expected: FAIL - - [padding-bottom length(px) / values] - expected: FAIL - - [padding-bottom length(em) / values] - expected: FAIL - [padding-bottom length(ex) / values] expected: FAIL @@ -326,303 +203,3 @@ [margin-right length(mm) / values] expected: FAIL - [margin-right length(cm) / values] - expected: FAIL - - [margin-right length(in) / values] - expected: FAIL - - [margin-top length(pt) / values] - expected: FAIL - - [margin-top length(pc) / values] - expected: FAIL - - [margin-top length(px) / values] - expected: FAIL - - [margin-top length(em) / values] - expected: FAIL - - [margin-top length(ex) / values] - expected: FAIL - - [margin-top length(mm) / values] - expected: FAIL - - [margin-top length(cm) / values] - expected: FAIL - - [margin-top length(in) / values] - expected: FAIL - - [height length(pt) / values] - expected: FAIL - - [height length(pc) / values] - expected: FAIL - - [height length(px) / values] - expected: FAIL - - [height length(em) / values] - expected: FAIL - - [height length(ex) / values] - expected: FAIL - - [height length(mm) / values] - expected: FAIL - - [height length(cm) / values] - expected: FAIL - - [height length(in) / values] - expected: FAIL - - [height percentage(%) / values] - expected: FAIL - - [width length(pt) / values] - expected: FAIL - - [width length(pc) / values] - expected: FAIL - - [width length(px) / values] - expected: FAIL - - [width length(em) / values] - expected: FAIL - - [width length(ex) / values] - expected: FAIL - - [width length(mm) / values] - expected: FAIL - - [width length(cm) / values] - expected: FAIL - - [width length(in) / values] - expected: FAIL - - [width percentage(%) / values] - expected: FAIL - - [min-height length(pt) / values] - expected: FAIL - - [min-height length(pc) / values] - expected: FAIL - - [min-height length(px) / values] - expected: FAIL - - [min-height length(em) / values] - expected: FAIL - - [min-height length(ex) / values] - expected: FAIL - - [min-height length(mm) / values] - expected: FAIL - - [min-height length(cm) / values] - expected: FAIL - - [min-height length(in) / values] - expected: FAIL - - [min-height percentage(%) / values] - expected: FAIL - - [min-width length(pt) / values] - expected: FAIL - - [min-width length(pc) / values] - expected: FAIL - - [min-width length(px) / values] - expected: FAIL - - [min-width length(em) / values] - expected: FAIL - - [min-width length(ex) / values] - expected: FAIL - - [min-width length(mm) / values] - expected: FAIL - - [min-width length(cm) / values] - expected: FAIL - - [min-width length(in) / values] - expected: FAIL - - [min-width percentage(%) / values] - expected: FAIL - - [max-height length(pt) / values] - expected: FAIL - - [max-height length(pc) / values] - expected: FAIL - - [max-height length(px) / values] - expected: FAIL - - [max-height length(em) / values] - expected: FAIL - - [max-height length(ex) / values] - expected: FAIL - - [max-height length(mm) / values] - expected: FAIL - - [max-height length(cm) / values] - expected: FAIL - - [max-height length(in) / values] - expected: FAIL - - [max-height percentage(%) / values] - expected: FAIL - - [max-width length(pt) / values] - expected: FAIL - - [max-width length(pc) / values] - expected: FAIL - - [max-width length(px) / values] - expected: FAIL - - [max-width length(em) / values] - expected: FAIL - - [max-width length(ex) / values] - expected: FAIL - - [max-width length(mm) / values] - expected: FAIL - - [max-width length(cm) / values] - expected: FAIL - - [max-width length(in) / values] - expected: FAIL - - [max-width percentage(%) / values] - expected: FAIL - - [top length(pt) / values] - expected: FAIL - - [top length(pc) / values] - expected: FAIL - - [top length(px) / values] - expected: FAIL - - [top length(em) / values] - expected: FAIL - - [top length(ex) / values] - expected: FAIL - - [top length(mm) / values] - expected: FAIL - - [top length(cm) / values] - expected: FAIL - - [top length(in) / values] - expected: FAIL - - [top percentage(%) / values] - expected: FAIL - - [right length(pt) / values] - expected: FAIL - - [right length(pc) / values] - expected: FAIL - - [right length(px) / values] - expected: FAIL - - [right length(em) / values] - expected: FAIL - - [right length(ex) / values] - expected: FAIL - - [right length(mm) / values] - expected: FAIL - - [right length(cm) / values] - expected: FAIL - - [right length(in) / values] - expected: FAIL - - [right percentage(%) / values] - expected: FAIL - - [bottom length(pt) / values] - expected: FAIL - - [bottom length(pc) / values] - expected: FAIL - - [bottom length(px) / values] - expected: FAIL - - [bottom length(em) / values] - expected: FAIL - - [bottom length(ex) / values] - expected: FAIL - - [bottom length(mm) / values] - expected: FAIL - - [bottom length(cm) / values] - expected: FAIL - - [bottom length(in) / values] - expected: FAIL - - [bottom percentage(%) / values] - expected: FAIL - - [left length(pt) / values] - expected: FAIL - - [left length(pc) / values] - expected: FAIL - - [left length(px) / values] - expected: FAIL - - [left length(em) / values] - expected: FAIL - - [left length(ex) / values] - expected: FAIL - - [left length(mm) / values] - expected: FAIL - - [left length(cm) / values] - expected: FAIL - - [left length(in) / values] - expected: FAIL - - [left percentage(%) / values] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini index 885a0575359..d2e6dc61a95 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini @@ -5,15 +5,9 @@ [background-position length(pt) / events] expected: FAIL - [text-indent percentage(%) / events] - expected: FAIL - [background-position length(px) / values] expected: FAIL - [text-shadow shadow(shadow) / events] - expected: FAIL - [background-position length(cm) / events] expected: FAIL @@ -23,30 +17,9 @@ [background-position length(in) / events] expected: FAIL - [text-indent length(mm) / events] - expected: FAIL - - [text-indent length(ex) / events] - expected: FAIL - [background-position length(em) / events] expected: FAIL - [text-indent length(in) / events] - expected: FAIL - - [text-indent length(pc) / events] - expected: FAIL - - [text-indent length(em) / events] - expected: FAIL - - [text-indent length(px) / events] - expected: FAIL - - [text-indent length(cm) / events] - expected: FAIL - [visibility visibility(keyword) / values] expected: FAIL @@ -56,9 +29,6 @@ [background-position length(cm) / values] expected: FAIL - [text-indent length(pt) / events] - expected: FAIL - [background-position length(ex) / events] expected: FAIL @@ -236,126 +206,6 @@ [margin-right length(mm) / events] expected: FAIL - [color color(rgba) / events] - expected: FAIL - - [font-size length(pt) / events] - expected: FAIL - - [font-size length(pc) / events] - expected: FAIL - - [font-size length(px) / events] - expected: FAIL - - [font-size length(em) / events] - expected: FAIL - - [font-size length(ex) / events] - expected: FAIL - - [font-size length(mm) / events] - expected: FAIL - - [font-size length(cm) / events] - expected: FAIL - - [font-size length(in) / events] - expected: FAIL - - [font-size percentage(%) / events] - expected: FAIL - - [font-weight font-weight(keyword) / events] - expected: FAIL - - [font-weight font-weight(numeric) / events] - expected: FAIL - - [line-height number(integer) / events] - expected: FAIL - - [line-height number(decimal) / events] - expected: FAIL - - [line-height length(pt) / events] - expected: FAIL - - [line-height length(pc) / events] - expected: FAIL - - [line-height length(px) / events] - expected: FAIL - - [line-height length(em) / events] - expected: FAIL - - [line-height length(ex) / events] - expected: FAIL - - [line-height length(mm) / events] - expected: FAIL - - [line-height length(cm) / events] - expected: FAIL - - [line-height length(in) / events] - expected: FAIL - - [line-height percentage(%) / events] - expected: FAIL - - [letter-spacing length(pt) / events] - expected: FAIL - - [letter-spacing length(pc) / events] - expected: FAIL - - [letter-spacing length(px) / events] - expected: FAIL - - [letter-spacing length(em) / events] - expected: FAIL - - [letter-spacing length(ex) / events] - expected: FAIL - - [letter-spacing length(mm) / events] - expected: FAIL - - [letter-spacing length(cm) / events] - expected: FAIL - - [letter-spacing length(in) / events] - expected: FAIL - - [word-spacing length(pt) / events] - expected: FAIL - - [word-spacing length(pc) / events] - expected: FAIL - - [word-spacing length(px) / events] - expected: FAIL - - [word-spacing length(em) / events] - expected: FAIL - - [word-spacing length(ex) / events] - expected: FAIL - - [word-spacing length(mm) / events] - expected: FAIL - - [word-spacing length(cm) / events] - expected: FAIL - - [word-spacing length(in) / events] - expected: FAIL - - [word-spacing percentage(%) / events] - expected: FAIL - [background-color color(rgba) / events] expected: FAIL @@ -629,153 +479,3 @@ [left percentage(%) / events] expected: FAIL - [margin-right length(cm) / events] - expected: FAIL - - [margin-right length(in) / events] - expected: FAIL - - [margin-top length(pt) / events] - expected: FAIL - - [margin-top length(pc) / events] - expected: FAIL - - [margin-top length(px) / events] - expected: FAIL - - [margin-top length(em) / events] - expected: FAIL - - [margin-top length(ex) / events] - expected: FAIL - - [margin-top length(mm) / events] - expected: FAIL - - [margin-top length(cm) / events] - expected: FAIL - - [margin-top length(in) / events] - expected: FAIL - - [height length(pt) / events] - expected: FAIL - - [height length(pc) / events] - expected: FAIL - - [height length(px) / events] - expected: FAIL - - [height length(em) / events] - expected: FAIL - - [height length(ex) / events] - expected: FAIL - - [height length(mm) / events] - expected: FAIL - - [height length(cm) / events] - expected: FAIL - - [height length(in) / events] - expected: FAIL - - [height percentage(%) / events] - expected: FAIL - - [width length(pt) / events] - expected: FAIL - - [width length(pc) / events] - expected: FAIL - - [width length(px) / events] - expected: FAIL - - [width length(em) / events] - expected: FAIL - - [width length(ex) / events] - expected: FAIL - - [width length(mm) / events] - expected: FAIL - - [width length(cm) / events] - expected: FAIL - - [width length(in) / events] - expected: FAIL - - [width percentage(%) / events] - expected: FAIL - - [min-height length(pt) / events] - expected: FAIL - - [min-height length(pc) / events] - expected: FAIL - - [min-height length(px) / events] - expected: FAIL - - [min-height length(em) / events] - expected: FAIL - - [min-height length(ex) / events] - expected: FAIL - - [min-height length(mm) / events] - expected: FAIL - - [min-height length(cm) / events] - expected: FAIL - - [min-height length(in) / events] - expected: FAIL - - [min-height percentage(%) / events] - expected: FAIL - - [min-width length(pt) / events] - expected: FAIL - - [min-width length(pc) / events] - expected: FAIL - - [min-width length(px) / events] - expected: FAIL - - [min-width length(em) / events] - expected: FAIL - - [min-width length(ex) / events] - expected: FAIL - - [min-width length(mm) / events] - expected: FAIL - - [min-width length(cm) / events] - expected: FAIL - - [min-width length(in) / events] - expected: FAIL - - [min-width percentage(%) / events] - expected: FAIL - - [max-height length(pt) / events] - expected: FAIL - - [max-height length(pc) / events] - expected: FAIL - - [max-height length(px) / events] - expected: FAIL - - [max-height length(em) / events] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini index c131078eace..049ea102a9a 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini @@ -14,6 +14,3 @@ [test some point of the element: bottom right corner] expected: FAIL - [test the top of layer] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini deleted file mode 100644 index e181af5397f..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementsFromPoint-invalid-cases.html] - [The root element is the last element returned for otherwise empty queries within the viewport] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini index 68868756835..f84e8a5b024 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini @@ -309,15 +309,21 @@ [Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK] expected: NOTRUN - [ - - - - - - - diff --git a/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-blocked-by-default.html b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-blocked-by-default.html new file mode 100644 index 00000000000..0e54de66de5 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-blocked-by-default.html @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked-by-default.html b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked-by-default.html new file mode 100644 index 00000000000..e43dca76599 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked-by-default.html @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked-by-default.html.headers b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked-by-default.html.headers new file mode 100644 index 00000000000..6d19ed181ee --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked-by-default.html.headers @@ -0,0 +1,2 @@ +Content-Security-Policy: default-src 'none'; script-src 'unsafe-inline' 'self'; img-src 'self'; style-src 'self' +Link: ;rel=prefetch diff --git a/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked.html b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked.html index 382c99a80d3..a2abef3c17b 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked.html +++ b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked.html @@ -1,7 +1,10 @@ - + @@ -12,15 +15,19 @@ waitUntilCSPEventForURL(t, url) .then(t.step_func_done(e => { assert_equals(e.violatedDirective, 'prefetch-src'); + + // This assert verifies both that the resource wasn't downloaded + // when prefetched via `Link` on both this document itself, and + // on the stylesheet subresource below. assert_resource_not_downloaded(t, url); })); - // Load a stylesheet that tries to trigger a prefetch: - let link = document.createElement('link'); - link.rel = 'stylesheet'; - link.href = '/content-security-policy/support/prefetch-subresource.css'; - document.head.appendChild(link); - }, 'Prefetch via `Link` header succeeds when allowed by prefetch-src'); + // Load a stylesheet that tries to trigger a prefetch: + let link = document.createElement('link'); + link.rel = 'stylesheet'; + link.href = '/content-security-policy/support/prefetch-subresource.css'; + document.head.appendChild(link); + }, 'Prefetch via `Link` header blocked when allowed by prefetch-src'); diff --git a/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked.html.headers b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked.html.headers new file mode 100644 index 00000000000..732f62d58a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/prefetch-src/prefetch-header-blocked.html.headers @@ -0,0 +1,2 @@ +Content-Security-Policy: prefetch-src 'none' +Link: ;rel=prefetch diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/prefetch-helper.js b/tests/wpt/web-platform-tests/content-security-policy/support/prefetch-helper.js index db6d87593df..4beae888593 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/support/prefetch-helper.js +++ b/tests/wpt/web-platform-tests/content-security-policy/support/prefetch-helper.js @@ -1,10 +1,11 @@ -test(t => { - assert_true(document.createElement('link').relList.supports('prefetch')); -}, "Browser supports prefetch."); - -test(t => { - assert_true(!!window.PerformanceResourceTiming); -}, "Browser supports performance APIs."); +setup(_ => { + assert_implements_optional( + document.createElement('link').relList.supports('prefetch'), + "Browser supports prefetch."); + assert_implements_optional( + "PerformanceResourceTiming" in window, + "Browser supports performance APIs."); +}); async function waitUntilResourceDownloaded(url) { await new Promise((resolve, reject) => { diff --git a/tests/wpt/web-platform-tests/cookies/samesite/fetch.https.html b/tests/wpt/web-platform-tests/cookies/samesite/fetch.https.html index 89050e03afd..934fc06765c 100644 --- a/tests/wpt/web-platform-tests/cookies/samesite/fetch.https.html +++ b/tests/wpt/web-platform-tests/cookies/samesite/fetch.https.html @@ -28,12 +28,12 @@ // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to same-host fetches are strictly same-site"); create_test(SECURE_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to same-host fetches are strictly same-site"); - create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to same-host fetches are strictly same-site"); + create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.CROSS_SITE, "Cross-site redirecting to same-host fetches are cross-site"); // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to subdomain fetches are strictly same-site"); create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to subdomain fetches are strictly same-site"); - create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to subdomain fetches are strictly same-site"); + create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.CROSS_SITE, "Cross-site redirecting to subdomain fetches are cross-site"); // Redirect from {same-host,subdomain,cross-site} to cross-site: create_test(SECURE_CROSS_SITE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_CROSS_SITE_ORIGIN), SameSiteStatus.CROSS_SITE, "Same-host redirecting to cross-site fetches are cross-site"); diff --git a/tests/wpt/web-platform-tests/cookies/samesite/form-get-blank.https.html b/tests/wpt/web-platform-tests/cookies/samesite/form-get-blank.https.html index 6fe28c21cc0..3b059174d0b 100644 --- a/tests/wpt/web-platform-tests/cookies/samesite/form-get-blank.https.html +++ b/tests/wpt/web-platform-tests/cookies/samesite/form-get-blank.https.html @@ -55,12 +55,12 @@ // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to same-host top-level form GETs are strictly same-site"); create_test(SECURE_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to same-host top-level form GETs are strictly same-site"); - create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to same-host top-level form GETs are strictly same-site"); + create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.LAX, "Cross-site redirecting to same-host top-level form GETs are laxly same-site"); // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to subdomain top-level form GETs are strictly same-site"); create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to subdomain top-level form GETs are strictly same-site"); - create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to subdomain top-level form GETs are strictly same-site"); + create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.LAX, "Cross-site redirecting to subdomain top-level form GETs are laxly same-site"); // Redirect from {same-host,subdomain,cross-site} to cross-site: create_test(SECURE_CROSS_SITE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_CROSS_SITE_ORIGIN), SameSiteStatus.LAX, "Same-host redirecting to cross-site top-level form GETs are laxly same-site"); diff --git a/tests/wpt/web-platform-tests/cookies/samesite/form-post-blank.https.html b/tests/wpt/web-platform-tests/cookies/samesite/form-post-blank.https.html index d3cd369ca67..cc37f08dd1f 100644 --- a/tests/wpt/web-platform-tests/cookies/samesite/form-post-blank.https.html +++ b/tests/wpt/web-platform-tests/cookies/samesite/form-post-blank.https.html @@ -44,12 +44,12 @@ // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to same-host top-level form POSTs are strictly same-site"); create_test(SECURE_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to same-host top-level form POSTs are strictly same-site"); - create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to same-host top-level form POSTs are strictly same-site"); + create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.CROSS_SITE, "Cross-site redirecting to same-host top-level form POSTs are cross-site"); // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to subdomain top-level form POSTs are strictly same-site"); create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to subdomain top-level form POSTs are strictly same-site"); - create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to subdomain top-level form POSTs are strictly same-site"); + create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.CROSS_SITE, "Cross-site redirecting to subdomain top-level form POSTs are cross-site"); // Redirect from {same-host,subdomain,cross-site} to cross-site: create_test(SECURE_CROSS_SITE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_CROSS_SITE_ORIGIN), SameSiteStatus.CROSS_SITE, "Same-host redirecting to cross-site top-level form POSTs are cross-site"); diff --git a/tests/wpt/web-platform-tests/cookies/samesite/img.https.html b/tests/wpt/web-platform-tests/cookies/samesite/img.https.html index bf76216e804..68603fd39d9 100644 --- a/tests/wpt/web-platform-tests/cookies/samesite/img.https.html +++ b/tests/wpt/web-platform-tests/cookies/samesite/img.https.html @@ -68,12 +68,12 @@ // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to same-host images are strictly same-site"); create_test(SECURE_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to same-host images are strictly same-site"); - create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to same-host images are strictly same-site"); + create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.CROSS_SITE, "Cross-site redirecting to same-host images are cross-site"); // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to subdomain images are strictly same-site"); create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to subdomain images are strictly same-site"); - create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to subdomain images are strictly same-site"); + create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.CROSS_SITE, "Cross-site redirecting to subdomain images are cross-site"); // Redirect from {same-host,subdomain,cross-site} to cross-site: create_test(SECURE_CROSS_SITE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_CROSS_SITE_ORIGIN), SameSiteStatus.CROSS_SITE, "Same-host redirecting to cross-site images are cross-site"); diff --git a/tests/wpt/web-platform-tests/cookies/samesite/multiple-samesite-attributes.https.html b/tests/wpt/web-platform-tests/cookies/samesite/multiple-samesite-attributes.https.html index 312fa2a2cc9..f1e52a3aea3 100644 --- a/tests/wpt/web-platform-tests/cookies/samesite/multiple-samesite-attributes.https.html +++ b/tests/wpt/web-platform-tests/cookies/samesite/multiple-samesite-attributes.https.html @@ -89,12 +89,12 @@ // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to same-host images are strictly same-site"); create_test(SECURE_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to same-host images are strictly same-site"); - create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to same-host images are strictly same-site"); + create_test(SECURE_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_ORIGIN), SameSiteStatus.CROSS_SITE, "Cross-site redirecting to same-host images are cross-site"); // Redirect from {same-host,subdomain,cross-site} to same-host: create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Same-host redirecting to subdomain images are strictly same-site"); create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_SUBDOMAIN_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Subdomain redirecting to subdomain images are strictly same-site"); - create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.STRICT, "Cross-site redirecting to subdomain images are strictly same-site"); + create_test(SECURE_SUBDOMAIN_ORIGIN, redirectTo(SECURE_CROSS_SITE_ORIGIN, SECURE_SUBDOMAIN_ORIGIN), SameSiteStatus.CROSS_SITE, "Cross-site redirecting to subdomain images are cross-site"); // Redirect from {same-host,subdomain,cross-site} to cross-site: create_test(SECURE_CROSS_SITE_ORIGIN, redirectTo(SECURE_ORIGIN, SECURE_CROSS_SITE_ORIGIN), SameSiteStatus.CROSS_SITE, "Same-host redirecting to cross-site images are cross-site"); diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html b/tests/wpt/web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html index 11f92f41652..69f117b03eb 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html @@ -68,14 +68,14 @@ test_interpolation({ test_interpolation({ property: 'border-left-width', from: 'initial', - to: '20px', + to: '23px', }, [ {at: -0.3, expect: '0px'}, {at: 0, expect: '3px'}, - {at: 0.3, expect: '8.1px'}, - {at: 0.6, expect: '13.2px'}, - {at: 1, expect: '20px'}, - {at: 1.5, expect: '28.5px'}, + {at: 0.3, expect: '9px'}, + {at: 0.6, expect: '15px'}, + {at: 1, expect: '23px'}, + {at: 1.5, expect: '33px'}, ]); test_interpolation({ @@ -94,14 +94,14 @@ test_interpolation({ test_interpolation({ property: 'border-left-width', from: 'unset', - to: '20px', + to: '23px', }, [ {at: -0.3, expect: '0px'}, {at: 0, expect: '3px'}, - {at: 0.3, expect: '8.1px'}, - {at: 0.6, expect: '13.2px'}, - {at: 1, expect: '20px'}, - {at: 1.5, expect: '28.5px'}, + {at: 0.3, expect: '9px'}, + {at: 0.6, expect: '15px'}, + {at: 1, expect: '23px'}, + {at: 1.5, expect: '33px'}, ]); test_interpolation({ diff --git a/tests/wpt/web-platform-tests/css/css-break/transform-006-ref.html b/tests/wpt/web-platform-tests/css/css-break/transform-006-ref.html new file mode 100644 index 00000000000..ffb859017da --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/transform-006-ref.html @@ -0,0 +1,44 @@ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-break/transform-006.html b/tests/wpt/web-platform-tests/css/css-break/transform-006.html new file mode 100644 index 00000000000..eb0500318bf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/transform-006.html @@ -0,0 +1,22 @@ + + + + + + +
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-break/transform-007-ref.html b/tests/wpt/web-platform-tests/css/css-break/transform-007-ref.html new file mode 100644 index 00000000000..50599b119a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/transform-007-ref.html @@ -0,0 +1,45 @@ + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-break/transform-007.html b/tests/wpt/web-platform-tests/css/css-break/transform-007.html new file mode 100644 index 00000000000..22b8276f28b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/transform-007.html @@ -0,0 +1,23 @@ + + + + + + +
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/list-marker-position-crash.html b/tests/wpt/web-platform-tests/css/css-lists/list-marker-position-crash.html new file mode 100644 index 00000000000..06ae5fa45bd --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-lists/list-marker-position-crash.html @@ -0,0 +1,15 @@ + + +
+
+ + +
+ + + +
+

+
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/input/keyboard.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/input/keyboard.html index 2d39e0dd22c..ffb6ef6f308 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-snap/input/keyboard.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/input/keyboard.html @@ -35,32 +35,28 @@ promise_test(async t => { scroller.scrollTo(0, 0); assert_equals(scroller.scrollTop, 0, "verify test pre-condition"); await keyPress(scroller, "ArrowDown"); - await waitForAnimationEnd(scrollTop); - assert_equals(scroller.scrollTop, 400); + await waitForScrollEnd(scroller, scrollTop, 400); }, "Snaps to bottom-left after pressing ArrowDown"); promise_test(async t => { scroller.scrollTo(0, 400); assert_equals(scroller.scrollTop, 400, "verify test pre-condition"); await keyPress(scroller, "ArrowUp"); - await waitForAnimationEnd(scrollTop); - assert_equals(scroller.scrollTop, 0); + await waitForScrollEnd(scroller, scrollTop, 0); }, "Snaps to top-left after pressing ArrowUp"); promise_test(async t => { scroller.scrollTo(0, 0); assert_equals(scroller.scrollTop, 0, "verify test pre-condition"); await keyPress(scroller, "ArrowRight"); - await waitForAnimationEnd(scrollLeft); - assert_equals(scroller.scrollLeft, 400); + await waitForScrollEnd(scroller, scrollLeft, 400); }, "Snaps to top-right after pressing ArrowRight"); promise_test(async t => { scroller.scrollTo(400, 0); assert_equals(scroller.scrollLeft, 400, "verify test pre-condition"); await keyPress(scroller, "ArrowLeft"); - await waitForAnimationEnd(scrollLeft); - assert_equals(scroller.scrollLeft, 0); + await waitForScrollEnd(scroller, scrollLeft, 0); }, "Snaps to top-left after pressing ArrowLeft"); promise_test(async t => { @@ -76,7 +72,9 @@ promise_test(async t => { topRight.style.left = "500px"; scroller.scrollTo(0, 0); assert_equals(scroller.scrollLeft, 0, "verify test pre-condition"); + const scrollPromise = waitForScrollEvent(scroller); await keyPress(scroller, "ArrowRight"); + await scrollPromise; await waitForAnimationEnd(scrollLeft); assert_between_exclusive(scroller.scrollLeft, 0, 500); }, "If the original intended offset is valid as making a snap area cover the" @@ -96,8 +94,7 @@ promise_test(async t => { scroller.scrollTo(0, 0); assert_equals(scroller.scrollLeft, 0, "verify test pre-condition"); await keyPress(scroller, "ArrowRight"); - await waitForAnimationEnd(scrollLeft); - assert_equals(scroller.scrollLeft, 20); + await waitForScrollEnd(scroller, scrollLeft, 20); }, "If the original intended offset is valid as making a snap area cover the " + "snapport, but there's a defined snap offset in between, use the defined snap" + " offset."); @@ -105,8 +102,7 @@ promise_test(async t => { promise_test(async t => { scroller.scrollTo(400, 0); await keyPress(scroller, "ArrowRight"); - await waitForAnimationEnd(scrollLeft); - assert_equals(scroller.scrollLeft, 400); + await waitForScrollEnd(scroller, scrollLeft, 400); }, "If there is no valid snap offset on the arrow key's direction other than " + "the current offset, and the scroll-snap-type is mandatory, stay at the " + "current offset."); @@ -119,10 +115,12 @@ promise_test(async t => { scroller.style.scrollSnapType = "both proximity"; scroller.scrollTo(400, 0); assert_equals(scroller.scrollLeft, 400, "verify test pre-condition"); + const scrollPromise = waitForScrollEvent(scroller); await keyPress(scroller, "ArrowRight"); + await scrollPromise; await waitForAnimationEnd(scrollLeft); assert_greater_than(scroller.scrollLeft, 400); }, "If there is no valid snap offset on the arrow key's direction other than " + "the current offset, and the scroll-snap-type is proximity, go to the " + "original intended offset"); - \ No newline at end of file + diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/support/common.js b/tests/wpt/web-platform-tests/css/css-scroll-snap/support/common.js index 038ef07a6d9..7b91100b771 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-snap/support/common.js +++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/support/common.js @@ -55,3 +55,28 @@ function waitForAnimationEnd(getValue) { }); } +function waitForScrollEvent(eventTarget) { + return new Promise((resolve, reject) => { + const scrollListener = () => { + eventTarget.removeEventListener('scroll', scrollListener); + resolve(); + }; + eventTarget.addEventListener('scroll', scrollListener); + }); +} + +function waitForScrollEnd(eventTarget, getValue, targetValue) { + return new Promise((resolve, reject) => { + const scrollListener = () => { + if (getValue() == targetValue) { + eventTarget.removeEventListener('scroll', scrollListener); + resolve(); + } + }; + if (getValue() == targetValue) + resolve(); + else + eventTarget.addEventListener('scroll', scrollListener); + }); +} + diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-ref.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-ref.html new file mode 100644 index 00000000000..5b04f0074c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-ref.html @@ -0,0 +1,44 @@ + + + +
+
+ +
+
+
+
+ +
+
+ +
+ +
+
+
+
+ +
diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column.html new file mode 100644 index 00000000000..c795aac5ea7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column.html @@ -0,0 +1,56 @@ + +Table column background image geometry + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+
+ diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-collapsed-ref.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-collapsed-ref.html new file mode 100644 index 00000000000..8ab0992e089 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-collapsed-ref.html @@ -0,0 +1,60 @@ + + +
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-collapsed.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-collapsed.html new file mode 100644 index 00000000000..c70c6abd922 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-collapsed.html @@ -0,0 +1,53 @@ + +Collapsed table row background image geometry + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+
+ diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-ref.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-ref.html new file mode 100644 index 00000000000..1150a63e179 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row-ref.html @@ -0,0 +1,68 @@ + + +
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row.html new file mode 100644 index 00000000000..69105e6937a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-row.html @@ -0,0 +1,55 @@ + +Table row background image geometry + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+
+ diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/collapsed-border-large-cell-ref.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/collapsed-border-large-cell-ref.html new file mode 100644 index 00000000000..40d80cac485 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/collapsed-border-large-cell-ref.html @@ -0,0 +1,33 @@ + + +
+ +
+
+ +
+
+ +
+ +
+ +
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/collapsed-border-large-cell.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/collapsed-border-large-cell.html new file mode 100644 index 00000000000..60e1390b7b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/collapsed-border-large-cell.html @@ -0,0 +1,39 @@ + +Collapsed borders of large cells + + + + + +
+ + + + + + + + + + + + + + + + +
+
diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/overflow-hidden-table-ref.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/overflow-hidden-table-ref.html new file mode 100644 index 00000000000..fca7b4196cb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/overflow-hidden-table-ref.html @@ -0,0 +1,32 @@ + + +
+
+
+
+
+
+
+
+
caption +
diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/overflow-hidden-table.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/overflow-hidden-table.html new file mode 100644 index 00000000000..dc252b1652d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/overflow-hidden-table.html @@ -0,0 +1,37 @@ + +Overflow hidden and captions + + + + + +
+ + + + + +
+
+
+
+
caption
+
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/properties-value-auto-001.html b/tests/wpt/web-platform-tests/css/css-transitions/properties-value-auto-001.html deleted file mode 100644 index 6c932aa7cd6..00000000000 --- a/tests/wpt/web-platform-tests/css/css-transitions/properties-value-auto-001.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - CSS Transitions Test: transitioning property value "auto" - - - - - - - - - - - - - - - - - - -
- -
-
-
Text sample
-
-
-
- - - - - - diff --git a/tests/wpt/web-platform-tests/css/css-transitions/support/properties.js b/tests/wpt/web-platform-tests/css/css-transitions/support/properties.js index 9ca23450c8d..3255261f6c6 100644 --- a/tests/wpt/web-platform-tests/css/css-transitions/support/properties.js +++ b/tests/wpt/web-platform-tests/css/css-transitions/support/properties.js @@ -90,15 +90,6 @@ var values = { keyword: ['visible', 'hidden', {discrete: true}] }; }, - 'auto': function(property) { - var types = properties[property] || unspecified_properties[property]; - var val = values[types[0]](property); - var key = Object.keys(val).shift(); - return { - to: [val[key][1], 'auto'], - from: ['auto', val[key][1]] - }; - }, // types reqired for non-specified properties 'border-radius': function() { return { @@ -228,26 +219,6 @@ var properties = { 'z-index': ['integer'] }; -/* - * Property to auto-value mapping - * (lazily taken from http://www.siliconbaytraining.com/pages/csspv.html) - */ -var properties_auto = [ - 'margin-top', - 'margin-right', - 'margin-bottom', - 'margin-left', - 'height', - 'width', - 'clip', - 'marker-offset', - 'top', - 'right', - 'left', - 'bottom', - 'z-index' -]; - /* * Property to Type table * (missing value-types of specified properties) @@ -405,16 +376,6 @@ root.getFontSizeRelativePropertyTests = function() { return assemble(accepted); }; -root.getAutoPropertyTests = function() { - var accepted = {}; - - for (var i = 0, key; key = properties_auto[i]; i++) { - accepted[key] = ['auto']; - } - - return assemble(accepted); -}; - root.filterPropertyTests = function(tests, names) { var allowed = {}; var accepted = []; diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/check-for-references.sh b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/check-for-references.sh deleted file mode 100755 index adcc7dd2e7d..00000000000 --- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/check-for-references.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -cd "$(dirname "$0")" -find . -name reftest.list | sed 's,/reftest.list$,,' | while read DIRNAME -do - cat "$DIRNAME/reftest.list" | grep -v -e "^defaults" -e "include " | sed 's/ #.*//;s/^#.*//;s/.* == /== /;s/.* != /!= /' | grep -v "^ *$" | while read TYPE TEST REF - do - REFTYPE="" - if [ "$TYPE" == "==" ] - then - REFTYPE="match" - elif [ "$TYPE" == "!=" ] - then - REFTYPE="mismatch" - else - echo "Unexpected type $TYPE for $DIRNAME/$TEST" - fi - if grep "rel=\(\"$REFTYPE\"\|'$REFTYPE'\)" "$DIRNAME/$TEST" | head -1 | grep -q "href=\(\"$REF\"\|'$REF'\)" - then - #echo "Good link for $DIRNAME/$TEST" - echo -n - else - echo "Missing link for $DIRNAME/$TEST" - #echo "" >> "$DIRNAME/$TEST" - fi - done -done diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/sync-tests-filter b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/sync-tests-filter deleted file mode 100644 index 1d487fe3a98..00000000000 --- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/sync-tests-filter +++ /dev/null @@ -1,22 +0,0 @@ -# This file is an rsync filter. See the "FILTER RULES" section of -# 'man rsync'. - -##### Files not to touch at either end. -- /README - -##### Files not to write or delete at the destination end -P /sync-tests.sh -P /sync-tests-filter - -##### Files not to read at the source end (and thus to delete from the -##### destination end if present). -H /test-template-001.xht -H /references/test-template-001.xht - -# css-supports-027 uses @-moz-document, so we don't submit it. -# css-supports-046 tests the equivalent with @media. -H /conditional3/css-supports-027.xht - -# css-supports-028 uses @-moz-document, so we don't submit it. -# css-supports-026 tests the equivalent with @media. -H /conditional3/css-supports-028.xht diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/sync-tests.sh b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/sync-tests.sh deleted file mode 100755 index 7e3f087681e..00000000000 --- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/sync-tests.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -if [ "x$1" != "x" ]; then - MOZTREE="$1" -else - MOZTREE="$HOME/builds/clean-mozilla-central/mozilla/" -fi - -cd "$(dirname "$0")" - -if [ "$(git status -s . | wc -l)" != "0" ] -then - echo "Directory not clean" 1>&2 - exit 1 -fi - -if [ -e "$MOZTREE/.git" ] -then - MOZREV="$(cd "$MOZTREE" && git cinnabar git2hg HEAD)" -else - MOZREV="$(cd "$MOZTREE" && hg par --temp='{node}')" -fi - -rsync -avz --delete --filter=". ./sync-tests-filter" "$MOZTREE"/layout/reftests/w3c-css/submitted/ ./ -sed -i -e 's/^\(\(fails\|needs-focus\|random\|skip\|asserts\|slow\|require-or\|silentfail\|pref\|test-pref\|ref-pref\|fuzzy\)[^ ]* *\?\)\+//;/^defaults /d;s/ \?# \?\(TC: \)\?[bB]ug.*//' $(find . -name reftest.list) -sed -i -e 's/-moz-crisp-edges/pixelated/g' $(find . -regex ".*\.\(xht\|xhtml\|html\|css\)") -git add -A . -git commit -m"Sync Mozilla CSS tests as of https://hg.mozilla.org/mozilla-central/rev/$MOZREV ." -e . diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/navigate-to-aboutblank.https.html b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/navigate-to-aboutblank.https.html new file mode 100644 index 00000000000..8e3da11e04d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/navigate-to-aboutblank.https.html @@ -0,0 +1,176 @@ + + This tests the inheritance of COOP for navigations to about:blank. + + + + + + + + + + +

Non-initial empty documents (about:blank) should inherit their + cross-origin-opener-policy from the navigation's initiator top level document, + if the initiator and its top level document are same-origin, or default + (unsafe-none) otherwise. +

+ +
    +
  1. Create the opener popup with a given COOP openerCOOP.
  2. +
  3. Add iframe to the opener popup that is either same-origin or + cross-origin. +
  4. +
  5. Opener's iframe opens a new window, to a network document with openeeCOOP.
  6. +
  7. Opener's iframe navigates the openee popup to about:blank.
  8. +
+ + diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/navigate-top-to-aboutblank.https.html b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/navigate-top-to-aboutblank.https.html new file mode 100644 index 00000000000..34a75cee57a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/navigate-top-to-aboutblank.https.html @@ -0,0 +1,166 @@ + + This tests the inheritance of COOP for navigations of the top document to about:blank. + + + + + + + + + + +

Non-initial empty documents (about:blank) should inherit their + cross-origin-opener-policy from the navigation's initiator top level document, + if the initiator and its top level document are same-origin, or default (to + unsafe-none) otherwise. +

+ +
    +
  1. Create the opener popup with a given COOP openerCOOP.
  2. +
  3. Add iframe to the opener popup that is either same-origin or + cross-origin. +
  4. +
  5. Opener opens a new window, to a network document with the same origin and + COOP value as opener.
  6. +
  7. Opener's iframe navigates its parent frame (opener) to about:blank.
  8. +
  9. Verify the openee still has access to its opener.
  10. +
+ + diff --git a/tests/wpt/web-platform-tests/interfaces/background-sync.idl b/tests/wpt/web-platform-tests/interfaces/background-sync.idl index 12707e9289a..79a13a617af 100644 --- a/tests/wpt/web-platform-tests/interfaces/background-sync.idl +++ b/tests/wpt/web-platform-tests/interfaces/background-sync.idl @@ -9,7 +9,7 @@ partial interface ServiceWorkerRegistration { [Exposed=(Window,Worker)] interface SyncManager { - Promise register(DOMString tag); + Promise register(DOMString tag); Promise> getTags(); }; diff --git a/tests/wpt/web-platform-tests/interfaces/keyboard-map.idl b/tests/wpt/web-platform-tests/interfaces/keyboard-map.idl index 8d95d885058..ea7fd5c76a3 100644 --- a/tests/wpt/web-platform-tests/interfaces/keyboard-map.idl +++ b/tests/wpt/web-platform-tests/interfaces/keyboard-map.idl @@ -8,6 +8,7 @@ partial interface Navigator { [SecureContext, SameObject] readonly attribute Keyboard keyboard; }; +[Exposed=Window] interface KeyboardLayoutMap { readonly maplike; }; diff --git a/tests/wpt/web-platform-tests/lint.ignore b/tests/wpt/web-platform-tests/lint.ignore index bcf58ea5cfe..5d8db43125e 100644 --- a/tests/wpt/web-platform-tests/lint.ignore +++ b/tests/wpt/web-platform-tests/lint.ignore @@ -309,6 +309,8 @@ SET TIMEOUT: feature-policy/experimental-features/resources/focus-without-user-a SET TIMEOUT: permissions-policy/experimental-features/resources/focus-without-user-activation-iframe-tentative.html SET TIMEOUT: html/browsers/windows/auxiliary-browsing-contexts/resources/close-opener.html SET TIMEOUT: html/cross-origin-embedder-policy/resources/reporting-worker.js +SET TIMEOUT: html/cross-origin-opener-policy/navigate-to-aboutblank.https.html +SET TIMEOUT: html/cross-origin-opener-policy/navigate-top-to-aboutblank.https.html SET TIMEOUT: html/cross-origin-opener-policy/reporting/resources/dispatcher.js SET TIMEOUT: html/dom/documents/dom-tree-accessors/Document.currentScript.html SET TIMEOUT: html/webappapis/timers/* diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/registration-schedule-job.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/registration-schedule-job.https.html index 8ac5d49e8c3..25d758ee8f0 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/registration-schedule-job.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/registration-schedule-job.https.html @@ -5,6 +5,7 @@ + diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/type-check-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/type-check-worker.js new file mode 100644 index 00000000000..1779e2323d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/type-check-worker.js @@ -0,0 +1,10 @@ +let type = ''; +try { + importScripts('empty.js'); + type = 'classic'; +} catch (e) { + type = 'module'; +} +onmessage = e => { + e.source.postMessage(type); +}; diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt index 059f211eae0..3f1f243a9a7 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt @@ -4,7 +4,7 @@ mozlog==7.1.0 mozdebug==0.2 # Pillow 7 requires Python 3 pillow==6.2.2; python_version <= '2.7' # pyup: <7.0 -pillow==8.1.1; python_version >= '3.0' +pillow==8.1.2; python_version >= '3.0' urllib3[secure]==1.26.2 requests==2.25.1 six==1.15.0 diff --git a/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_pipes.py b/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_pipes.py index 8b40e1c84ff..904bfb4ee4c 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_pipes.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_pipes.py @@ -224,5 +224,10 @@ class TestPipesWithVariousHandlers(TestUsingServer): self.assertTrue(b'Content' in resp.read()) self.assertGreater(6, t1-t0) + def test_gzip_handler(self): + resp = self.request("/document.txt", query="pipe=gzip") + self.assertEqual(resp.getcode(), 200) + + if __name__ == '__main__': unittest.main() diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py index 2aa0aaaee8d..6845c33e985 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/pipes.py @@ -7,7 +7,7 @@ import re import time import uuid -from io import StringIO +from io import BytesIO try: from html import escape @@ -548,7 +548,7 @@ def gzip(request, response): content = resolve_content(response) response.headers.set("Content-Encoding", "gzip") - out = StringIO() + out = BytesIO() with gzip_module.GzipFile(fileobj=out, mode="w") as f: f.write(content) response.content = out.getvalue() diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html index 870e6ad72ec..58b1489d9ff 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html @@ -11,7 +11,7 @@ // https://w3c.github.io/webrtc-pc/archives/20170605/webrtc.html // The following helper functions are called from RTCPeerConnection-helper.js: - // exchangeOfferAnswer + // exchangeAnswer // exchangeIceCandidates // generateAudioReceiveOnlyOffer @@ -52,6 +52,8 @@ */ test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + assert_equals(pc.iceGatheringState, 'new'); }, 'Initial iceGatheringState should be new'); @@ -162,7 +164,12 @@ }, 'renegotiation that closes all transports should result in ICE gathering state "new"'); /* - 4.4.2. RTCIceGatheringState Enum + 4.3.2. RTCIceGatheringState Enum + new + Any of the RTCIceTransports are in the "new" gathering state and none + of the transports are in the "gathering" state, or there are no + transports. + gathering Any of the RTCIceTransport s are in the gathering state. @@ -179,7 +186,7 @@ indication for this transport has been sent. It will not gather candidates again until an ICE restart causes it to restart. */ - async_test(t => { + promise_test(async t => { const pc1 = new RTCPeerConnection(); t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); @@ -193,7 +200,7 @@ const iceTransport = pc2.sctp.transport.iceTransport; assert_equals(iceTransport.gatheringState, 'gathering', - 'Expect ICE transport to be in checking gatheringState when iceGatheringState is checking'); + 'Expect ICE transport to be in gathering gatheringState when iceGatheringState is gathering'); } else if(iceGatheringState === 'complete') { const iceTransport = pc2.sctp.transport.iceTransport; @@ -207,17 +214,20 @@ pc1.createDataChannel('test'); - assert_equals(pc2.onicegatheringstatechange, null, - 'Expect connection to have icegatheringstatechange event'); - // Spec bug w3c/webrtc-pc#1382 // Because sctp is only defined when answer is set, we listen // to pc2 so that we can be confident that sctp is defined // when icegatheringstatechange event is fired. pc2.addEventListener('icegatheringstatechange', onIceGatheringStateChange); + exchangeIceCandidates(pc1, pc2); - exchangeOfferAnswer(pc1, pc2); + + await pc1.setLocalDescription(); + assert_equals(pc1.sctp.transport.iceTransport.gatheringState, 'new'); + await pc2.setRemoteDescription(pc1.localDescription); + + await exchangeAnswer(pc1, pc2); }, 'connection with one data channel should eventually have connected connection state'); /*