mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Update web-platform-tests to revision b'8f48f40aab7f7f8a8118dc1a46972d070622be52' (#32271)
This commit is contained in:
parent
2904c32e05
commit
1f6d358cf9
407 changed files with 12186 additions and 1091 deletions
|
@ -214,3 +214,21 @@
|
||||||
|
|
||||||
[e.style['content'\] = "url(\\"https://www.example.com/picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
|
[e.style['content'\] = "url(\\"https://www.example.com/picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") / \\"alt text\\"" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") / \\"alt text\\" attr(foo) \\"bar\\"" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") / attr(foo)" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / \\"alt text\\"" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / \\"alt text\\" attr(foo) \\"bar\\"" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[counters-005.html]
|
||||||
|
expected: FAIL
|
|
@ -1,3 +1,3 @@
|
||||||
[overfow-outside-padding.html]
|
[overflow-outside-padding.html]
|
||||||
[#target did not trigger scroll overflow]
|
[#target did not trigger scroll overflow]
|
||||||
expected: FAIL
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[text-wrap-nowrap-001.html]
|
||||||
|
expected: FAIL
|
|
@ -1,10 +1,9 @@
|
||||||
[CSSStyleSheet-constructable-baseURL.tentative.html]
|
[CSSStyleSheet-constructable-baseURL.html]
|
||||||
[Constructing sheet with custom base URL ueses that URL for CSS rules]
|
[Constructing sheet with custom base URL ueses that URL for CSS rules]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Constructing sheet with invalid base URL throws a NotAllowedError]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Constructing sheet with relative URL adds to the constructor document's base URL]
|
[Constructing sheet with relative URL adds to the constructor document's base URL]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Constructing sheet with invalid base URL throws a NotAllowedError]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[HTMLMediaElement.html]
|
||||||
|
expected: TIMEOUT
|
|
@ -10,3 +10,6 @@
|
||||||
|
|
||||||
[Upgrade into customized built-in element when definition is added]
|
[Upgrade into customized built-in element when definition is added]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Upgrade into autonomous custom element should not inherit from global registry for missing values]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[eventsource-request-cancellation.window.any.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[eventsource-request-cancellation.window.any.worker.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[response-arraybuffer-realm.window.html]
|
||||||
|
[realm of the ArrayBuffer from Response arrayBuffer()]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,9 @@
|
||||||
|
[send-on-deactivate-with-background-sync.tentative.https.window.html]
|
||||||
|
[fetchLater() does send on page entering BFCache even if BackgroundSync is on.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[fetchLater() with activateAfter=0 sends on page entering BFCache if BackgroundSync is on.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[fetchLater() with activateAfter=1m does send on page entering BFCache even if BackgroundSync is on.]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,4 @@
|
||||||
|
[order-in-bfcache-restore-iframe.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[pagereveal event in iframe fires and in correct order on restoration from BFCache]
|
||||||
|
expected: TIMEOUT
|
|
@ -0,0 +1,3 @@
|
||||||
|
[order-in-new-document-navigation-iframe.html]
|
||||||
|
[pagereveal event fires and in correct order on new-document navigation in an iframe]
|
||||||
|
expected: FAIL
|
|
@ -1,3 +1,3 @@
|
||||||
[traverse_the_history_4.html]
|
[traverse_the_history_5.html]
|
||||||
[Multiple history traversals, last would be aborted]
|
[Multiple history traversals, last would be aborted]
|
||||||
expected: FAIL
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[svg-filter-lh-rlh.html]
|
||||||
|
expected: FAIL
|
|
@ -1,6 +1,6 @@
|
||||||
[Document.currentScript.html]
|
[Document.currentScript.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[Script script-exec]
|
[Script script-exec]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
[document-base-url-window-initiator-is-not-opener.https.window.html]
|
[document-base-url-window-initiator-is-not-opener.https.window.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[window.open() gets base url from initiator not opener.]
|
[window.open() gets base url from initiator not opener.]
|
||||||
expected: [FAIL, PASS, TIMEOUT]
|
expected: [FAIL, PASS, TIMEOUT]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-1.html]
|
[iframe_sandbox_popups_escaping-1.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[iframe_sandbox_popups_escaping-2.html]
|
[iframe_sandbox_popups_escaping-2.html]
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: FAIL
|
expected: TIMEOUT
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-3.html]
|
[iframe_sandbox_popups_escaping-3.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: FAIL
|
||||||
|
|
|
@ -41,3 +41,14 @@
|
||||||
[Test that the base URL of MediaImage is the base URL of entry setting object]
|
[Test that the base URL of MediaImage is the base URL of entry setting object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test that MediaMetadata is read/write]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test that MediaMetadata.artwork can't be modified]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test that MediaMetadata.chapterInfo is Frozen]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test that MediaMetadata.chapterInfo's artwork returns parsed urls]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[018.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
[origin of the script that invoked the method, javascript:]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -1,4 +0,0 @@
|
||||||
[017.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
[origin of the script that invoked the method, about:blank]
|
|
||||||
expected: TIMEOUT
|
|
File diff suppressed because it is too large
Load diff
|
@ -214,3 +214,21 @@
|
||||||
|
|
||||||
[e.style['content'\] = "url(\\"https://www.example.com/picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
|
[e.style['content'\] = "url(\\"https://www.example.com/picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") / \\"alt text\\"" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") / \\"alt text\\" attr(foo) \\"bar\\"" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") / attr(foo)" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / \\"alt text\\"" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / \\"alt text\\" attr(foo) \\"bar\\"" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
|
||||||
|
expected: FAIL
|
||||||
|
|
2
tests/wpt/meta/css/css-lists/counters-005.html.ini
Normal file
2
tests/wpt/meta/css/css-lists/counters-005.html.ini
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[counters-005.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[text-wrap-nowrap-001.html]
|
||||||
|
expected: FAIL
|
|
@ -1,10 +1,9 @@
|
||||||
[CSSStyleSheet-constructable-baseURL.tentative.html]
|
[CSSStyleSheet-constructable-baseURL.html]
|
||||||
[Constructing sheet with custom base URL ueses that URL for CSS rules]
|
[Constructing sheet with custom base URL ueses that URL for CSS rules]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Constructing sheet with invalid base URL throws a NotAllowedError]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Constructing sheet with relative URL adds to the constructor document's base URL]
|
[Constructing sheet with relative URL adds to the constructor document's base URL]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Constructing sheet with invalid base URL throws a NotAllowedError]
|
||||||
|
expected: FAIL
|
|
@ -10,3 +10,6 @@
|
||||||
|
|
||||||
[Upgrade into customized built-in element when definition is added]
|
[Upgrade into customized built-in element when definition is added]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Upgrade into autonomous custom element should not inherit from global registry for missing values]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[eventsource-request-cancellation.window.any.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[eventsource-request-cancellation.window.any.worker.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[response-arraybuffer-realm.window.html]
|
||||||
|
[realm of the ArrayBuffer from Response arrayBuffer()]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,9 @@
|
||||||
|
[send-on-deactivate-with-background-sync.tentative.https.window.html]
|
||||||
|
[fetchLater() does send on page entering BFCache even if BackgroundSync is on.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[fetchLater() with activateAfter=0 sends on page entering BFCache if BackgroundSync is on.]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[fetchLater() with activateAfter=1m does send on page entering BFCache even if BackgroundSync is on.]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,4 @@
|
||||||
|
[order-in-bfcache-restore-iframe.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[pagereveal event in iframe fires and in correct order on restoration from BFCache]
|
||||||
|
expected: TIMEOUT
|
|
@ -0,0 +1,3 @@
|
||||||
|
[order-in-new-document-navigation-iframe.html]
|
||||||
|
[pagereveal event fires and in correct order on new-document navigation in an iframe]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,3 @@
|
||||||
|
[traverse_the_history_2.html]
|
||||||
|
[Multiple history traversals, last would be aborted]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[svg-filter-lh-rlh.html]
|
||||||
|
expected: FAIL
|
|
@ -1,4 +1,4 @@
|
||||||
[Document.currentScript.html]
|
[Document.currentScript.html]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[Script script-svg]
|
[Script script-svg]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
[document-base-url-window-initiator-is-not-opener.https.window.html]
|
[document-base-url-window-initiator-is-not-opener.https.window.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[window.open() gets base url from initiator not opener.]
|
[window.open() gets base url from initiator not opener.]
|
||||||
expected: [FAIL, PASS, TIMEOUT]
|
expected: [FAIL, PASS, TIMEOUT]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[iframe_sandbox_popups_escaping-1.html]
|
[iframe_sandbox_popups_escaping-1.html]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: FAIL
|
expected: TIMEOUT
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[iframe_sandbox_popups_escaping-3.html]
|
[iframe_sandbox_popups_escaping-3.html]
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: FAIL
|
expected: TIMEOUT
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
[sandbox-top-navigation-user-activation-sticky.tentative.sub.window.html]
|
[sandbox-top-navigation-user-activation-sticky.tentative.sub.window.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[Allow top with user activation + user activation]
|
[Allow top with user activation + user activation]
|
||||||
expected: FAIL
|
expected: TIMEOUT
|
||||||
|
|
|
@ -40,3 +40,15 @@
|
||||||
|
|
||||||
[Test that the base URL of MediaImage is the base URL of entry setting object]
|
[Test that the base URL of MediaImage is the base URL of entry setting object]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test that MediaMetadata is read/write]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test that MediaMetadata.artwork can't be modified]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test that MediaMetadata.chapterInfo is Frozen]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test that MediaMetadata.chapterInfo's artwork returns parsed urls]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
[performance-navigation-timing-iframes-without-attributes.tentative.window.html]
|
[performance-navigation-timing-iframes-without-attributes.tentative.window.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[RemoteContextHelper navigation using BFCache]
|
[RemoteContextHelper navigation using BFCache]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[018.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
[origin of the script that invoked the method, javascript:]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -103,21 +103,9 @@ jobs:
|
||||||
- template: tools/ci/azure/install_fonts.yml
|
- template: tools/ci/azure/install_fonts.yml
|
||||||
- template: tools/ci/azure/install_certs.yml
|
- template: tools/ci/azure/install_certs.yml
|
||||||
- template: tools/ci/azure/color_profile.yml
|
- template: tools/ci/azure/color_profile.yml
|
||||||
- template: tools/ci/azure/install_chrome.yml
|
|
||||||
- template: tools/ci/azure/install_firefox.yml
|
|
||||||
- template: tools/ci/azure/install_safari.yml
|
- template: tools/ci/azure/install_safari.yml
|
||||||
- template: tools/ci/azure/update_hosts.yml
|
- template: tools/ci/azure/update_hosts.yml
|
||||||
- template: tools/ci/azure/update_manifest.yml
|
- template: tools/ci/azure/update_manifest.yml
|
||||||
- script: |
|
|
||||||
set -eux -o pipefail
|
|
||||||
./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_macos_chrome.json --channel dev chrome infrastructure/
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
displayName: 'Run tests (Chrome Dev)'
|
|
||||||
- script: |
|
|
||||||
set -eux -o pipefail
|
|
||||||
./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_macos_firefox.json --channel nightly firefox infrastructure/
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
displayName: 'Run tests (Firefox Nightly)'
|
|
||||||
- script: |
|
- script: |
|
||||||
set -eux -o pipefail
|
set -eux -o pipefail
|
||||||
export SYSTEM_VERSION_COMPAT=0
|
export SYSTEM_VERSION_COMPAT=0
|
||||||
|
|
|
@ -23,7 +23,7 @@ indexeddb_test(
|
||||||
worker.postMessage('', [buffer]);
|
worker.postMessage('', [buffer]);
|
||||||
assert_equals(array.byteLength, 0);
|
assert_equals(array.byteLength, 0);
|
||||||
|
|
||||||
assert_throws_js(TypeError, () => { store.put('', buffer); });
|
assert_throws_dom("DataError", () => { store.put('', buffer); });
|
||||||
t.done();
|
t.done();
|
||||||
},
|
},
|
||||||
'Detached ArrayBuffer'
|
'Detached ArrayBuffer'
|
||||||
|
@ -43,7 +43,7 @@ indexeddb_test(
|
||||||
worker.postMessage('', [array.buffer]);
|
worker.postMessage('', [array.buffer]);
|
||||||
assert_equals(array.length, 0);
|
assert_equals(array.length, 0);
|
||||||
|
|
||||||
assert_throws_js(TypeError, () => { store.put('', array); });
|
assert_throws_dom("DataError", () => { store.put('', array); });
|
||||||
t.done();
|
t.done();
|
||||||
},
|
},
|
||||||
'Detached TypedArray'
|
'Detached TypedArray'
|
||||||
|
|
3
tests/wpt/tests/compute-pressure/WEB_FEATURES.yml
Normal file
3
tests/wpt/tests/compute-pressure/WEB_FEATURES.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
features:
|
||||||
|
- name: compute-pressure
|
||||||
|
files: "**"
|
|
@ -76,7 +76,6 @@ function httpCookieTest(cookie, expectedValue, name, defaultPath = true,
|
||||||
} catch {
|
} catch {
|
||||||
if (allowFetchFailure) {
|
if (allowFetchFailure) {
|
||||||
skipAssertions = true;
|
skipAssertions = true;
|
||||||
resolve();
|
|
||||||
} else {
|
} else {
|
||||||
reject('Failed to fetch /cookies/resources/cookie.py');
|
reject('Failed to fetch /cookies/resources/cookie.py');
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<title>Federated Credential Management API network request tests.</title>
|
||||||
|
<link rel="help" href="https://fedidcg.github.io/FedCM">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/testdriver.js"></script>
|
||||||
|
<script src="/resources/testdriver-vendor.js"></script>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script type="module">
|
||||||
|
import {fedcm_test,
|
||||||
|
request_options_with_mediation_required,
|
||||||
|
fedcm_get_and_select_first_account} from '../support/fedcm-helper.sub.js';
|
||||||
|
|
||||||
|
fedcm_test(async t => {
|
||||||
|
let options = request_options_with_mediation_required("manifest_check_disclosure_shown_false.json");
|
||||||
|
options.identity.providers[0].clientId = "0";
|
||||||
|
options.identity.providers[0].scope = ["non_default_scope"];
|
||||||
|
const cred = await fedcm_get_and_select_first_account(t, options);
|
||||||
|
assert_equals(cred.token, "token");
|
||||||
|
assert_equals(cred.isAutoSelected, false);
|
||||||
|
}, "We should send disclosure_text_shown=false when custom scopes are passed.");
|
||||||
|
|
||||||
|
</script>
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"accounts_endpoint": "accounts.py",
|
||||||
|
"client_metadata_endpoint": "client_metadata.py",
|
||||||
|
"id_assertion_endpoint": "token_check_disclosure_shown_false.py",
|
||||||
|
"login_url": "login.html"
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
import importlib
|
||||||
|
error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
|
||||||
|
|
||||||
|
def main(request, response):
|
||||||
|
request_error = error_checker.tokenCheck(request)
|
||||||
|
if (request_error):
|
||||||
|
return request_error
|
||||||
|
|
||||||
|
if request.POST.get(b"disclosure_text_shown") != b"false":
|
||||||
|
return (560, [], "disclosure_text_shown is not false")
|
||||||
|
|
||||||
|
response.headers.set(b"Content-Type", b"application/json")
|
||||||
|
response.headers.set(b"Access-Control-Allow-Origin", request.headers.get(b"Origin"))
|
||||||
|
response.headers.set(b"Access-Control-Allow-Credentials", "true")
|
||||||
|
|
||||||
|
return "{\"token\": \"token\"}"
|
|
@ -0,0 +1,17 @@
|
||||||
|
<style>
|
||||||
|
* {
|
||||||
|
position: sticky;
|
||||||
|
border-left: double 488200679.54Q hsla(-39 5% 68% / 7%) !important;
|
||||||
|
box-shadow: 172vmax 60991vmax 32in 106cm hsl(-57532411.87deg, 70%, 54%);
|
||||||
|
background-blend-mode: overlay;
|
||||||
|
background: url(data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=) local content-box space space 0em / 15438983.37cm auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
window.addEventListener("load", () => {
|
||||||
|
let a = document.createElementNS("http://www.w3.org/1998/Math/MathML", "math")
|
||||||
|
a.setAttribute("href", "x")
|
||||||
|
a.autofocus = true
|
||||||
|
document.documentElement.appendChild(a)
|
||||||
|
})
|
||||||
|
</script>
|
|
@ -0,0 +1,33 @@
|
||||||
|
<!doctype html>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
width: 150vw;
|
||||||
|
height: 150vh;
|
||||||
|
}
|
||||||
|
.anchor {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: orange;
|
||||||
|
}
|
||||||
|
#anchor1 {
|
||||||
|
position: absolute;
|
||||||
|
top: 100px;
|
||||||
|
left: 350px;
|
||||||
|
}
|
||||||
|
#anchor2 {
|
||||||
|
position:fixed;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
#anchored {
|
||||||
|
position: absolute;
|
||||||
|
top: 50px;
|
||||||
|
left: 350px;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: blue;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="anchor" id="anchor1"></div>
|
||||||
|
<div class="anchor" id="anchor2"></div>
|
||||||
|
<div id="anchored"></div>
|
|
@ -0,0 +1,57 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class=reftest-wait>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Anchor Positioning Test: @position-try with different default anchors,
|
||||||
|
switching to fixed-position anchor on scroll and back on another scroll</title>
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#fallback-rule">
|
||||||
|
<link rel="match" href="position-try-switch-from-fixed-anchor-ref.html">
|
||||||
|
<script src="/common/reftest-wait.js"></script>
|
||||||
|
<script src="/common/rendering-utils.js"></script>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
width: 150vw;
|
||||||
|
height: 150vh;
|
||||||
|
}
|
||||||
|
.anchor {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: orange;
|
||||||
|
}
|
||||||
|
#anchor1 {
|
||||||
|
anchor-name: --anchor1;
|
||||||
|
position: absolute;
|
||||||
|
top: 100px;
|
||||||
|
left: 350px;
|
||||||
|
}
|
||||||
|
#anchor2 {
|
||||||
|
anchor-name: --anchor2;
|
||||||
|
position:fixed;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
#anchored {
|
||||||
|
position-anchor: --anchor1;
|
||||||
|
inset-area: top;
|
||||||
|
position-try-options: --fixed;
|
||||||
|
position: fixed;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: blue;
|
||||||
|
}
|
||||||
|
@position-try --fixed {
|
||||||
|
inset-area: top left;
|
||||||
|
position-anchor: --anchor2;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="anchor" id="anchor1"></div>
|
||||||
|
<div class="anchor" id="anchor2"></div>
|
||||||
|
<div id="anchored"></div>
|
||||||
|
<script>
|
||||||
|
waitForAtLeastOneFrame().then(() => {
|
||||||
|
window.scrollTo(250, 100);
|
||||||
|
waitForAtLeastOneFrame().then(() => {
|
||||||
|
window.scrollTo(0, 0);
|
||||||
|
takeScreenshot();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,37 @@
|
||||||
|
<!doctype html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
width: 150vw;
|
||||||
|
height: 150vh;
|
||||||
|
}
|
||||||
|
.anchor {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: orange;
|
||||||
|
}
|
||||||
|
#anchor1 {
|
||||||
|
position: absolute;
|
||||||
|
top: 100px;
|
||||||
|
left: 350px;
|
||||||
|
}
|
||||||
|
#anchor2 {
|
||||||
|
position:fixed;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
#anchored {
|
||||||
|
position: fixed;
|
||||||
|
right: 50px;
|
||||||
|
bottom: 50px;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: blue;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="anchor" id="anchor1"></div>
|
||||||
|
<div class="anchor" id="anchor2"></div>
|
||||||
|
<div id="anchored"></div>
|
||||||
|
<script>
|
||||||
|
window.scrollTo(250, 100);
|
||||||
|
</script>
|
|
@ -0,0 +1,53 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class=reftest-wait>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Anchor Positioning Test: @position-try with different default anchors, switching to fixed-position anchor on scroll</title>
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#fallback-rule">
|
||||||
|
<link rel="match" href="position-try-switch-to-fixed-anchor-ref.html">
|
||||||
|
<script src="/common/reftest-wait.js"></script>
|
||||||
|
<script src="/common/rendering-utils.js"></script>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
width: 150vw;
|
||||||
|
height: 150vh;
|
||||||
|
}
|
||||||
|
.anchor {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: orange;
|
||||||
|
}
|
||||||
|
#anchor1 {
|
||||||
|
anchor-name: --anchor1;
|
||||||
|
position: absolute;
|
||||||
|
top: 100px;
|
||||||
|
left: 350px;
|
||||||
|
}
|
||||||
|
#anchor2 {
|
||||||
|
anchor-name: --anchor2;
|
||||||
|
position:fixed;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
#anchored {
|
||||||
|
position-anchor: --anchor1;
|
||||||
|
inset-area: top;
|
||||||
|
position-try-options: --fixed;
|
||||||
|
position: fixed;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: blue;
|
||||||
|
}
|
||||||
|
@position-try --fixed {
|
||||||
|
inset-area: top left;
|
||||||
|
position-anchor: --anchor2;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="anchor" id="anchor1"></div>
|
||||||
|
<div class="anchor" id="anchor2"></div>
|
||||||
|
<div id="anchored"></div>
|
||||||
|
<script>
|
||||||
|
waitForAtLeastOneFrame().then(() => {
|
||||||
|
window.scrollTo(250, 100);
|
||||||
|
takeScreenshot();
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -2,7 +2,6 @@
|
||||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
||||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#relative-positioning">
|
<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#relative-positioning">
|
||||||
<link rel="match" href="relpos-inline-ref.html">
|
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
The tests in this directory are Copyright (c) 2007-2008, The
|
|
||||||
Mozilla Foundation. All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or
|
|
||||||
without modification, are permitted provided that the following
|
|
||||||
conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above
|
|
||||||
copyright notice, this list of conditions and the following
|
|
||||||
disclaimer.
|
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above
|
|
||||||
copyright notice, this list of conditions and the following
|
|
||||||
disclaimer in the documentation and/or other materials
|
|
||||||
provided with the distribution.
|
|
||||||
|
|
||||||
* Neither the name of the The Mozilla Foundation nor the
|
|
||||||
names of its contributors may be used to endorse or promote
|
|
||||||
products derived from this software without specific prior
|
|
||||||
written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
||||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
||||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
|
||||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
|
||||||
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
|
|
||||||
Alternatively, these tests may be used under the terms of the W3C
|
|
||||||
Document License at
|
|
||||||
http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
|
|
||||||
in which case the provisions of the W3C Document License are
|
|
||||||
applicable instead of those above.
|
|
|
@ -16,6 +16,9 @@ features:
|
||||||
files:
|
files:
|
||||||
- lab-*
|
- lab-*
|
||||||
- lch-*
|
- lch-*
|
||||||
|
- name: light-dark
|
||||||
|
files:
|
||||||
|
- light-dark-*
|
||||||
- name: oklab
|
- name: oklab
|
||||||
files:
|
files:
|
||||||
- oklab-*
|
- oklab-*
|
||||||
|
|
|
@ -791,7 +791,6 @@
|
||||||
for (const colorSpace of ["xyz-d50", "xyz-d65"]) {
|
for (const colorSpace of ["xyz-d50", "xyz-d65"]) {
|
||||||
fuzzy_test_computed_color(`color(from rgb(from color(${colorSpace} 0.99 0.88 0.77) r g b) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
fuzzy_test_computed_color(`color(from rgb(from color(${colorSpace} 0.99 0.88 0.77) r g b) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
||||||
fuzzy_test_computed_color(`color(from hsl(from color(${colorSpace} 0.99 0.88 0.77) h s l) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
fuzzy_test_computed_color(`color(from hsl(from color(${colorSpace} 0.99 0.88 0.77) h s l) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
||||||
fuzzy_test_computed_color(`color(from hwb(from color(${colorSpace} 0.99 0.88 0.77) h w b) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
|
||||||
fuzzy_test_computed_color(`color(from lab(from color(${colorSpace} 0.99 0.88 0.77) l a b) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
fuzzy_test_computed_color(`color(from lab(from color(${colorSpace} 0.99 0.88 0.77) l a b) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
||||||
fuzzy_test_computed_color(`color(from lch(from color(${colorSpace} 0.99 0.88 0.77) l c h) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
fuzzy_test_computed_color(`color(from lch(from color(${colorSpace} 0.99 0.88 0.77) l c h) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
||||||
fuzzy_test_computed_color(`color(from oklab(from color(${colorSpace} 0.99 0.88 0.77) l a b) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
fuzzy_test_computed_color(`color(from oklab(from color(${colorSpace} 0.99 0.88 0.77) l a b) ${colorSpace} x y z)`, `color(${colorSpace} 0.99 0.88 0.77)`, 0.0001);
|
||||||
|
|
|
@ -42,7 +42,7 @@ test_valid_value_combinations("content", `counters(counter-name, ".", counter-st
|
||||||
test_valid_value_combinations("content", `counters(counter-name, ".", dECiMaL)`, `counters(counter-name, ".")`);
|
test_valid_value_combinations("content", `counters(counter-name, ".", dECiMaL)`, `counters(counter-name, ".")`);
|
||||||
test_valid_value_combinations("content", `counters(counter-name, ".", DECIMAL)`, `counters(counter-name, ".")`);
|
test_valid_value_combinations("content", `counters(counter-name, ".", DECIMAL)`, `counters(counter-name, ".")`);
|
||||||
|
|
||||||
test_valid_value_combinations("content", `url("https://www.example.com/picture.svg")`);
|
test_valid_value_combinations("content", `url("picture.svg")`);
|
||||||
|
|
||||||
test_valid_value_combinations("content", `"hello"`);
|
test_valid_value_combinations("content", `"hello"`);
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ test_valid_value_combinations("content", `counter(counter-name) "potato"`);
|
||||||
test_valid_value_combinations("content", `counters(counter-name, ".") "potato"`);
|
test_valid_value_combinations("content", `counters(counter-name, ".") "potato"`);
|
||||||
test_valid_value_combinations("content", `"(" counters(counter-name, ".", counter-style) ")"`);
|
test_valid_value_combinations("content", `"(" counters(counter-name, ".", counter-style) ")"`);
|
||||||
test_valid_value_combinations("content", `open-quote "hello" "world" close-quote`);
|
test_valid_value_combinations("content", `open-quote "hello" "world" close-quote`);
|
||||||
test_valid_value_combinations("content", `url("https://www.example.com/picture.svg") "hello"`);
|
test_valid_value_combinations("content", `url("picture.svg") "hello"`);
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#intrinsic-sizes">
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#intrinsic-sizes">
|
||||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<script src="/resources/check-layout-th.js"></script>
|
<script src="/resources/check-layout-th.js"></script>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#intrinsic-sizes">
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#intrinsic-sizes">
|
||||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<script src="/resources/check-layout-th.js"></script>
|
<script src="/resources/check-layout-th.js"></script>
|
||||||
|
|
|
@ -64,6 +64,12 @@ test_shorthand_value('flex', '1 0 max-content', {
|
||||||
'flex-shrink': '0',
|
'flex-shrink': '0',
|
||||||
'flex-basis': 'max-content'
|
'flex-basis': 'max-content'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test_shorthand_value('flex', 'auto 1 2', {
|
||||||
|
'flex-grow': '1',
|
||||||
|
'flex-shrink': '2',
|
||||||
|
'flex-basis': 'auto'
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -6,7 +6,19 @@ features:
|
||||||
- palette-values-rule-*
|
- palette-values-rule-*
|
||||||
- name: font-synthesis
|
- name: font-synthesis
|
||||||
files:
|
files:
|
||||||
- font-synthesis-*
|
- font-synthesis-0*.html
|
||||||
|
- name: font-synthesis-position
|
||||||
|
files:
|
||||||
|
- font-synthesis-position*
|
||||||
|
- name: font-synthesis-small-caps
|
||||||
|
files:
|
||||||
|
- font-synthesis-small-caps*
|
||||||
|
- name: font-synthesis-style
|
||||||
|
files:
|
||||||
|
- font-synthesis-style*
|
||||||
|
- name: font-synthesis-weight
|
||||||
|
files:
|
||||||
|
- font-synthesis-weight*
|
||||||
- name: font-variant-alternates
|
- name: font-variant-alternates
|
||||||
files:
|
files:
|
||||||
- alternates-order.html
|
- alternates-order.html
|
||||||
|
|
|
@ -8,7 +8,21 @@ features:
|
||||||
- font-palette-values-*
|
- font-palette-values-*
|
||||||
- name: font-synthesis
|
- name: font-synthesis
|
||||||
files:
|
files:
|
||||||
- font-synthesis-*
|
- font-synthesis-computed.html
|
||||||
|
- font-synthesis-invalid.html
|
||||||
|
- font-synthesis-valid.html
|
||||||
|
- name: font-synthesis-position
|
||||||
|
files:
|
||||||
|
- font-synthesis-position*
|
||||||
|
- name: font-synthesis-small-caps
|
||||||
|
files:
|
||||||
|
- font-synthesis-small-caps*
|
||||||
|
- name: font-synthesis-style
|
||||||
|
files:
|
||||||
|
- font-synthesis-style*
|
||||||
|
- name: font-synthesis-weight
|
||||||
|
files:
|
||||||
|
- font-synthesis-weight*
|
||||||
- name: font-variant-alternates
|
- name: font-variant-alternates
|
||||||
files:
|
files:
|
||||||
- font-variant-alternates-*
|
- font-variant-alternates-*
|
||||||
|
|
3
tests/wpt/tests/css/css-highlight-api/WEB_FEATURES.yml
Normal file
3
tests/wpt/tests/css/css-highlight-api/WEB_FEATURES.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
features:
|
||||||
|
- name: highlight
|
||||||
|
files: "**"
|
4
tests/wpt/tests/css/css-images/WEB_FEATURES.yml
Normal file
4
tests/wpt/tests/css/css-images/WEB_FEATURES.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
features:
|
||||||
|
- name: conic-gradients
|
||||||
|
files:
|
||||||
|
- "*conic*"
|
|
@ -0,0 +1,3 @@
|
||||||
|
features:
|
||||||
|
- name: baseline-source
|
||||||
|
files: "**"
|
|
@ -21,17 +21,17 @@ html,body {
|
||||||
<span>6</span><!-- "6" -->
|
<span>6</span><!-- "6" -->
|
||||||
<span>0</span><!-- "0" -->
|
<span>0</span><!-- "0" -->
|
||||||
<x>
|
<x>
|
||||||
<span>2</span><!-- "2" -->
|
<span>0.2</span><!-- "0.2" -->
|
||||||
</x>
|
</x>
|
||||||
<span>3</span><!-- "3" -->
|
<span>0.3</span><!-- "0.3" -->
|
||||||
<x>
|
<x>
|
||||||
<span>0</span><!-- "0" -->
|
<span>0.3.0</span><!-- "0.3.0" -->
|
||||||
<span>2</span><!-- "2" -->
|
<span>0.3.2</span><!-- "0.3.2" -->
|
||||||
<x>
|
<x>
|
||||||
<span>2.5</span><!-- "2.5" -->
|
<span>0.3.2.5</span><!-- "0.3.2.5" -->
|
||||||
</x>
|
</x>
|
||||||
</x>
|
</x>
|
||||||
<span>3</span><!-- "3" -->
|
<span>0.3.3</span><!-- "0.3.3" -->
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -24,17 +24,17 @@ span::before { content: counters(n, '.'); }
|
||||||
<span style="counter-set: n 6; counter-increment: n 2"></span><!-- "6" -->
|
<span style="counter-set: n 6; counter-increment: n 2"></span><!-- "6" -->
|
||||||
<span style="counter-set: n; counter-increment: n 2"></span><!-- "0" -->
|
<span style="counter-set: n; counter-increment: n 2"></span><!-- "0" -->
|
||||||
<x style="counter-reset: n 9">
|
<x style="counter-reset: n 9">
|
||||||
<span style="counter-set: n 2"></span><!-- "2" -->
|
<span style="counter-set: n 2"></span><!-- "0.2" -->
|
||||||
</x>
|
</x>
|
||||||
<span style="counter-increment: n"></span><!-- "3" -->
|
<span style="counter-increment: n"></span><!-- "0.3" -->
|
||||||
<x style="counter-reset: n 9">
|
<x style="counter-reset: n 9">
|
||||||
<span style="counter-set: n"></span><!-- "0" -->
|
<span style="counter-set: n"></span><!-- "0.3.0" -->
|
||||||
<span style="counter-set: n 2"></span><!-- "2" -->
|
<span style="counter-set: n 2"></span><!-- "0.3.2" -->
|
||||||
<x style="counter-reset: n 1">
|
<x style="counter-reset: n 1">
|
||||||
<span style="counter-set: n 5"></span><!-- "2.5" -->
|
<span style="counter-set: n 5"></span><!-- "0.3.2.5" -->
|
||||||
</x>
|
</x>
|
||||||
</x>
|
</x>
|
||||||
<span style="counter-increment: n"></span><!-- "3" -->
|
<span style="counter-increment: n"></span><!-- "0.3.3" -->
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
19
tests/wpt/tests/css/css-lists/counters-005-ref.html
Normal file
19
tests/wpt/tests/css/css-lists/counters-005-ref.html
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>CSS Lists Ref Test: Implied counter scopes by 'counter-increment'</title>
|
||||||
|
<link rel="author" title="Daniil Sakhapov" href="mailto:sakhapov@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-lists/#propdef-counter-increment">
|
||||||
|
<style type="text/css">
|
||||||
|
body { white-space: nowrap; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>The following two lines should be identical:</p>
|
||||||
|
|
||||||
|
<div>B 1 1.0 1 1.0</div>
|
||||||
|
<div>B 1 1.0 1 1.0</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
38
tests/wpt/tests/css/css-lists/counters-005.html
Normal file
38
tests/wpt/tests/css/css-lists/counters-005.html
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>CSS Lists: Implied counter scopes by 'counter-increment'</title>
|
||||||
|
<link rel="author" title="Daniil Sakhapov" href="mailto:sakhapov@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-lists/#propdef-counter-increment">
|
||||||
|
<link rel="match" href="counters-005-ref.html">
|
||||||
|
<style type="text/css">
|
||||||
|
body { white-space: nowrap; }
|
||||||
|
.i { counter-increment: c 1; }
|
||||||
|
.ib:before { counter-increment: c 1; content: "B" }
|
||||||
|
.r { counter-reset: c 0; }
|
||||||
|
.u:before { content: counters(c, ".") " "; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>The following two lines should be identical:</p>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<span class="ib">
|
||||||
|
<span class="u"></span>
|
||||||
|
<span class="r">
|
||||||
|
<span class="u"></span>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
<span class="i">
|
||||||
|
<span class="u"></span>
|
||||||
|
<span class="r">
|
||||||
|
<span class="u"></span>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>B 1 1.0 1 1.0</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<link rel="help" href="http://crbug.com/339592908">
|
||||||
|
<div><li></li></div>
|
||||||
|
<div><li style="display: inline-flex;"></li></div>
|
||||||
|
</html>
|
6
tests/wpt/tests/css/css-masking/WEB_FEATURES.yml
Normal file
6
tests/wpt/tests/css/css-masking/WEB_FEATURES.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
features:
|
||||||
|
- name: masks
|
||||||
|
# To match the scope of the feature in web-features, this should only include
|
||||||
|
# tests for https://drafts.fxtf.org/css-masking-1/#positioned-masks.
|
||||||
|
files:
|
||||||
|
- mask-shorthand-subproperties-reset.html
|
|
@ -0,0 +1,8 @@
|
||||||
|
features:
|
||||||
|
- name: masks
|
||||||
|
# To match the scope of the feature in web-features, this should only include
|
||||||
|
# tests for https://drafts.fxtf.org/css-masking-1/#positioned-masks.
|
||||||
|
files:
|
||||||
|
- mask-image-interpolation.html
|
||||||
|
- mask-no-interpolation.html
|
||||||
|
- mask-position-interpolation.html
|
|
@ -0,0 +1,3 @@
|
||||||
|
features:
|
||||||
|
- name: masks
|
||||||
|
files: "**"
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!doctype html>
|
||||||
|
<title>Change of viewport affecting mask content</title>
|
||||||
|
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-mask-image">
|
||||||
|
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#svg-masks">
|
||||||
|
<link rel="match" href="../clip-path/reference/green-100x100.html">
|
||||||
|
<div id="container" style="width: 0%">
|
||||||
|
<svg style="width: 100%">
|
||||||
|
<mask id="mask">
|
||||||
|
<rect width="100%" height="100%" fill="white"/>
|
||||||
|
</mask>
|
||||||
|
<rect width="100" height="100" fill="red"/>
|
||||||
|
<rect width="100" height="100" fill="green" mask="url(#mask)"/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
document.body.offsetTop;
|
||||||
|
document.getElementById('container').style.width = '100%';
|
||||||
|
</script>
|
10
tests/wpt/tests/css/css-masking/parsing/WEB_FEATURES.yml
Normal file
10
tests/wpt/tests/css/css-masking/parsing/WEB_FEATURES.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
features:
|
||||||
|
- name: masks
|
||||||
|
# To match the scope of the feature in web-features, this should only include
|
||||||
|
# tests for https://drafts.fxtf.org/css-masking-1/#positioned-masks.
|
||||||
|
files:
|
||||||
|
- mask-composite-*
|
||||||
|
- mask-computed.html
|
||||||
|
- mask-invalid.html
|
||||||
|
- mask-position-*
|
||||||
|
- mask-repeat-*
|
30
tests/wpt/tests/css/css-overflow/WEB_FEATURES.yml
Normal file
30
tests/wpt/tests/css/css-overflow/WEB_FEATURES.yml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
features:
|
||||||
|
- name: overflow-shorthand
|
||||||
|
files:
|
||||||
|
# This is all overflow-* except overflow-auto-scrollbar-gutter-intrinsic-* and
|
||||||
|
# overflow-scroll-*. TODO: convert to an exclusion patterns, or rename tests
|
||||||
|
# to make overflow-* only match the below.
|
||||||
|
- overflow-abpos-transform.html
|
||||||
|
- overflow-body-propagation-*
|
||||||
|
- overflow-canvas.html
|
||||||
|
- overflow-clip-*
|
||||||
|
- overflow-codependent-scrollbars.html
|
||||||
|
- overflow-ellipsis-dynamic-001.html
|
||||||
|
- overflow-empty-child-box.html
|
||||||
|
- overflow-hidden-resize-with-stacking-context-child.html
|
||||||
|
- overflow-img-*
|
||||||
|
- overflow-img.html
|
||||||
|
- overflow-inline-block-with-opacity.html
|
||||||
|
- overflow-inline-transform-relative.html
|
||||||
|
- overflow-negative-margin-dynamic.html
|
||||||
|
- overflow-negative-margin.html
|
||||||
|
- overflow-no-frameset-propagation.html
|
||||||
|
- overflow-no-interpolation.html
|
||||||
|
- overflow-overlay.html
|
||||||
|
- overflow-padding.html
|
||||||
|
- overflow-recalc-001.html
|
||||||
|
- overflow-replaced-element-001.html
|
||||||
|
- overflow-shorthand-001.html
|
||||||
|
- overflow-video.html
|
||||||
|
- rounded-overflow-*
|
||||||
|
- select-size-overflow-001.html
|
12
tests/wpt/tests/css/css-page/page-box-001-print-ref.html
Normal file
12
tests/wpt/tests/css/css-page/page-box-001-print-ref.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 100px;
|
||||||
|
background: yellow;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
The entire page should be yellow.
|
14
tests/wpt/tests/css/css-page/page-box-001-print.html
Normal file
14
tests/wpt/tests/css/css-page/page-box-001-print.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-page-3/#page-properties">
|
||||||
|
<link rel="match" href="page-box-001-print-ref.html">
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
margin: 0;
|
||||||
|
background: yellow;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 100px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
The entire page should be yellow.
|
16
tests/wpt/tests/css/css-page/page-box-002-print-ref.html
Normal file
16
tests/wpt/tests/css/css-page/page-box-002-print-ref.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background: #00f;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div style="display:grid; height:100vh; background:#f008;">
|
||||||
|
<div style="margin:8px;">
|
||||||
|
This page should have a violet-ish background, not red, not blue.
|
||||||
|
</div>
|
||||||
|
</div>
|
14
tests/wpt/tests/css/css-page/page-box-002-print.html
Normal file
14
tests/wpt/tests/css/css-page/page-box-002-print.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-page-3/#page-properties">
|
||||||
|
<link rel="match" href="page-box-002-print-ref.html">
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
margin: 0;
|
||||||
|
background: #00f;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background: #f008;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
This page should have a violet-ish background, not red, not blue.
|
16
tests/wpt/tests/css/css-page/page-box-003-print-ref.html
Normal file
16
tests/wpt/tests/css/css-page/page-box-003-print-ref.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background: #00f;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div style="display:grid; height:100vh; background:#f008;">
|
||||||
|
<div style="margin:8px;">
|
||||||
|
This page should have a violet-ish background, not red, not blue.
|
||||||
|
</div>
|
||||||
|
</div>
|
14
tests/wpt/tests/css/css-page/page-box-003-print.html
Normal file
14
tests/wpt/tests/css/css-page/page-box-003-print.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-page-3/#page-properties">
|
||||||
|
<link rel="match" href="page-box-003-print-ref.html">
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
margin: 0;
|
||||||
|
background: #00f;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background: linear-gradient(#f008, #f008);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
This page should have a violet-ish background, not red, not blue.
|
78
tests/wpt/tests/css/css-page/page-margin-007-print-ref.html
Normal file
78
tests/wpt/tests/css/css-page/page-margin-007-print-ref.html
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
size: 400px 200px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.pagebox {
|
||||||
|
display: flow-root;
|
||||||
|
}
|
||||||
|
.pagebox > div {
|
||||||
|
width: 300px;
|
||||||
|
background: gray;
|
||||||
|
}
|
||||||
|
.pagebox > div > div {
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: solid;
|
||||||
|
width: 250px;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.left {
|
||||||
|
margin: 50px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
.left > div {
|
||||||
|
background: hotpink;
|
||||||
|
}
|
||||||
|
.left > div::before {
|
||||||
|
content: "Margins on every side.";
|
||||||
|
}
|
||||||
|
.right {
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
|
.right > div {
|
||||||
|
background: cyan;
|
||||||
|
}
|
||||||
|
.right > div::before {
|
||||||
|
content: "No page margins.";
|
||||||
|
}
|
||||||
|
.first {
|
||||||
|
height: 200px;
|
||||||
|
margin-left: 50px;
|
||||||
|
}
|
||||||
|
.first > div {
|
||||||
|
background: yellow;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="pagebox">
|
||||||
|
<div class="first">
|
||||||
|
<div>
|
||||||
|
Every page should have a colored box as tall as the page area (gray area).<br>
|
||||||
|
This particular page should have a left-margin.<br>
|
||||||
|
There should be 7 pages.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pagebox">
|
||||||
|
<div class="left"><div></div></div>
|
||||||
|
</div>
|
||||||
|
<div class="pagebox">
|
||||||
|
<div class="right"><div></div></div>
|
||||||
|
</div>
|
||||||
|
<div class="pagebox">
|
||||||
|
<div class="left"><div></div></div>
|
||||||
|
</div>
|
||||||
|
<div class="pagebox">
|
||||||
|
<div class="right"><div></div></div>
|
||||||
|
</div>
|
||||||
|
<div class="pagebox">
|
||||||
|
<div class="left"><div></div></div>
|
||||||
|
</div>
|
||||||
|
<div class="pagebox">
|
||||||
|
<div class="right"><div></div></div>
|
||||||
|
</div>
|
62
tests/wpt/tests/css/css-page/page-margin-007-print.html
Normal file
62
tests/wpt/tests/css/css-page/page-margin-007-print.html
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-page-3/#at-page-rule">
|
||||||
|
<link rel="match" href="page-margin-007-print-ref.html">
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
size: 400px 200px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
@page :first {
|
||||||
|
margin-left: 50px;
|
||||||
|
}
|
||||||
|
@page :left {
|
||||||
|
margin: 50px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
width: 300px;
|
||||||
|
background: gray;
|
||||||
|
}
|
||||||
|
.container > div {
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: solid;
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
.left {
|
||||||
|
height: 100px;
|
||||||
|
background: hotpink;
|
||||||
|
}
|
||||||
|
.left::before {
|
||||||
|
content: "Margins on every side.";
|
||||||
|
}
|
||||||
|
.right {
|
||||||
|
height: 200px;
|
||||||
|
background: cyan;
|
||||||
|
}
|
||||||
|
.right::before {
|
||||||
|
content: "No page margins.";
|
||||||
|
}
|
||||||
|
.first {
|
||||||
|
height: 200px;
|
||||||
|
background: yellow;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="first">
|
||||||
|
Every page should have a colored box as tall as the page area (gray area).<br>
|
||||||
|
This particular page should have a left-margin.<br>
|
||||||
|
There should be 7 pages.
|
||||||
|
</div>
|
||||||
|
<div class="left"></div>
|
||||||
|
<div class="right"></div>
|
||||||
|
<div class="left"></div>
|
||||||
|
</div>
|
||||||
|
<div class="container" style="position:absolute;">
|
||||||
|
<div class="right"></div>
|
||||||
|
<div class="left"></div>
|
||||||
|
<div class="right"></div>
|
||||||
|
</div>
|
|
@ -0,0 +1,20 @@
|
||||||
|
<!doctype html>
|
||||||
|
<meta charset=utf8>
|
||||||
|
<style>
|
||||||
|
@property --my-registered-property {
|
||||||
|
syntax: "<color>";
|
||||||
|
inherits: false;
|
||||||
|
initial-value: #f0f2f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.outer {
|
||||||
|
--unregistered-property: var(--my-registered-property);
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner {
|
||||||
|
--unregistered-property: #c6cfdb;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="outer">
|
||||||
|
<div class="inner"></div>
|
||||||
|
</div>
|
4
tests/wpt/tests/css/css-pseudo/WEB_FEATURES.yml
Normal file
4
tests/wpt/tests/css/css-pseudo/WEB_FEATURES.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
features:
|
||||||
|
- name: target-text
|
||||||
|
files:
|
||||||
|
- target-text-*
|
|
@ -0,0 +1,7 @@
|
||||||
|
<!doctype html>
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
const PA_SIZE = 10;
|
||||||
|
window.getComputedStyle(document.body,'\\q' + 'q'.repeat(PA_SIZE));
|
||||||
|
</script>
|
||||||
|
</body>
|
47
tests/wpt/tests/css/css-ruby/position-relative.html
Normal file
47
tests/wpt/tests/css/css-ruby/position-relative.html
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-ruby/#ruby-layout">
|
||||||
|
<link rel="stylesheet" href="/fonts/ahem.css">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font: 20px/1 Ahem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body>
|
||||||
|
<div id=container></div>
|
||||||
|
<script>
|
||||||
|
const container = document.querySelector('#container');
|
||||||
|
test(() => {
|
||||||
|
container.innerHTML = '<ruby style="position:relative">base<rt>annotation</ruby>';
|
||||||
|
const rtBefore = document.querySelector('rt').getBoundingClientRect();
|
||||||
|
document.querySelector('ruby').style.left = '100px';
|
||||||
|
const rtAfter = document.querySelector('rt').getBoundingClientRect();
|
||||||
|
assert_equals(rtBefore.x + 100, rtAfter.x);
|
||||||
|
}, 'position:relative on a ruby should move the annotation together');
|
||||||
|
|
||||||
|
test(() => {
|
||||||
|
container.innerHTML = `<span style="position:relative">
|
||||||
|
<ruby>base<rt>annotation</ruby></span>`;
|
||||||
|
const rubyBefore = document.querySelector('ruby').getBoundingClientRect();
|
||||||
|
const rtBefore = document.querySelector('rt').getBoundingClientRect();
|
||||||
|
document.querySelector('span').style.left = '100px';
|
||||||
|
const rubyAfter = document.querySelector('ruby').getBoundingClientRect();
|
||||||
|
const rtAfter = document.querySelector('rt').getBoundingClientRect();
|
||||||
|
assert_equals(rubyBefore.x + 100, rubyAfter.x);
|
||||||
|
assert_equals(rtBefore.x + 100, rtAfter.x);
|
||||||
|
}, 'position:relative on a ruby parent should move the ruby and the annotation');
|
||||||
|
|
||||||
|
test(() => {
|
||||||
|
container.innerHTML = `b<ruby style="position:relative">base
|
||||||
|
<rt style="position:relative">annotation</ruby>`;
|
||||||
|
const rtBefore = document.querySelector('rt').getBoundingClientRect();
|
||||||
|
document.querySelector('ruby').style.left = '100px';
|
||||||
|
document.querySelector('rt').style.left = '10px';
|
||||||
|
document.querySelector('rt').style.top = '-50px';
|
||||||
|
const rtAfter = document.querySelector('rt').getBoundingClientRect();
|
||||||
|
assert_equals(rtBefore.x + 110, rtAfter.x);
|
||||||
|
assert_equals(rtBefore.y - 50, rtAfter.y);
|
||||||
|
}, 'Accumulate position:relative offsets');
|
||||||
|
</script>
|
||||||
|
</body>
|
3
tests/wpt/tests/css/css-ruby/pseudo-first-line-ref.html
Normal file
3
tests/wpt/tests/css/css-ruby/pseudo-first-line-ref.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<div>foo <ruby style="ruby-position:under">base<rt>annotation</rt></ruby><br>
|
||||||
|
bar <ruby>base<rt>annotation</rt></ruby></div>
|
11
tests/wpt/tests/css/css-ruby/pseudo-first-line.html
Normal file
11
tests/wpt/tests/css/css-ruby/pseudo-first-line.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-ruby/#placement">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-pseudo/#first-line-styling">
|
||||||
|
<link rel="match" href="pseudo-first-line-ref.html">
|
||||||
|
<style>
|
||||||
|
div::first-line {
|
||||||
|
ruby-position: under;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div>foo <ruby>base<rt>annotation</rt></ruby><br>
|
||||||
|
bar <ruby>base<rt>annotation</rt></ruby></div>
|
|
@ -9,7 +9,8 @@ function checkSnapEventSupport(event_type) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function assertSnapEvent(evt, expected_ids) {
|
function assertSnapEvent(evt, expected_ids) {
|
||||||
assert_equals(evt.bubbles, false, "snap events don't bubble");
|
assert_equals(evt.bubbles, evt.target == document,
|
||||||
|
"snap events don't bubble except when fired at the document");
|
||||||
assert_false(evt.cancelable, "snap events are not cancelable.");
|
assert_false(evt.cancelable, "snap events are not cancelable.");
|
||||||
assert_equals(evt.snapTargetBlock, expected_ids.block,
|
assert_equals(evt.snapTargetBlock, expected_ids.block,
|
||||||
"snap event supplied expected target in block axis");
|
"snap event supplied expected target in block axis");
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title> CSS Scroll Snap 2 Test: snapchanged event on the document bubbles</title>
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#snap-events">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/css/css-scroll-snap-2/resources/common.js"></script>
|
||||||
|
<script src="/dom/events/scrolling/scroll_support.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
scroll-snap-type: y mandatory;
|
||||||
|
}
|
||||||
|
|
||||||
|
div {
|
||||||
|
position: absolute;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#spacer {
|
||||||
|
width: 200vw;
|
||||||
|
height: 200vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.snap_point {
|
||||||
|
width: 40vw;
|
||||||
|
height: 40vh;
|
||||||
|
scroll-snap-align: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
#snap_point_1 {
|
||||||
|
left: 0px;
|
||||||
|
top: 0px;
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#snap_point_2 {
|
||||||
|
top: 40vh;
|
||||||
|
left: 40vw;
|
||||||
|
background-color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
#snap_point_3 {
|
||||||
|
left: 80vw;
|
||||||
|
top: 80vh;
|
||||||
|
background-color: blue;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div id="spacer"></div>
|
||||||
|
<div id="snap_point_1" class="snap_point"></div>
|
||||||
|
<div id="snap_point_2" class="snap_point"></div>
|
||||||
|
<div id="snap_point_3" class="snap_point"></div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
promise_test(async(t) => {
|
||||||
|
await waitForCompositorCommit();
|
||||||
|
|
||||||
|
let snapchanging_promise = waitForSnapEvent(window, "snapchanging");
|
||||||
|
let snapchanged_promise = waitForSnapEvent(window, "snapchanged");
|
||||||
|
document.scrollingElement.scrollTo(0, snap_point_2.offsetTop);
|
||||||
|
let snapchanging_evt = await snapchanging_promise;
|
||||||
|
let snapchanged_evt = await snapchanged_promise;
|
||||||
|
|
||||||
|
assertSnapEvent(snapchanging_evt, { inline: null, block: snap_point_2 });
|
||||||
|
assertSnapEvent(snapchanged_evt, { inline: null, block: snap_point_2 });
|
||||||
|
}, "snapchanged bubbles when fired at the document (addEventListener).");
|
||||||
|
|
||||||
|
promise_test(async(t) => {
|
||||||
|
await waitForScrollReset(t, document.scrollingElement);
|
||||||
|
await waitForCompositorCommit();
|
||||||
|
|
||||||
|
let snapchanging_promise = waitForSnapEvent(window, "snapchanging",
|
||||||
|
/*scroll_happens=*/true,
|
||||||
|
/*use_onsnap_member=*/true);
|
||||||
|
let snapchanged_promise = waitForSnapEvent(window, "snapchanged",
|
||||||
|
/*scroll_happens=*/true,
|
||||||
|
/*use_onsnap_member=*/true);
|
||||||
|
document.scrollingElement.scrollTo(0, snap_point_2.offsetTop);
|
||||||
|
let snapchanging_evt = await snapchanging_promise;
|
||||||
|
let snapchanged_evt = await snapchanged_promise;
|
||||||
|
|
||||||
|
assertSnapEvent(snapchanging_evt, { inline: null, block: snap_point_2 });
|
||||||
|
assertSnapEvent(snapchanged_evt, { inline: null, block: snap_point_2 });
|
||||||
|
}, "snapchanged bubbles when fired at the document (onsnapchanged).");
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
3
tests/wpt/tests/css/css-scroll-snap/WEB_FEATURES.yml
Normal file
3
tests/wpt/tests/css/css-scroll-snap/WEB_FEATURES.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
features:
|
||||||
|
- name: scroll-snap
|
||||||
|
files: "**"
|
|
@ -3,7 +3,6 @@
|
||||||
<link rel="help" href="https://drafts.csswg.org/css-shadow-parts" >
|
<link rel="help" href="https://drafts.csswg.org/css-shadow-parts" >
|
||||||
<link rel="help" href="https://drafts.csswg.org/selectors/#matches">
|
<link rel="help" href="https://drafts.csswg.org/selectors/#matches">
|
||||||
<link href="https://drafts.csswg.org/selectors/#matches" rel="help">
|
<link href="https://drafts.csswg.org/selectors/#matches" rel="help">
|
||||||
<link rel="match" href="interaction-with-nested-pseudo-class-ref.html">
|
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
<script src="/resources/testdriver.js"></script>
|
<script src="/resources/testdriver.js"></script>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue