Update web-platform-tests to revision 345300fad3945a5f1441fb2b2001109ca48f36e8

This commit is contained in:
WPT Sync Bot 2019-02-08 20:38:29 -05:00
parent 71ba247942
commit 05db47be0f
109 changed files with 2576 additions and 1228 deletions

View file

@ -1219,15 +1219,15 @@
{} {}
] ]
], ],
"clipboard-apis/async-write-dttext-read-dttext-manual.https.html": [ "clipboard-apis/async-write-blobtext-read-blobtext-manual.https.html": [
[ [
"/clipboard-apis/async-write-dttext-read-dttext-manual.https.html", "/clipboard-apis/async-write-blobtext-read-blobtext-manual.https.html",
{} {}
] ]
], ],
"clipboard-apis/async-write-dttext-read-text-manual.https.html": [ "clipboard-apis/async-write-blobtext-read-text-manual.https.html": [
[ [
"/clipboard-apis/async-write-dttext-read-text-manual.https.html", "/clipboard-apis/async-write-blobtext-read-text-manual.https.html",
{} {}
] ]
], ],
@ -1237,9 +1237,9 @@
{} {}
] ]
], ],
"clipboard-apis/async-write-text-read-dttext-manual.https.html": [ "clipboard-apis/async-write-text-read-blobtext-manual.https.html": [
[ [
"/clipboard-apis/async-write-text-read-dttext-manual.https.html", "/clipboard-apis/async-write-text-read-blobtext-manual.https.html",
{} {}
] ]
], ],
@ -13543,6 +13543,18 @@
{} {}
] ]
], ],
"payment-request/payment-request-canmakepayment-method-manual.https.html": [
[
"/payment-request/payment-request-canmakepayment-method-manual.https.html",
{}
]
],
"payment-request/payment-request-hasenrolledinstrument-method-manual.https.html": [
[
"/payment-request/payment-request-hasenrolledinstrument-method-manual.https.html",
{}
]
],
"payment-request/payment-request-multiple-show-manual.https.html": [ "payment-request/payment-request-multiple-show-manual.https.html": [
[ [
"/payment-request/payment-request-multiple-show-manual.https.html", "/payment-request/payment-request-multiple-show-manual.https.html",
@ -19419,6 +19431,30 @@
{} {}
] ]
], ],
"animation-worklet/worklet-animation-pause-immediately.https.html": [
[
"/animation-worklet/worklet-animation-pause-immediately.https.html",
[
[
"/animation-worklet/references/translated-box-ref.html",
"=="
]
],
{}
]
],
"animation-worklet/worklet-animation-pause-resume.https.html": [
[
"/animation-worklet/worklet-animation-pause-resume.https.html",
[
[
"/animation-worklet/references/translated-box-ref.html",
"=="
]
],
{}
]
],
"apng/animated-png-timeout.html": [ "apng/animated-png-timeout.html": [
[ [
"/apng/animated-png-timeout.html", "/apng/animated-png-timeout.html",
@ -202634,6 +202670,11 @@
{} {}
] ]
], ],
"animation-worklet/references/translated-box-ref.html": [
[
{}
]
],
"animation-worklet/resources/animator-iframe.html": [ "animation-worklet/resources/animator-iframe.html": [
[ [
{} {}
@ -288959,6 +289000,16 @@
{} {}
] ]
], ],
"feature-policy/reporting/serial-report-only.https.html.headers": [
[
{}
]
],
"feature-policy/reporting/serial-reporting.https.html.headers": [
[
{}
]
],
"feature-policy/reporting/sync-xhr-report-only.html.headers": [ "feature-policy/reporting/sync-xhr-report-only.html.headers": [
[ [
{} {}
@ -289049,6 +289100,21 @@
{} {}
] ]
], ],
"feature-policy/resources/feature-policy-serial-worker.html": [
[
{}
]
],
"feature-policy/resources/feature-policy-serial-worker.js": [
[
{}
]
],
"feature-policy/resources/feature-policy-serial.html": [
[
{}
]
],
"feature-policy/resources/feature-policy-usb-worker.html": [ "feature-policy/resources/feature-policy-usb-worker.html": [
[ [
{} {}
@ -291904,11 +291970,6 @@
{} {}
] ]
], ],
"html/browsers/origin/relaxing-the-same-origin-restriction/support/document_domain_frame.html": [
[
{}
]
],
"html/browsers/origin/relaxing-the-same-origin-restriction/support/document_domain_setter_iframe.html": [ "html/browsers/origin/relaxing-the-same-origin-restriction/support/document_domain_setter_iframe.html": [
[ [
{} {}
@ -308514,6 +308575,11 @@
{} {}
] ]
], ],
"resource-timing/resources/cors-ahem.py": [
[
{}
]
],
"resource-timing/resources/document-domain-no-impact.sub.html": [ "resource-timing/resources/document-domain-no-impact.sub.html": [
[ [
{} {}
@ -308569,6 +308635,11 @@
{} {}
] ]
], ],
"resource-timing/resources/iframe-reload-TAO.sub.html": [
[
{}
]
],
"resource-timing/resources/iframe-setdomain.sub.html": [ "resource-timing/resources/iframe-setdomain.sub.html": [
[ [
{} {}
@ -310524,6 +310595,26 @@
{} {}
] ]
], ],
"serial/resources/serial-allowed-by-feature-policy-worker.js": [
[
{}
]
],
"serial/resources/serial-disabled-by-feature-policy-worker.js": [
[
{}
]
],
"serial/serial-allowed-by-feature-policy.https.sub.html.headers": [
[
{}
]
],
"serial/serial-disabled-by-feature-policy.https.sub.html.headers": [
[
{}
]
],
"serve.py": [ "serve.py": [
[ [
{} {}
@ -336339,6 +336430,12 @@
{} {}
] ]
], ],
"animation-worklet/worklet-animation-pause.https.html": [
[
"/animation-worklet/worklet-animation-pause.https.html",
{}
]
],
"animation-worklet/worklet-animation-with-fill-mode.https.html": [ "animation-worklet/worklet-animation-with-fill-mode.https.html": [
[ [
"/animation-worklet/worklet-animation-with-fill-mode.https.html", "/animation-worklet/worklet-animation-with-fill-mode.https.html",
@ -346723,6 +346820,24 @@
{} {}
] ]
], ],
"css/css-overscroll-behavior/parsing/overscroll-behavior-computed.html": [
[
"/css/css-overscroll-behavior/parsing/overscroll-behavior-computed.html",
{}
]
],
"css/css-overscroll-behavior/parsing/overscroll-behavior-invalid.html": [
[
"/css/css-overscroll-behavior/parsing/overscroll-behavior-invalid.html",
{}
]
],
"css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html": [
[
"/css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html",
{}
]
],
"css/css-paint-api/idlharness.html": [ "css/css-paint-api/idlharness.html": [
[ [
"/css/css-paint-api/idlharness.html", "/css/css-paint-api/idlharness.html",
@ -368699,6 +368814,22 @@
} }
] ]
], ],
"feature-policy/reporting/serial-report-only.https.html": [
[
"/feature-policy/reporting/serial-report-only.https.html",
{
"testdriver": true
}
]
],
"feature-policy/reporting/serial-reporting.https.html": [
[
"/feature-policy/reporting/serial-reporting.https.html",
{
"testdriver": true
}
]
],
"feature-policy/reporting/sync-xhr-report-only.html": [ "feature-policy/reporting/sync-xhr-report-only.html": [
[ [
"/feature-policy/reporting/sync-xhr-report-only.html", "/feature-policy/reporting/sync-xhr-report-only.html",
@ -372151,12 +372282,6 @@
{} {}
] ]
], ],
"html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html": [
[
"/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html",
{}
]
],
"html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html": [ "html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html": [
[ [
"/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html", "/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html",
@ -373714,6 +373839,10 @@
"/html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html?encoding=utf8", "/html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html?encoding=utf8",
{} {}
], ],
[
"/html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html?encoding=windows-1252",
{}
],
[ [
"/html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html?encoding=x-cp1251", "/html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html?encoding=x-cp1251",
{} {}
@ -373724,6 +373853,10 @@
"/html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html?encoding=utf8", "/html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html?encoding=utf8",
{} {}
], ],
[
"/html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html?encoding=windows-1252",
{}
],
[ [
"/html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html?encoding=x-cp1251", "/html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html?encoding=x-cp1251",
{} {}
@ -373734,6 +373867,10 @@
"/html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html?encoding=utf8", "/html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html?encoding=utf8",
{} {}
], ],
[
"/html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html?encoding=windows-1252",
{}
],
[ [
"/html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html?encoding=x-cp1251", "/html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html?encoding=x-cp1251",
{} {}
@ -399419,6 +399556,22 @@
{} {}
] ]
], ],
"payment-request/payment-request-hasenrolledinstrument-method-protection.https.html": [
[
"/payment-request/payment-request-hasenrolledinstrument-method-protection.https.html",
{
"testdriver": true
}
]
],
"payment-request/payment-request-hasenrolledinstrument-method.https.html": [
[
"/payment-request/payment-request-hasenrolledinstrument-method.https.html",
{
"testdriver": true
}
]
],
"payment-request/payment-request-id-attribute.https.html": [ "payment-request/payment-request-id-attribute.https.html": [
[ [
"/payment-request/payment-request-id-attribute.https.html", "/payment-request/payment-request-id-attribute.https.html",
@ -410429,6 +410582,12 @@
{} {}
] ]
], ],
"resource-timing/resource-reload-TAO.sub.html": [
[
"/resource-timing/resource-reload-TAO.sub.html",
{}
]
],
"resource-timing/resource-timing-level1.sub.html": [ "resource-timing/resource-timing-level1.sub.html": [
[ [
"/resource-timing/resource-timing-level1.sub.html", "/resource-timing/resource-timing-level1.sub.html",
@ -411107,6 +411266,36 @@
{} {}
] ]
], ],
"serial/serial-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html": [
[
"/serial/serial-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html",
{}
]
],
"serial/serial-allowed-by-feature-policy-attribute.https.sub.html": [
[
"/serial/serial-allowed-by-feature-policy-attribute.https.sub.html",
{}
]
],
"serial/serial-allowed-by-feature-policy.https.sub.html": [
[
"/serial/serial-allowed-by-feature-policy.https.sub.html",
{}
]
],
"serial/serial-default-feature-policy.https.sub.html": [
[
"/serial/serial-default-feature-policy.https.sub.html",
{}
]
],
"serial/serial-disabled-by-feature-policy.https.sub.html": [
[
"/serial/serial-disabled-by-feature-policy.https.sub.html",
{}
]
],
"server-timing/cross_origin.https.html": [ "server-timing/cross_origin.https.html": [
[ [
"/server-timing/cross_origin.https.html", "/server-timing/cross_origin.https.html",
@ -420955,6 +421144,14 @@
{} {}
] ]
], ],
"webrtc/RTCIceConnectionState-candidate-pair.https.html": [
[
"/webrtc/RTCIceConnectionState-candidate-pair.https.html",
{
"timeout": "long"
}
]
],
"webrtc/RTCIceTransport-extension.https.html": [ "webrtc/RTCIceTransport-extension.https.html": [
[ [
"/webrtc/RTCIceTransport-extension.https.html", "/webrtc/RTCIceTransport-extension.https.html",
@ -421051,9 +421248,9 @@
{} {}
] ]
], ],
"webrtc/RTCPeerConnection-iceConnectionState.html": [ "webrtc/RTCPeerConnection-iceConnectionState.https.html": [
[ [
"/webrtc/RTCPeerConnection-iceConnectionState.html", "/webrtc/RTCPeerConnection-iceConnectionState.https.html",
{} {}
] ]
], ],
@ -456647,7 +456844,7 @@
"testharness" "testharness"
], ],
"animation-worklet/common.js": [ "animation-worklet/common.js": [
"eb114f24687289fcdd0515ead7dbbc074c7ccbba", "983c22403c44256f11ca470f2f74410ac3b84e08",
"support" "support"
], ],
"animation-worklet/current-time.https.html": [ "animation-worklet/current-time.https.html": [
@ -456658,6 +456855,10 @@
"e821a2fee8a3ace54e8e7092ab17c490a0ded914", "e821a2fee8a3ace54e8e7092ab17c490a0ded914",
"testharness" "testharness"
], ],
"animation-worklet/references/translated-box-ref.html": [
"c73f5a177bf70f3a71d981bc9f04b38c5afe9f1c",
"support"
],
"animation-worklet/resources/animator-iframe.html": [ "animation-worklet/resources/animator-iframe.html": [
"e30cc281fcdefd8d029e7bf0ea92a1a9cd7af7e7", "e30cc281fcdefd8d029e7bf0ea92a1a9cd7af7e7",
"support" "support"
@ -456682,6 +456883,18 @@
"addb16e7d1751280c8d4f3e0052b808ab807cd7e", "addb16e7d1751280c8d4f3e0052b808ab807cd7e",
"reftest" "reftest"
], ],
"animation-worklet/worklet-animation-pause-immediately.https.html": [
"f9dcf30bc908adb4e6b260dd00263e434a9b9ae4",
"reftest"
],
"animation-worklet/worklet-animation-pause-resume.https.html": [
"f26a93468c07de8e59a3826cb39c6bdf2618706f",
"reftest"
],
"animation-worklet/worklet-animation-pause.https.html": [
"417db9e37a61193a99908648e4cbc3be4c2e9618",
"testharness"
],
"animation-worklet/worklet-animation-with-fill-mode.https.html": [ "animation-worklet/worklet-animation-with-fill-mode.https.html": [
"b910ab280ec80725eee7894e8331cf72f6c24492", "b910ab280ec80725eee7894e8331cf72f6c24492",
"testharness" "testharness"
@ -458751,7 +458964,7 @@
"testharness" "testharness"
], ],
"background-fetch/fetch.https.window.js": [ "background-fetch/fetch.https.window.js": [
"35b5709d22b84a5f8babad6137277e0afbc4d582", "d4bc8bf128259e203569d0c9e03e8b11d5b42cd8",
"testharness" "testharness"
], ],
"background-fetch/get-ids.https.window.js": [ "background-fetch/get-ids.https.window.js": [
@ -458763,7 +458976,7 @@
"testharness" "testharness"
], ],
"background-fetch/idlharness.https.any.js": [ "background-fetch/idlharness.https.any.js": [
"f2c8a56590aedc52051e7ad8f51b3725091821dc", "f9744c8f944fcefe5a6a21e9a7644cf88644c173",
"testharness" "testharness"
], ],
"background-fetch/mixed-content-and-allowed-schemes.https.window.js": [ "background-fetch/mixed-content-and-allowed-schemes.https.window.js": [
@ -459931,27 +460144,27 @@
"testharness" "testharness"
], ],
"clipboard-apis/async-navigator-clipboard-basics.https.html": [ "clipboard-apis/async-navigator-clipboard-basics.https.html": [
"ea0ca2902c5ab4643a1d72f554ce21ef1780a4ad", "5a23598fb0bd41dbc854cebb340d6f6ed8db54db",
"testharness" "testharness"
], ],
"clipboard-apis/async-write-dttext-read-dttext-manual.https.html": [ "clipboard-apis/async-write-blobtext-read-blobtext-manual.https.html": [
"2930b47162289aa2927352633631255bae24212c", "f860bf23db2ee381805ed5b4053c309a45954342",
"manual" "manual"
], ],
"clipboard-apis/async-write-dttext-read-text-manual.https.html": [ "clipboard-apis/async-write-blobtext-read-text-manual.https.html": [
"1b178696f17ca0bc1bac0b7e1c285ae8d52d5360", "685b6cb603ddeb66e68cd23efe85d744f8a17223",
"manual" "manual"
], ],
"clipboard-apis/async-write-image-read-image-manual.https.html": [ "clipboard-apis/async-write-image-read-image-manual.https.html": [
"6117e469792ff61ff30015f2d94f1ceb2e3332ac", "ee90e7e89a8994ba728d673e1da031c21cf38a04",
"manual" "manual"
], ],
"clipboard-apis/async-write-text-read-dttext-manual.https.html": [ "clipboard-apis/async-write-text-read-blobtext-manual.https.html": [
"9f524b93d719b7b94cfcede77948d507bc0d4b57", "69f72db82c07d2bca7446cf65d6d3056bebe24e2",
"manual" "manual"
], ],
"clipboard-apis/async-write-text-read-text-manual.https.html": [ "clipboard-apis/async-write-text-read-text-manual.https.html": [
"3a3922e626a1eaffc9e41cb1b6b541d2aae17f33", "496bdd78c7ab2ec0d26adafea6449ec18cc03340",
"manual" "manual"
], ],
"clipboard-apis/clipboard-events-synthetic.html": [ "clipboard-apis/clipboard-events-synthetic.html": [
@ -569275,7 +569488,7 @@
"support" "support"
], ],
"css/css-overscroll-behavior/META.yml": [ "css/css-overscroll-behavior/META.yml": [
"f15c86fd9069b04a23975834215adcc077711789", "97705c2df87277d9e5af97d53e453305449c94b8",
"support" "support"
], ],
"css/css-overscroll-behavior/inheritance.html": [ "css/css-overscroll-behavior/inheritance.html": [
@ -569286,6 +569499,18 @@
"97f52984a51ae4157ec8ed91ddf4b3b8d405bec6", "97f52984a51ae4157ec8ed91ddf4b3b8d405bec6",
"manual" "manual"
], ],
"css/css-overscroll-behavior/parsing/overscroll-behavior-computed.html": [
"af117f19f906ad74e4bb3acc158a0829c6c69fa9",
"testharness"
],
"css/css-overscroll-behavior/parsing/overscroll-behavior-invalid.html": [
"a29722f46570f89fafd76898ff2409017348b8a3",
"testharness"
],
"css/css-overscroll-behavior/parsing/overscroll-behavior-valid.html": [
"9dbd4fbb8f93df88e65b7515595ec22979f0ef18",
"testharness"
],
"css/css-page/META.yml": [ "css/css-page/META.yml": [
"2f9e29e2787e8c41d0a9ebe1df8342a6c52a01a8", "2f9e29e2787e8c41d0a9ebe1df8342a6c52a01a8",
"support" "support"
@ -618894,6 +619119,22 @@
"1759381fdc4141302f1b95868550ead76d9f5ca7", "1759381fdc4141302f1b95868550ead76d9f5ca7",
"support" "support"
], ],
"feature-policy/reporting/serial-report-only.https.html": [
"11913a2ef77159c3f0c4769cd3cfaf09d942f1ba",
"testharness"
],
"feature-policy/reporting/serial-report-only.https.html.headers": [
"d408ccf6b15685be3db91c1e19a26bdbc42c78cb",
"support"
],
"feature-policy/reporting/serial-reporting.https.html": [
"827bc89367c56141938d962edcfe69452309b8f3",
"testharness"
],
"feature-policy/reporting/serial-reporting.https.html.headers": [
"be3e6afd423f767369725724eb3509447c852a59",
"support"
],
"feature-policy/reporting/sync-xhr-report-only.html": [ "feature-policy/reporting/sync-xhr-report-only.html": [
"76d26ed502743549fe426703eef4da38a4076f64", "76d26ed502743549fe426703eef4da38a4076f64",
"testharness" "testharness"
@ -619006,6 +619247,18 @@
"2f33c449536d1b0253a9a1c0b52073bc500121f3", "2f33c449536d1b0253a9a1c0b52073bc500121f3",
"support" "support"
], ],
"feature-policy/resources/feature-policy-serial-worker.html": [
"9e6a7d02ba2b8eef1fcc12d8049af830688e6946",
"support"
],
"feature-policy/resources/feature-policy-serial-worker.js": [
"2e8e6f5433a5e8fe9180b5660a9f301c936637dc",
"support"
],
"feature-policy/resources/feature-policy-serial.html": [
"caf716d37ac53c492f2eeb5815af533fc840eec7",
"support"
],
"feature-policy/resources/feature-policy-usb-worker.html": [ "feature-policy/resources/feature-policy-usb-worker.html": [
"fa8a2d70eb8d12933479e094e90375fedd062f5e", "fa8a2d70eb8d12933479e094e90375fedd062f5e",
"support" "support"
@ -623778,10 +624031,6 @@
"a55d85dfdf293adc0b7160ed1bce213967d9822e", "a55d85dfdf293adc0b7160ed1bce213967d9822e",
"testharness" "testharness"
], ],
"html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html": [
"314a7035d009b75fc8372159324f4a687613668d",
"testharness"
],
"html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html": [ "html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html": [
"65a7f5c8981130c15b4cb91d460a11e2b529b0ce", "65a7f5c8981130c15b4cb91d460a11e2b529b0ce",
"testharness" "testharness"
@ -623794,10 +624043,6 @@
"82e8023d0ba61851af5747ee2ccba154193d1875", "82e8023d0ba61851af5747ee2ccba154193d1875",
"support" "support"
], ],
"html/browsers/origin/relaxing-the-same-origin-restriction/support/document_domain_frame.html": [
"42e8137db2cb362772271d5b151ca812b647d397",
"support"
],
"html/browsers/origin/relaxing-the-same-origin-restriction/support/document_domain_setter_iframe.html": [ "html/browsers/origin/relaxing-the-same-origin-restriction/support/document_domain_setter_iframe.html": [
"d3d5260af3f143edd702400879cc3d5db4aea40d", "d3d5260af3f143edd702400879cc3d5db4aea40d",
"support" "support"
@ -629879,15 +630124,15 @@
"testharness" "testharness"
], ],
"html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html": [ "html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html": [
"c3d550a39b3f1a8d419e2b7fc16a5f8c400df2d5", "d596f37716835209a7ca161e6ec039ce8e7a7927",
"testharness" "testharness"
], ],
"html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html": [ "html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html": [
"3ad228b0b271716b8bb775a84a8c57258a3a371e", "a5c131e2bece1d4a92d4eb782fbcc5b0c42306a1",
"testharness" "testharness"
], ],
"html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html": [ "html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html": [
"80cf75104fc818b4e1502225184d2f19da8468f6", "bca61372b4c8b1589c420b7612fd87b60dce37e6",
"testharness" "testharness"
], ],
"html/infrastructure/urls/resolving-urls/query-encoding/resources/blank.py": [ "html/infrastructure/urls/resolving-urls/query-encoding/resources/blank.py": [
@ -637179,15 +637424,15 @@
"support" "support"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/Function.js": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/Function.js": [
"bc88bf7bd637a06e5f1fc23743470144b1dfb55f", "447e5060b14b3f81c6ced27658810b179c14a4c8",
"support" "support"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/eval.js": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/eval.js": [
"a8bcffe9f81141df3ec37bc268c47cea5a48960b", "100602733a8c3b97293425dfcf6e6f973ce64b31",
"support" "support"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/inline-event-handlers-UA-code.js": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/inline-event-handlers-UA-code.js": [
"c0bd8655873e989ba3ec567fde2adad15d90726a", "eaf98f3807feffcc5d8ebf50eeef8093b0a7c1f6",
"support" "support"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/no-active-script.js": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/no-active-script.js": [
@ -637195,11 +637440,11 @@
"support" "support"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/reflected-inline-event-handlers.js": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/reflected-inline-event-handlers.js": [
"f19ec2b03f9f2e5823098559ab0195b648ed3e93", "402219d0b4c214f9f50341d52480407658df35a1",
"support" "support"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/setTimeout.js": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/setTimeout.js": [
"c6f2dda55aaa51d8dafcb9f8444a9e616fecafaa", "342b342e8efd9accb615b8bd0aaecc1972328f05",
"support" "support"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-classic.html": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-classic.html": [
@ -637235,11 +637480,11 @@
"testharness" "testharness"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic.html": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic.html": [
"33714c70ca603759951d175bddff4d850afa9fb4", "0efcab658ee1b9c48a66dbf4b91043e5e960a9c4",
"testharness" "testharness"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module.html": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module.html": [
"9411acd2a07b605d33195eb05626edf4e82f0436", "50d7b30570e453f319329d7562011cd62a57e092",
"testharness" "testharness"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-of-promise-result.html": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-of-promise-result.html": [
@ -637247,7 +637492,7 @@
"testharness" "testharness"
], ],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document.html": [ "html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document.html": [
"a9c0528216166a458e48902c2c722a548432f4dd", "3b1d98f6b11ef689c066ab00cf0e096ca8a4c04d",
"testharness" "testharness"
], ],
"html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html": [ "html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html": [
@ -641483,7 +641728,7 @@
"support" "support"
], ],
"interfaces/cssom.idl": [ "interfaces/cssom.idl": [
"7d9536d943f8679902f6f8e362b15aa584259f2c", "a914ac0d78c627722262587a84e5a30ef367a6f0",
"support" "support"
], ],
"interfaces/dedicated-workers.idl": [ "interfaces/dedicated-workers.idl": [
@ -642419,75 +642664,75 @@
"support" "support"
], ],
"mathml/presentation-markup/fractions/frac-1.html": [ "mathml/presentation-markup/fractions/frac-1.html": [
"fc650eb4c4a65cc49031e870229f463b3422b609", "848eb5b144cef3740b794475f699229243c1287e",
"testharness" "testharness"
], ],
"mathml/presentation-markup/fractions/frac-parameters-1.html": [ "mathml/presentation-markup/fractions/frac-parameters-1.html": [
"a047a30873c7765dafa5678fc99072bbe2f017e4", "543017e19006377cac0c1a434bd43400467fac3b",
"testharness" "testharness"
], ],
"mathml/presentation-markup/fractions/frac-parameters-2.html": [ "mathml/presentation-markup/fractions/frac-parameters-2.html": [
"544511388685a3ed79eaa2e80875205c19e7a62f", "75074875c9e6b1fa205fe76b85c4a0b36fadf274",
"testharness" "testharness"
], ],
"mathml/presentation-markup/operators/mo-axis-height-1.html": [ "mathml/presentation-markup/operators/mo-axis-height-1.html": [
"327a72e30b53a6b0a619ef2b33f21bfeb7fd4a63", "7b0031ac1ed63219130b69113ebbfdc28eec10d6",
"testharness" "testharness"
], ],
"mathml/presentation-markup/radicals/root-parameters-1.html": [ "mathml/presentation-markup/radicals/root-parameters-1.html": [
"67a4613813421ed55a7fb44622b52f2c1f0f2b0f", "8ffcbe4a22d1225e4494d91437200ca8361a27bf",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/subsup-1.html": [ "mathml/presentation-markup/scripts/subsup-1.html": [
"2ff14a694c99461f4474af1d9b283ed3082f7b8b", "39768315e72d13b5952e3bc743617a8d29b223ca",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/subsup-2.html": [ "mathml/presentation-markup/scripts/subsup-2.html": [
"abef28d12df64ffac355fd627fe2493ae7b43ff9", "26fa5de780b086a777fb6494cfb6f163b7813e02",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/subsup-3.html": [ "mathml/presentation-markup/scripts/subsup-3.html": [
"c49718979c30b9fa782fda0dc49686e7f7f362bb", "231f65ab4f46bbe64a20a7db170ffb42deef460f",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/subsup-4.html": [ "mathml/presentation-markup/scripts/subsup-4.html": [
"2acc7746c4fb1e754f7c3abbc2d424b244ce9876", "c4bf4382f8ed51849d396cd313ff851fe70248e4",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/subsup-5.html": [ "mathml/presentation-markup/scripts/subsup-5.html": [
"19b6eee66747795b00776768aa1738006725e3c0", "005ceea4019918f47606e25a91654a841b1e437a",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/subsup-parameters-1.html": [ "mathml/presentation-markup/scripts/subsup-parameters-1.html": [
"9bc6bcbf277c1352d2d23c889048a2afc745ee9f", "b0ebaceb4355b4ddafff11febb41e36a5afe854c",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/subsup-parameters-2.html": [ "mathml/presentation-markup/scripts/subsup-parameters-2.html": [
"eaa4f0ffab154aff2ca1072f306c115a8d0bcf13", "5ba66b86c3dadf5b4e4d3ddfa4c27d6286e137f1",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/underover-1.html": [ "mathml/presentation-markup/scripts/underover-1.html": [
"6e039b9d609d65933ebc736a9a9ff91d2da572b5", "6dcdbb7b388b6955e744f5d9eb9e1e27e9abef34",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/underover-parameters-1.html": [ "mathml/presentation-markup/scripts/underover-parameters-1.html": [
"1e5a6606b03a19487b2394b95eac26bd4ac0cb4e", "802293829fd8de194ae6a12b0aea458689770ae1",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/underover-parameters-2.html": [ "mathml/presentation-markup/scripts/underover-parameters-2.html": [
"c28f29c99e69761ddd2e9205b4f942e65014afc8", "e9d6af4901e16602dd7a54a7c74f3594e26402c9",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/underover-parameters-3.html": [ "mathml/presentation-markup/scripts/underover-parameters-3.html": [
"0172ff1c700924e3412e84cd2e1445a009e61b5e", "373d6d4d06ecc0593dfda27164fe26a4d55dc1d1",
"testharness" "testharness"
], ],
"mathml/presentation-markup/scripts/underover-parameters-4.html": [ "mathml/presentation-markup/scripts/underover-parameters-4.html": [
"061cda79af9f9e7157ac37736f755ac233bf0a6f", "3b1fa575f72473443271ebbd193bfc7b866dfc1a",
"testharness" "testharness"
], ],
"mathml/presentation-markup/spaces/space-1.html": [ "mathml/presentation-markup/spaces/space-1.html": [
"adb36377842295e1bf0ec298d7ec19aa5adaeeb4", "cb9dd9e9acbddd54c3729962f4efa4eeb56d8452",
"testharness" "testharness"
], ],
"mathml/presentation-markup/spaces/space-2-ref.html": [ "mathml/presentation-markup/spaces/space-2-ref.html": [
@ -642495,11 +642740,11 @@
"support" "support"
], ],
"mathml/presentation-markup/spaces/space-2.html": [ "mathml/presentation-markup/spaces/space-2.html": [
"544cfb1f6689a51b69c4492af5403a207032800a", "072f2bda542f9b9ee64acd3161f2949c31fbf955",
"reftest" "reftest"
], ],
"mathml/presentation-markup/tables/table-axis-height.html": [ "mathml/presentation-markup/tables/table-axis-height.html": [
"50c3491e487bfb3c22d444266e4a1aedb070641a", "024bdd29b116de1c3112e9482a2f4ce286126a91",
"testharness" "testharness"
], ],
"mathml/relations/css-styling/color-1-ref.html": [ "mathml/relations/css-styling/color-1-ref.html": [
@ -642515,11 +642760,11 @@
"support" "support"
], ],
"mathml/relations/css-styling/display-1.html": [ "mathml/relations/css-styling/display-1.html": [
"551f6402d85924005491cf50f3b9d4fcd547f8fe", "a7d6277d70d1658bf291c5d46ed14aa2e1f7ec90",
"reftest" "reftest"
], ],
"mathml/relations/css-styling/displaystyle-1.html": [ "mathml/relations/css-styling/displaystyle-1.html": [
"2749e09c48a759c02f1f2148387c8586c207b9e5", "3143343da7e39ff931f552af942e62882062bc77",
"testharness" "testharness"
], ],
"mathml/relations/css-styling/lengths-1-ref.html": [ "mathml/relations/css-styling/lengths-1-ref.html": [
@ -642539,7 +642784,7 @@
"reftest" "reftest"
], ],
"mathml/relations/css-styling/lengths-3.html": [ "mathml/relations/css-styling/lengths-3.html": [
"a7133f89ecf4eed567c2d44bbb8d585be474c17d", "68a144aca69c4fac862073029d8479369773e25a",
"testharness" "testharness"
], ],
"mathml/relations/css-styling/mathvariant-bold-fraktur-ref.html": [ "mathml/relations/css-styling/mathvariant-bold-fraktur-ref.html": [
@ -642695,7 +642940,7 @@
"reftest" "reftest"
], ],
"mathml/relations/html5-tree/class-2.html": [ "mathml/relations/html5-tree/class-2.html": [
"9dbede840199c32fe89eb7800abd08bf811ecdf1", "707500de37fc117bf6174bd9aa7aaba298a705da",
"testharness" "testharness"
], ],
"mathml/relations/html5-tree/color-attributes-1-ref.html": [ "mathml/relations/html5-tree/color-attributes-1-ref.html": [
@ -642707,7 +642952,7 @@
"reftest" "reftest"
], ],
"mathml/relations/html5-tree/display-1.html": [ "mathml/relations/html5-tree/display-1.html": [
"4eb302c3ee821a015e76c561b46eb528ce78a93d", "64d862cf7614f29435a08a6ac66d45f84575a053",
"testharness" "testharness"
], ],
"mathml/relations/html5-tree/dynamic-1-ref.html": [ "mathml/relations/html5-tree/dynamic-1-ref.html": [
@ -642723,7 +642968,7 @@
"support" "support"
], ],
"mathml/relations/html5-tree/href-click-1.html": [ "mathml/relations/html5-tree/href-click-1.html": [
"80e4c754d805ce85744f8d6157c1901f471be2a9", "6164346dc079da139855de96937f9d5b7861c285",
"reftest" "reftest"
], ],
"mathml/relations/html5-tree/href-click-2-ref.html": [ "mathml/relations/html5-tree/href-click-2-ref.html": [
@ -642731,7 +642976,7 @@
"support" "support"
], ],
"mathml/relations/html5-tree/href-click-2.html": [ "mathml/relations/html5-tree/href-click-2.html": [
"1e41f77cc4375f7cf8568cecb7b8d169da0be14f", "6e5049392bd9c62e42086f3d1a7cdc9583fd29a9",
"reftest" "reftest"
], ],
"mathml/relations/html5-tree/href-manual.html": [ "mathml/relations/html5-tree/href-manual.html": [
@ -642791,7 +643036,7 @@
"reftest" "reftest"
], ],
"mathml/relations/html5-tree/unique-identifier-2.html": [ "mathml/relations/html5-tree/unique-identifier-2.html": [
"b3226c293b5f1394f5245644d1630bfef4f86b36", "97e04a91ef13e650757fc2fe01ef068932e31b16",
"testharness" "testharness"
], ],
"mathml/relations/html5-tree/unique-identifier-3-ref.html": [ "mathml/relations/html5-tree/unique-identifier-3-ref.html": [
@ -653783,7 +654028,7 @@
"testharness" "testharness"
], ],
"payment-handler/idlharness.https.any.js": [ "payment-handler/idlharness.https.any.js": [
"6fbba53515eba4db995624cecaff1512fbace056", "878114ec7ed878d3e754341cbffa138092fee129",
"testharness" "testharness"
], ],
"payment-handler/manifest.json": [ "payment-handler/manifest.json": [
@ -654038,12 +654283,16 @@
"cf16401d0b0d3e97f3ab14c337880a4ec0d9ea7f", "cf16401d0b0d3e97f3ab14c337880a4ec0d9ea7f",
"testharness" "testharness"
], ],
"payment-request/payment-request-canmakepayment-method-manual.https.html": [
"fea45500b18b35eadf144389e86d444d53366fce",
"manual"
],
"payment-request/payment-request-canmakepayment-method-protection.https.html": [ "payment-request/payment-request-canmakepayment-method-protection.https.html": [
"e221034dd4ebd05c5bd701e05a81895b8457c3b7", "e221034dd4ebd05c5bd701e05a81895b8457c3b7",
"testharness" "testharness"
], ],
"payment-request/payment-request-canmakepayment-method.https.html": [ "payment-request/payment-request-canmakepayment-method.https.html": [
"672e5ce1571435e9f16b8010456e859f12d2c9c4", "cc8349a42239ca1a459d59f016611f6e564f4690",
"testharness" "testharness"
], ],
"payment-request/payment-request-constructor-crash.https.html": [ "payment-request/payment-request-constructor-crash.https.html": [
@ -654062,6 +654311,18 @@
"5f888f0389f6c756ede8c3e481ece7bcf8b71ccf", "5f888f0389f6c756ede8c3e481ece7bcf8b71ccf",
"testharness" "testharness"
], ],
"payment-request/payment-request-hasenrolledinstrument-method-manual.https.html": [
"a4e8028c07f50514b03a7f10b80e1b3ba80bc505",
"manual"
],
"payment-request/payment-request-hasenrolledinstrument-method-protection.https.html": [
"4da11304a21427040f72317e3746feebb251d12e",
"testharness"
],
"payment-request/payment-request-hasenrolledinstrument-method.https.html": [
"c5139950d53ec310b3ed5cb835d4d252033f904f",
"testharness"
],
"payment-request/payment-request-id-attribute.https.html": [ "payment-request/payment-request-id-attribute.https.html": [
"e5d0c7a66eee67f529cd48fa640f08481f5e5a38", "e5d0c7a66eee67f529cd48fa640f08481f5e5a38",
"testharness" "testharness"
@ -664622,6 +664883,10 @@
"0e3f405e14b7af9f0b2a4fe5ce916ed1e47534de", "0e3f405e14b7af9f0b2a4fe5ce916ed1e47534de",
"testharness" "testharness"
], ],
"resource-timing/resource-reload-TAO.sub.html": [
"48ab84bf964ef4ae2a0f3adc8fdd81867918c4f0",
"testharness"
],
"resource-timing/resource-timing-level1.js": [ "resource-timing/resource-timing-level1.js": [
"95b5cdfb1ed0ca2bbfd6b692ad565512218dd7a4", "95b5cdfb1ed0ca2bbfd6b692ad565512218dd7a4",
"support" "support"
@ -664786,6 +665051,10 @@
"b143da7b325f0ad24a2f9ad67db7ba31d0aa912c", "b143da7b325f0ad24a2f9ad67db7ba31d0aa912c",
"support" "support"
], ],
"resource-timing/resources/cors-ahem.py": [
"1998d47c492e09cd418c913e8824d3515091f73d",
"support"
],
"resource-timing/resources/document-domain-no-impact.sub.html": [ "resource-timing/resources/document-domain-no-impact.sub.html": [
"fbd7bc3b6e21ee39478c8a63780bb673dafe96a4", "fbd7bc3b6e21ee39478c8a63780bb673dafe96a4",
"support" "support"
@ -664830,6 +665099,10 @@
"31a769eb3666492a3804f1c3deca73df526c0a4f", "31a769eb3666492a3804f1c3deca73df526c0a4f",
"support" "support"
], ],
"resource-timing/resources/iframe-reload-TAO.sub.html": [
"577aff7758c779893f010658d216f34802a4edfe",
"support"
],
"resource-timing/resources/iframe-setdomain.sub.html": [ "resource-timing/resources/iframe-setdomain.sub.html": [
"4a2f609aa469f14d7efe64baaeb739efdb2fdc75", "4a2f609aa469f14d7efe64baaeb739efdb2fdc75",
"support" "support"
@ -666674,6 +666947,42 @@
"7be8ba61bc20cd2efe262de6b68a43fd3310b59e", "7be8ba61bc20cd2efe262de6b68a43fd3310b59e",
"testharness" "testharness"
], ],
"serial/resources/serial-allowed-by-feature-policy-worker.js": [
"46c338e9a33a9ee0148ca48d09fc9c3bec37736b",
"support"
],
"serial/resources/serial-disabled-by-feature-policy-worker.js": [
"b64b1a861ecfa431fab2ec383dcf420326a47bde",
"support"
],
"serial/serial-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html": [
"7c3a88dd51f93d74dc86882c12aab6bd2c25afb0",
"testharness"
],
"serial/serial-allowed-by-feature-policy-attribute.https.sub.html": [
"1420c5c01434a852661e40287ae24585bcce5aa4",
"testharness"
],
"serial/serial-allowed-by-feature-policy.https.sub.html": [
"316256bbbb4d49f10747d6244eb438228617df6f",
"testharness"
],
"serial/serial-allowed-by-feature-policy.https.sub.html.headers": [
"113ce29ae9f5aeafbf68388c03be1c776c889c60",
"support"
],
"serial/serial-default-feature-policy.https.sub.html": [
"61a872f9b5c400bd9d0cb97c2ecadc69ce6ccc30",
"testharness"
],
"serial/serial-disabled-by-feature-policy.https.sub.html": [
"cddf157e8ae5a9dc53ce2b5ad9bf499c61b0db04",
"testharness"
],
"serial/serial-disabled-by-feature-policy.https.sub.html.headers": [
"be3e6afd423f767369725724eb3509447c852a59",
"support"
],
"serve.py": [ "serve.py": [
"db92a67f44cd1bd04f0309695bcfcbd5efe5c096", "db92a67f44cd1bd04f0309695bcfcbd5efe5c096",
"support" "support"
@ -680075,7 +680384,7 @@
"support" "support"
], ],
"tools/wpt/browser.py": [ "tools/wpt/browser.py": [
"4878663091a13f6a94142844bfede51792eb1b7e", "8c573a82bde2da17463943703d7ad20cb57df0cd",
"support" "support"
], ],
"tools/wpt/commands.json": [ "tools/wpt/commands.json": [
@ -684655,7 +684964,7 @@
"testharness" "testharness"
], ],
"webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam.html": [ "webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam.html": [
"386614ff2e20e7abd4e511bf5e9d7d492cddfeb3", "0b09edd4a7007e54721c4e1d8fb1112e71e5cb1a",
"testharness" "testharness"
], ],
"webaudio/the-audio-api/the-audionode-interface/audionode-disconnect.html": [ "webaudio/the-audio-api/the-audionode-interface/audionode-disconnect.html": [
@ -684987,7 +685296,7 @@
"testharness" "testharness"
], ],
"webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-disconnect.html": [ "webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-disconnect.html": [
"5fb18c8aee41034f75e36959040e2d23e840ddca", "ad74d5e00457e6ccd1b165940ecad140a423d247",
"testharness" "testharness"
], ],
"webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-non-default.html": [ "webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-non-default.html": [
@ -687026,6 +687335,10 @@
"344007ded2b4d4496171402896d738817cdde12e", "344007ded2b4d4496171402896d738817cdde12e",
"testharness" "testharness"
], ],
"webrtc/RTCIceConnectionState-candidate-pair.https.html": [
"7280d040856370f448796a4de2f92f82f9c78c53",
"testharness"
],
"webrtc/RTCIceTransport-extension-helper.js": [ "webrtc/RTCIceTransport-extension-helper.js": [
"659ec59b8df2847e7e2a3c513d3d6fd01027f16d", "659ec59b8df2847e7e2a3c513d3d6fd01027f16d",
"support" "support"
@ -687095,11 +687408,11 @@
"testharness" "testharness"
], ],
"webrtc/RTCPeerConnection-helper.js": [ "webrtc/RTCPeerConnection-helper.js": [
"d1056d90f393d06713feeccb04d589c41690089e", "1ff5f54015e6a65a47cd4a277818acb9c57318bc",
"support" "support"
], ],
"webrtc/RTCPeerConnection-iceConnectionState.html": [ "webrtc/RTCPeerConnection-iceConnectionState.https.html": [
"b647b3d3e35e31f16b33422f67cb30b917d1d0af", "8acabf49766ba08999b8857d8cb6589d1587c843",
"testharness" "testharness"
], ],
"webrtc/RTCPeerConnection-iceGatheringState.html": [ "webrtc/RTCPeerConnection-iceGatheringState.html": [
@ -687183,7 +687496,7 @@
"testharness" "testharness"
], ],
"webrtc/RTCPeerConnection-track-stats.https.html": [ "webrtc/RTCPeerConnection-track-stats.https.html": [
"2d45c343d861f0b62a7d3d1f979ff7702862e5d7", "e394e63e50d78b96dd8b6815700a0cc8408ce239",
"testharness" "testharness"
], ],
"webrtc/RTCPeerConnection-transceivers.https.html": [ "webrtc/RTCPeerConnection-transceivers.https.html": [
@ -687243,7 +687556,7 @@
"testharness" "testharness"
], ],
"webrtc/RTCRtpReceiver-getSynchronizationSources.https.html": [ "webrtc/RTCRtpReceiver-getSynchronizationSources.https.html": [
"36460b479903231e15427f303f15c3b6a3de16e8", "82ce3bd8467b6a29e4b40a105151b50314b5bf46",
"testharness" "testharness"
], ],
"webrtc/RTCRtpSender-getCapabilities.html": [ "webrtc/RTCRtpSender-getCapabilities.html": [
@ -691823,7 +692136,7 @@
"testharness" "testharness"
], ],
"webxr/xrSession_identity_referenceSpace.https.html": [ "webxr/xrSession_identity_referenceSpace.https.html": [
"6f4f1e805a060853eaa557a16111acd73d78fe42", "6cb25019fcd4d95f5e312bbf49186d0579a31ddc",
"testharness" "testharness"
], ],
"webxr/xrSession_mode.https.html": [ "webxr/xrSession_mode.https.html": [
@ -691839,11 +692152,11 @@
"testharness" "testharness"
], ],
"webxr/xrSession_requestAnimationFrame_data_valid.https.html": [ "webxr/xrSession_requestAnimationFrame_data_valid.https.html": [
"f873a11588045d612cb16f2487a6efa14b555679", "41801bcd3643b9173e0b447545967beb60cee330",
"testharness" "testharness"
], ],
"webxr/xrSession_requestAnimationFrame_getViewerPose.https.html": [ "webxr/xrSession_requestAnimationFrame_getViewerPose.https.html": [
"ca6a71758c691e16aad512e68c83e2fd42a8efbb", "618dc13e4fe6eb6eda2c81eef53e722da3b09190",
"testharness" "testharness"
], ],
"webxr/xrSession_requestReferenceSpace.https.html": [ "webxr/xrSession_requestReferenceSpace.https.html": [

View file

@ -690,274 +690,274 @@
[StyleSheet interface: sheet must inherit property "media" with the proper type] [StyleSheet interface: sheet must inherit property "media" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleRule must be primary interface of sheet.cssRules\[4\]] [CSSStyleRule must be primary interface of sheet.cssRules[4\]]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[4\]] [Stringification of sheet.cssRules[4\]]
expected: FAIL expected: FAIL
[CSSStyleRule interface: sheet.cssRules\[4\] must inherit property "selectorText" with the proper type] [CSSStyleRule interface: sheet.cssRules[4\] must inherit property "selectorText" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleRule interface: sheet.cssRules\[4\] must inherit property "style" with the proper type] [CSSStyleRule interface: sheet.cssRules[4\] must inherit property "style" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "STYLE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "STYLE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "CHARSET_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "CHARSET_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "IMPORT_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "IMPORT_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "MEDIA_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "MEDIA_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "FONT_FACE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "FONT_FACE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "PAGE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "PAGE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "MARGIN_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "MARGIN_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "NAMESPACE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "NAMESPACE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "type" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "type" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "cssText" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "parentStyleSheet" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "parentStyleSheet" with the proper type]
expected: FAIL expected: FAIL
[CSSImportRule interface: sheet.cssRules\[0\] must inherit property "href" with the proper type] [CSSImportRule interface: sheet.cssRules[0\] must inherit property "href" with the proper type]
expected: FAIL expected: FAIL
[CSSImportRule interface: sheet.cssRules\[0\] must inherit property "media" with the proper type] [CSSImportRule interface: sheet.cssRules[0\] must inherit property "media" with the proper type]
expected: FAIL expected: FAIL
[CSSImportRule interface: sheet.cssRules\[0\] must inherit property "styleSheet" with the proper type] [CSSImportRule interface: sheet.cssRules[0\] must inherit property "styleSheet" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[0\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[0\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSPageRule must be primary interface of sheet.cssRules\[2\]] [CSSPageRule must be primary interface of sheet.cssRules[2\]]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[2\]] [Stringification of sheet.cssRules[2\]]
expected: FAIL expected: FAIL
[CSSPageRule interface: sheet.cssRules\[2\] must inherit property "selectorText" with the proper type] [CSSPageRule interface: sheet.cssRules[2\] must inherit property "selectorText" with the proper type]
expected: FAIL expected: FAIL
[CSSPageRule interface: sheet.cssRules\[2\] must inherit property "style" with the proper type] [CSSPageRule interface: sheet.cssRules[2\] must inherit property "style" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[2\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSMarginRule must be primary interface of sheet.cssRules\[2\].cssRules\[0\]] [CSSMarginRule must be primary interface of sheet.cssRules[2\].cssRules[0\]]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[2\].cssRules\[0\]] [Stringification of sheet.cssRules[2\].cssRules[0\]]
expected: FAIL expected: FAIL
[CSSMarginRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "name" with the proper type] [CSSMarginRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "name" with the proper type]
expected: FAIL expected: FAIL
[CSSMarginRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "style" with the proper type] [CSSMarginRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "style" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "STYLE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "STYLE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "CHARSET_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "CHARSET_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "IMPORT_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "IMPORT_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "MEDIA_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "MEDIA_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "FONT_FACE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "FONT_FACE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "PAGE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "PAGE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "MARGIN_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "MARGIN_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "NAMESPACE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "NAMESPACE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "type" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "type" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "cssText" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "parentStyleSheet" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "parentStyleSheet" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[1\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[1\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[4\].style] [CSSStyleDeclaration must be primary interface of sheet.cssRules[4\].style]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[4\].style] [Stringification of sheet.cssRules[4\].style]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "cssText" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "length" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "length" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "item(unsigned long)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "item(unsigned long)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "removeProperty(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "removeProperty(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "parentRule" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "cssFloat" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "cssFloat" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[2\].style] [CSSStyleDeclaration must be primary interface of sheet.cssRules[2\].style]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[2\].style] [Stringification of sheet.cssRules[2\].style]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "cssText" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "length" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "length" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "item(unsigned long)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "item(unsigned long)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "removeProperty(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "removeProperty(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "parentRule" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "cssFloat" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "cssFloat" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[2\].cssRules\[0\].style] [CSSStyleDeclaration must be primary interface of sheet.cssRules[2\].cssRules[0\].style]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[2\].cssRules\[0\].style] [Stringification of sheet.cssRules[2\].cssRules[0\].style]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "cssText" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "length" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "length" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "item(unsigned long)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "item(unsigned long)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "removeProperty(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "removeProperty(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "parentRule" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "cssFloat" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "cssFloat" with the proper type]
expected: FAIL expected: FAIL
[MediaList must be primary interface of sheet.media] [MediaList must be primary interface of sheet.media]
@ -1005,273 +1005,276 @@
[StyleSheet interface: sheet must inherit property "media" with the proper type] [StyleSheet interface: sheet must inherit property "media" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleRule must be primary interface of sheet.cssRules\[4\]] [CSSStyleRule must be primary interface of sheet.cssRules[4\]]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[4\]] [Stringification of sheet.cssRules[4\]]
expected: FAIL expected: FAIL
[CSSStyleRule interface: sheet.cssRules\[4\] must inherit property "selectorText" with the proper type] [CSSStyleRule interface: sheet.cssRules[4\] must inherit property "selectorText" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleRule interface: sheet.cssRules\[4\] must inherit property "style" with the proper type] [CSSStyleRule interface: sheet.cssRules[4\] must inherit property "style" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "STYLE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "STYLE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "CHARSET_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "CHARSET_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "IMPORT_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "IMPORT_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "MEDIA_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "MEDIA_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "FONT_FACE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "FONT_FACE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "PAGE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "PAGE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "MARGIN_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "MARGIN_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "NAMESPACE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "NAMESPACE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "type" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "type" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "cssText" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[4\] must inherit property "parentStyleSheet" with the proper type] [CSSRule interface: sheet.cssRules[4\] must inherit property "parentStyleSheet" with the proper type]
expected: FAIL expected: FAIL
[CSSImportRule interface: sheet.cssRules\[0\] must inherit property "href" with the proper type] [CSSImportRule interface: sheet.cssRules[0\] must inherit property "href" with the proper type]
expected: FAIL expected: FAIL
[CSSImportRule interface: sheet.cssRules\[0\] must inherit property "media" with the proper type] [CSSImportRule interface: sheet.cssRules[0\] must inherit property "media" with the proper type]
expected: FAIL expected: FAIL
[CSSImportRule interface: sheet.cssRules\[0\] must inherit property "styleSheet" with the proper type] [CSSImportRule interface: sheet.cssRules[0\] must inherit property "styleSheet" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[0\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[0\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSPageRule must be primary interface of sheet.cssRules\[2\]] [CSSPageRule must be primary interface of sheet.cssRules[2\]]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[2\]] [Stringification of sheet.cssRules[2\]]
expected: FAIL expected: FAIL
[CSSPageRule interface: sheet.cssRules\[2\] must inherit property "selectorText" with the proper type] [CSSPageRule interface: sheet.cssRules[2\] must inherit property "selectorText" with the proper type]
expected: FAIL expected: FAIL
[CSSPageRule interface: sheet.cssRules\[2\] must inherit property "style" with the proper type] [CSSPageRule interface: sheet.cssRules[2\] must inherit property "style" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[2\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSMarginRule must be primary interface of sheet.cssRules\[2\].cssRules\[0\]] [CSSMarginRule must be primary interface of sheet.cssRules[2\].cssRules[0\]]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[2\].cssRules\[0\]] [Stringification of sheet.cssRules[2\].cssRules[0\]]
expected: FAIL expected: FAIL
[CSSMarginRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "name" with the proper type] [CSSMarginRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "name" with the proper type]
expected: FAIL expected: FAIL
[CSSMarginRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "style" with the proper type] [CSSMarginRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "style" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "STYLE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "STYLE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "CHARSET_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "CHARSET_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "IMPORT_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "IMPORT_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "MEDIA_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "MEDIA_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "FONT_FACE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "FONT_FACE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "PAGE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "PAGE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "MARGIN_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "MARGIN_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "NAMESPACE_RULE" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "NAMESPACE_RULE" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "type" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "type" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "cssText" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[2\].cssRules\[0\] must inherit property "parentStyleSheet" with the proper type] [CSSRule interface: sheet.cssRules[2\].cssRules[0\] must inherit property "parentStyleSheet" with the proper type]
expected: FAIL expected: FAIL
[CSSRule interface: sheet.cssRules\[1\] must inherit property "parentRule" with the proper type] [CSSRule interface: sheet.cssRules[1\] must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[4\].style] [CSSStyleDeclaration must be primary interface of sheet.cssRules[4\].style]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[4\].style] [Stringification of sheet.cssRules[4\].style]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "cssText" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "length" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "length" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "item(unsigned long)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "item(unsigned long)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "removeProperty(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "removeProperty(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules\[4\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[4\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "parentRule" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[4\].style must inherit property "cssFloat" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[4\].style must inherit property "cssFloat" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[2\].style] [CSSStyleDeclaration must be primary interface of sheet.cssRules[2\].style]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[2\].style] [Stringification of sheet.cssRules[2\].style]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "cssText" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "length" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "length" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "item(unsigned long)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "item(unsigned long)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "removeProperty(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "removeProperty(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules\[2\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[2\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "parentRule" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].style must inherit property "cssFloat" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].style must inherit property "cssFloat" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[2\].cssRules\[0\].style] [CSSStyleDeclaration must be primary interface of sheet.cssRules[2\].cssRules[0\].style]
expected: FAIL expected: FAIL
[Stringification of sheet.cssRules\[2\].cssRules\[0\].style] [Stringification of sheet.cssRules[2\].cssRules[0\].style]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "cssText" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "cssText" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "length" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "length" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "item(unsigned long)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "item(unsigned long)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling item(unsigned long) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "getPropertyValue(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyValue(CSSOMString) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "getPropertyPriority(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling getPropertyPriority(CSSOMString) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "setProperty(CSSOMString, CSSOMString, CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling setProperty(CSSOMString, CSSOMString, CSSOMString) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "removeProperty(CSSOMString)" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "removeProperty(CSSOMString)" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules\[2\].cssRules\[0\].style with too few arguments must throw TypeError] [CSSStyleDeclaration interface: calling removeProperty(CSSOMString) on sheet.cssRules[2\].cssRules[0\].style with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "parentRule" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "parentRule" with the proper type]
expected: FAIL expected: FAIL
[CSSStyleDeclaration interface: sheet.cssRules\[2\].cssRules\[0\].style must inherit property "cssFloat" with the proper type] [CSSStyleDeclaration interface: sheet.cssRules[2\].cssRules[0\].style must inherit property "cssFloat" with the proper type]
expected: FAIL
[ShadowRoot interface: attribute styleSheets]
expected: FAIL expected: FAIL

View file

@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C] [X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL expected: FAIL
[Content-Type-Options%3A%20nosniff]
expected: FAIL

View file

@ -0,0 +1,4 @@
[javascript-url-abort-return-value-string.tentative.html]
[Aborting fetch for javascript:string navigation]
expected: FAIL

View file

@ -0,0 +1,5 @@
[javascript-url-abort-return-value-undefined.tentative.html]
expected: TIMEOUT
[Not aborting fetch for javascript:undefined navigation]
expected: TIMEOUT

View file

@ -1,4 +0,0 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

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

View file

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

View file

@ -0,0 +1,7 @@
[toggleEvent.html]
[Calling open twice on 'details' fires only one toggle event]
expected: FAIL
[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
expected: FAIL

View file

@ -0,0 +1,5 @@
[resource-reload-TAO.sub.html]
expected: TIMEOUT
[Test that TAO headers are reused on reloads.]
expected: TIMEOUT

View file

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

View file

@ -30,3 +30,16 @@ function waitForAsyncAnimationFrames(count) {
// AnimationWorklet. // AnimationWorklet.
return waitForAnimationFrames(count + 1); return waitForAnimationFrames(count + 1);
} }
async function waitForAnimationFrameWithCondition(condition) {
do {
await new Promise(window.requestAnimationFrame);
} while (!condition())
};
async function waitForDocumentTimelineAdvance() {
const timeAtStart = document.timeline.currentTime;
do {
await new Promise(window.requestAnimationFrame);
} while (timeAtStart === document.timeline.currentTime)
}

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<style>
#box {
width: 100px;
height: 100px;
transform: translateY(100px);
background-color: green;
}
</style>
<div id="box"></div>

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html class="reftest-wait">
<title>Verify that calling pause immediately after playing works as expected</title>
<link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/">
<link rel="match" href="references/translated-box-ref.html">
<script src="/common/reftest-wait.js"></script>
<script src="/web-animations/testcommon.js"></script>
<script src="common.js"></script>
<style>
#box {
width: 100px;
height: 100px;
background-color: green;
}
</style>
<div id="box"></div>
<script>
registerPassthroughAnimator().then(async _ => {
const box = document.getElementById('box');
const effect = new KeyframeEffect(box,
{ transform: ['translateY(100px)', 'translateY(200px)'] },
{ duration: 100, iterations: 1 }
);
const animation = new WorkletAnimation('passthrough', effect);
animation.play();
// Immediately pausing animation should freeze the current time at 0.
animation.pause();
// Wait at least one frame to ensure a paused animation actually freezes.
await waitForAsyncAnimationFrames(1);
takeScreenshot();
});
</script>
</html>

View file

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html class="reftest-wait">
<title>Verify that calling pause immediately after playing works as expected</title>
<link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/">
<link rel="match" href="references/translated-box-ref.html">
<script src="/common/reftest-wait.js"></script>
<script src="common.js"></script>
<style>
#box {
width: 100px;
height: 100px;
background-color: green;
}
</style>
<div id="box"></div>
<script>
registerPassthroughAnimator().then(async _ => {
const duration = 18; // a bit longer than a frame
const box = document.getElementById('box');
const effect = new KeyframeEffect(box,
{ transform: ['translateY(0px)', 'translateY(100px)'] },
{ duration: duration, iterations: 1, fill: 'forwards'}
);
const animation = new WorkletAnimation('passthrough', effect);
// Immediately pausing animation should freeze the current time at 0.
animation.pause();
// Playing should cause animation to resume.
animation.play();
// Wait until we ensure animation has reached completion.
await waitForAnimationFrameWithCondition( _ => {
return animation.currentTime >= duration;
});
takeScreenshot();
});
</script>
</html>

View file

@ -0,0 +1,60 @@
<!DOCTYPE html>
<title>Verify that currentTime and playState are correct when animation is paused</title>
<link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/web-animations/testcommon.js"></script>
<script src="common.js"></script>
<div id="box"></div>
<script>
setup(setupAndRegisterTests, {explicit_done: true});
function createAnimation() {
const box = document.getElementById('box');
const effect = new KeyframeEffect(box,
{ transform: ['translateY(100px)', 'translateY(200px)'] },
{ duration: 100, iterations: 1 }
);
return new WorkletAnimation('passthrough', effect);
}
async function setupAndRegisterTests() {
await registerPassthroughAnimator();
promise_test(async t => {
const animation = createAnimation();
animation.play();
// Immediately pausing animation should freeze the current time at 0.
animation.pause();
assert_equals(animation.currentTime, 0);
assert_equals(animation.playState, "paused");
// Wait some time to ensure a paused animation actually freezes.
await waitForNextFrame();
assert_equals(animation.currentTime, 0);
assert_equals(animation.playState, "paused");
}, 'pausing an animation freezes its current time');
promise_test(async t => {
const animation = createAnimation();
animation.pause();
animation.play();
// Allow one async animation frame to pass so that animation is running.
await waitForAsyncAnimationFrames(1);
assert_equals(animation.playState, "running");
// Allow time to advance so that we have a non-zero current time.
await waitForDocumentTimelineAdvance();
const timelineTime = document.timeline.currentTime;
assert_greater_than(animation.currentTime, 0);
assert_times_equal(animation.currentTime, (timelineTime - animation.startTime));
}, 'playing a paused animation should resume it');
done();
}
</script>

View file

@ -347,22 +347,9 @@ backgroundFetchTest(async (test, backgroundFetch) => {
uniqueId(), ['resources/feature-name.txt', '/common/slow.py']); uniqueId(), ['resources/feature-name.txt', '/common/slow.py']);
const record = await registration.match('resources/feature-name.txt'); const record = await registration.match('resources/feature-name.txt');
await new Promise(resolve => {
const expectedResultText = 'Background Fetch';
registration.onprogress = async event => {
if (event.target.downloaded < expectedResultText.length)
return;
const response = await record.responseReady; const response = await record.responseReady;
assert_true(response.url.includes('resources/feature-name.txt')); assert_true(response.url.includes('resources/feature-name.txt'));
const completedResponseText = await response.text(); const completedResponseText = await response.text();
assert_equals(completedResponseText, expectedResultText); assert_equals(completedResponseText, 'Background Fetch');
resolve();
};
});
}, 'Access to active fetches is supported.'); }, 'Access to active fetches is supported.');

View file

@ -8,7 +8,7 @@
idl_test( idl_test(
['background-fetch'], ['background-fetch'],
['service-workers', 'dedicated-workers', 'dom'], ['service-workers', 'html', 'dom'],
idl_array => { idl_array => {
const isServiceWorker = location.pathname.includes('.serviceworker.'); const isServiceWorker = location.pathname.includes('.serviceworker.');
if (isServiceWorker) { if (isServiceWorker) {

View file

@ -11,28 +11,27 @@ test(() => {
assert_equals(navigator.clipboard, navigator.clipboard); assert_equals(navigator.clipboard, navigator.clipboard);
}, "navigator.clipboard exists"); }, "navigator.clipboard exists");
/* clipboard.write() */ /* clipboard.write(Blob/text) */
promise_test(async () => { promise_test(async () => {
const dt = new DataTransfer(); const blob = new Blob(["hello"], {type: 'text/plain'});
dt.items.add("Howdy", "text/plain"); await navigator.clipboard.write(blob);
await navigator.clipboard.write(dt); }, "navigator.clipboard.write(Blob) succeeds");
}, "navigator.clipboard.write(DataTransfer) succeeds");
promise_test(async t => { promise_test(async t => {
await promise_rejects(t, new TypeError(), await promise_rejects(t, new TypeError(),
navigator.clipboard.write()); navigator.clipboard.write());
}, "navigator.clipboard.write() fails (expect DataTransfer)"); }, "navigator.clipboard.write() fails (expect Blob)");
promise_test(async t => { promise_test(async t => {
await promise_rejects(t, new TypeError(), await promise_rejects(t, new TypeError(),
navigator.clipboard.write(null)); navigator.clipboard.write(null));
}, "navigator.clipboard.write(null) fails (expect DataTransfer)"); }, "navigator.clipboard.write(null) fails (expect Blob)");
promise_test(async t => { promise_test(async t => {
await promise_rejects(t, new TypeError(), await promise_rejects(t, new TypeError(),
navigator.clipboard.write("Bad string")); navigator.clipboard.write("Bad string"));
}, "navigator.clipboard.write(DOMString) fails (expect DataTransfer)"); }, "navigator.clipboard.write(DOMString) fails (expect Blob)");
/* clipboard.writeText() */ /* clipboard.writeText() */
@ -46,27 +45,28 @@ promise_test(async t => {
navigator.clipboard.writeText()); navigator.clipboard.writeText());
}, "navigator.clipboard.writeText() fails (expect DOMString)"); }, "navigator.clipboard.writeText() fails (expect DOMString)");
/* clipboard.writeImageExperimental() */ /* clipboard.write(Blob/image) */
promise_test(async () => { promise_test(async () => {
const fetched = await fetch( const fetched = await fetch(
'http://localhost:8001/clipboard-apis/resources/greenbox.png'); 'http://localhost:8001/clipboard-apis/resources/greenbox.png');
const image = await fetched.blob(); const image = await fetched.blob();
await navigator.clipboard.writeImageExperimental(image); await navigator.clipboard.write(image);
}, "navigator.clipboard.writeImageExperimental(Blob) succeeds"); }, "navigator.clipboard.writeImageExperimental(Blob) succeeds");
promise_test(async t => { promise_test(async t => {
await promise_rejects(t, new TypeError(), await promise_rejects(t, new TypeError(),
navigator.clipboard.writeImageExperimental()); navigator.clipboard.write());
}, "navigator.clipboard.writeImageExperimental() fails (expect Blob)"); }, "navigator.clipboard.writeImageExperimental() fails (expect Blob)");
/* clipboard.read() */ /* Blob/text or Blob/image clipboard.read() */
promise_test(async () => { promise_test(async () => {
const result = await navigator.clipboard.read(); const result = await navigator.clipboard.read();
assert_true(result instanceof DataTransfer); assert_true(result instanceof Blob);
assert_equals(typeof result, "object");
}, "navigator.clipboard.read() succeeds"); }, "navigator.clipboard.read() succeeds");
@ -77,11 +77,4 @@ promise_test(async () => {
assert_equals(typeof result, "string"); assert_equals(typeof result, "string");
}, "navigator.clipboard.readText() succeeds"); }, "navigator.clipboard.readText() succeeds");
/* clipboard.readImageExperimental() */
promise_test(async () => {
const result = await navigator.clipboard.readImageExperimental();
assert_equals(typeof result, "object");
}, "navigator.clipboard.readImageExperimental() succeeds");
</script> </script>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Async Clipboard write (Blob/text) -> read (Blob/text) tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async function readWriteTest(textInput) {
promise_test(async t => {
const blobInput = new Blob([textInput], {type: 'text/plain'});
await navigator.clipboard.write(blobInput);
const blobOutput = await navigator.clipboard.read();
assert_equals(blobOutput.type, "text/plain");
const textOutput = await (new Response(blobOutput)).text();
assert_equals(textOutput, textInput);
}, "Verify write and read clipboard given text: " + textInput);
}
readWriteTest("Clipboard write (Blob/text) -> read (Blob/text) test");
readWriteTest("non-Latin1 text encoding test データ");
</script>
<p>
Note: This is a manual test because it writes/reads to the shared system
clipboard and thus cannot be run async with other tests that might interact
with the clipboard.
</p>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Async Clipboard write (Blob/text) -> readText tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async function readWriteTest(textInput) {
promise_test(async t => {
const blobInput = new Blob([textInput], {type: 'text/plain'});
await navigator.clipboard.write(blobInput);
const textOutput = await navigator.clipboard.readText();
assert_equals(textOutput, textInput);
}, "Verify write and read clipboard given text: " + textInput);
}
readWriteTest("Clipboard write (Blob/text) -> read text test");
readWriteTest("non-Latin1 text encoding test データ");
</script>
<p>
Note: This is a manual test because it writes/reads to the shared system
clipboard and thus cannot be run async with other tests that might interact
with the clipboard.
</p>

View file

@ -1,25 +0,0 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Async Clipboard write (dt/text) -> read (dt/text) tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async t => {
const input = "Clipboard write (dt/text) -> read (dt/text) test data";
const dt = new DataTransfer();
dt.items.add(input, "text/plain");
await navigator.clipboard.write(dt);
const output = await navigator.clipboard.read();
assert_equals(output.items.length, 1);
const result_promise = new Promise(resolve => {
output.items[0].getAsString(resolve);
});
const string_output = await result_promise;
assert_equals(string_output, input);
}, "Verify write and read clipboard (DataTransfer/text)");
</script>
Note: This is a manual test because it writes/reads to the shared system
clipboard and thus cannot be run async with other tests that might interact
with the clipboard.

View file

@ -1,20 +0,0 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Async Clipboard write (dt/text) -> readText tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async t => {
const input = "Clipboard write (dt/text) -> readText test data";
const dt = new DataTransfer();
dt.items.add(input, "text/plain");
await navigator.clipboard.write(dt);
const output = await navigator.clipboard.readText();
assert_equals(output, input);
}, "Verify write and read clipboard (DataTransfer/text)");
</script>
Note: This is a manual test because it writes/reads to the shared system
clipboard and thus cannot be run async with other tests that might interact
with the clipboard.

View file

@ -39,8 +39,10 @@ async function loadBlob(fileName) {
promise_test(async t => { promise_test(async t => {
const input = await loadBlob('resources/greenbox.png'); const input = await loadBlob('resources/greenbox.png');
await navigator.clipboard.writeImageExperimental(input); assert_equals(input.type, "image/png");
const output = await navigator.clipboard.readImageExperimental(); await navigator.clipboard.write(input);
const output = await navigator.clipboard.read();
assert_equals(output.type, "image/png");
document.getElementById('image-on-clipboard').src = document.getElementById('image-on-clipboard').src =
window.URL.createObjectURL(output); window.URL.createObjectURL(output);

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Async Clipboard writeText -> read (Blob/text) tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async function readWriteTest(textInput) {
promise_test(async t => {
await navigator.clipboard.writeText(textInput);
const blobOutput = await navigator.clipboard.read();
assert_equals(blobOutput.type, "text/plain");
const textOutput = await (new Response(blobOutput)).text();
assert_equals(textOutput, textInput);
}, "Verify write and read clipboard given text: " + textInput);
}
readWriteTest("Clipboard write text -> read (Blob/text) test");
readWriteTest("non-Latin1 text encoding test データ");
</script>
<p>
Note: This is a manual test because it writes/reads to the shared system
clipboard and thus cannot be run async with other tests that might interact
with the clipboard.
</p>

View file

@ -1,23 +0,0 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Async Clipboard writeText -> read (dt/text) tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async t => {
const input = "Clipboard writeText -> read (dt/text) test data";
await navigator.clipboard.writeText(input);
const output = await navigator.clipboard.read();
assert_equals(output.items.length, 1);
const result_promise = new Promise(resolve => {
output.items[0].getAsString(resolve);
});
const string_output = await result_promise;
assert_equals(string_output, input);
}, "Verify write and read clipboard (DOMString)");
</script>
Note: This is a manual test because it writes/reads to the shared system
clipboard and thus cannot be run async with other tests that might interact
with the clipboard.

View file

@ -4,15 +4,20 @@
<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> <script>
promise_test(async t => { async function readWriteTest(textInput) {
const input = "Clipboard writeText -> readText test data"; promise_test(async t => {
await navigator.clipboard.writeText(textInput);
const textOutput = await navigator.clipboard.readText();
await navigator.clipboard.writeText(input); assert_equals(textOutput, textInput);
const output = await navigator.clipboard.readText(); }, "Verify write and read clipboard given text: " + textInput);
}
assert_equals(output, input); readWriteTest("Clipboard write text -> read text test");
}, "Verify write and read clipboard (DOMString)"); readWriteTest("non-Latin1 text encoding test データ");
</script> </script>
Note: This is a manual test because it writes/reads to the shared system <p>
clipboard and thus cannot be run async with other tests that might interact Note: This is a manual test because it writes/reads to the shared system
with the clipboard. clipboard and thus cannot be run async with other tests that might interact
with the clipboard.
</p>

View file

@ -1,3 +1,4 @@
spec: https://drafts.csswg.org/css-overscroll-behavior/ spec: https://drafts.csswg.org/css-overscroll-behavior/
suggested_reviewers: suggested_reviewers:
- majido - majido
- theres-waldo

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Overscroll Behavior: getComputedValue().overscrollBehavior*</title>
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior/#overscroll-behavior-properties">
<meta name="assert" content="overscroll-behavior-x computed value is as specified.">
<meta name="assert" content="overscroll-behavior-y computed value is as specified.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/computed-testcommon.js"></script>
</head>
<body>
<div id="target"></div>
<script>
'use strict';
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y"]) {
test_computed_value(property, "contain");
test_computed_value(property, "none");
test_computed_value(property, "auto");
}
</script>
</body>
</html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Overscroll Behavior: parsing overscroll-behavior with invalid values</title>
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior/#propdef-overscroll-behavior">
<meta name="assert" content="overscroll-behavior supports only the grammar '[ contain | none | auto ]{1,2}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
'use strict';
test_invalid_value("overscroll-behavior", "normal");
test_invalid_value("overscroll-behavior", "0");
test_invalid_value("overscroll-behavior", "contain contain contain");
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y"]) {
test_invalid_value(property, "normal");
test_invalid_value(property, "0");
test_invalid_value(property, "contain contain");
}
</script>
</body>
</html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Overscroll Behavior: parsing overscroll-behavior with valid values</title>
<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior/#propdef-overscroll-behavior">
<meta name="assert" content="overscroll-behavior supports the full grammar '[ contain | none | auto ]{1,2}'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
'use strict';
test_valid_value("overscroll-behavior", "contain");
test_valid_value("overscroll-behavior", "none");
test_valid_value("overscroll-behavior", "auto");
test_valid_value("overscroll-behavior", "contain none");
test_valid_value("overscroll-behavior", "none auto");
test_valid_value("overscroll-behavior", "auto contain");
test_valid_value("overscroll-behavior", "contain contain", "contain");
test_valid_value("overscroll-behavior", "none none", "none");
test_valid_value("overscroll-behavior", "auto auto", "auto");
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y"]) {
test_valid_value(property, "contain");
test_valid_value(property, "none");
test_valid_value(property, "auto");
}
</script>
</body>
</html>

View file

@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<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>
</head>
<body>
<div id='fs'></div>
<script>
var check_report_format = ([reports, observer]) => {
let report = reports[0];
assert_equals(report.type, "feature-policy-violation");
assert_equals(report.body.featureId, "serial");
assert_equals(report.body.disposition, "report");
};
promise_test(async t => {
const report = new Promise(resolve => {
new ReportingObserver((reports, observer) => resolve([reports, observer]),
{types: ['feature-policy-violation']}).observe();
});
await test_driver.bless('Activate document for serial.requestPort');
try {
await navigator.serial.requestPort({filters: []});
assert_unreached('requestPort() call should fail when no port is selected.');
} catch (e) {
assert_equals(e.code, DOMException.NOT_FOUND_ERR);
}
check_report_format(await report);
}, "requestPort in serial report only mode");
promise_test(async t => {
const report = new Promise(resolve => {
new ReportingObserver((reports, observer) => resolve([reports, observer]),
{types: ['feature-policy-violation']}).observe();
});
await navigator.serial.getPorts();
check_report_format(await report);
}, "getPorts in serial report only mode");
</script>
</body>
</html>

View file

@ -0,0 +1 @@
Feature-Policy-Report-Only: serial 'none'

View file

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html>
<head>
<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>
</head>
<body>
<script>
var check_report_format = ([reports, observer]) => {
let report = reports[0];
assert_equals(report.type, "feature-policy-violation");
assert_equals(report.url, document.location.href);
assert_equals(report.body.featureId, "serial");
assert_equals(report.body.sourceFile, document.location.href);
assert_equals(typeof report.body.lineNumber, "number");
assert_equals(typeof report.body.columnNumber, "number");
assert_equals(report.body.disposition, "enforce");
};
promise_test(async t => {
const report = new Promise(resolve => {
new ReportingObserver((reports, observer) => resolve([reports, observer]),
{types: ['feature-policy-violation']}).observe();
});
await test_driver.bless('Activate document for serial.requestPort');
try {
await navigator.serial.requestPort({ filters: [] });
assert_unreached("Serial port access should not be allowed in this document.");
} catch (e) {
assert_equals(e.code, DOMException.SECURITY_ERR);
}
check_report_format(await report);
}, "requestPort in serial reporting mode");
promise_test(async t => {
const report = new Promise(resolve => {
new ReportingObserver((reports, observer) => resolve([reports, observer]),
{types: ['feature-policy-violation']}).observe();
});
try {
await navigator.serial.getPorts();
assert_unreached("Serial port access should not be allowed in this document.");
} catch (e) {
assert_equals(e.code, DOMException.SECURITY_ERR);
}
check_report_format(await report);
}, "getPorts in serial reporting mode");
</script>
</body>
</html>

View file

@ -0,0 +1 @@
Feature-Policy: serial 'none'

View file

@ -0,0 +1,10 @@
<script>
'use strict';
let worker = new Worker('feature-policy-serial-worker.js');
worker.onmessage = event => {
window.parent.postMessage(event.data, '*');
};
worker.postMessage({ type: 'ready' });
</script>

View file

@ -0,0 +1,14 @@
'use strict';
// Dedicated worker
if (typeof postMessage === 'function') {
onmessage = event => {
switch(event.data.type) {
case 'ready':
navigator.serial.getPorts().then(
() => postMessage({ enabled: true }),
error => postMessage ({ enabled: false }));
break;
}
};
}

View file

@ -0,0 +1,9 @@
<script>
'use strict';
navigator.serial.getPorts().then(ports => {
window.parent.postMessage({ enabled: true }, '*');
}, error => {
window.parent.postMessage({ enabled: false }, '*');
});
</script>

View file

@ -1,82 +0,0 @@
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<!-- SEKRITS! -->
<input id="sekrit" value="omg!">
<script>
function postMessageToFrame(frame, message) {
return new Promise(resolve => {
var c = new MessageChannel();
c.port1.onmessage = e => {
resolve({ data: e.data, frame: frame })
};
frame.contentWindow.postMessage(message, '*', [c.port2]);
});
}
function createFrame() {
return new Promise(resolve => {
var i = document.createElement('iframe');
i.src = "./support/document_domain_frame.html";
window.addEventListener('message', m => {
if (m.source == i.contentWindow)
resolve(i);
});
document.body.appendChild(i);
});
}
promise_test(t => {
return createFrame()
.then(f => postMessageToFrame(f, 'poke-at-parent'))
.then(result => {
assert_equals(result.data, document.querySelector('#sekrit').value);
result.frame.remove();
});
}, "Access allowed with no 'document.domain' modification. (Sanity check)");
promise_test(t => {
return createFrame()
.then(f => postMessageToFrame(f, { domain: null }))
.then(result => {
assert_equals(result.data, 'Done');
return postMessageToFrame(result.frame, 'poke-at-parent')
.then(result => {
assert_equals(result.data, 'SecurityError');
result.frame.remove();
});
});
}, "No access when frame sets a `null` 'document.domain'.");
promise_test(t => {
return createFrame()
.then(f => {
document.domain = null;
assert_equals(document.domain, "null");
return postMessageToFrame(f, 'poke-at-parent');
})
.then(result => {
assert_equals(result.data, 'SecurityError');
result.frame.remove();
});
}, "No access when parent sets a `null` 'document.domain'.");
promise_test(t => {
return createFrame()
.then(f => {
document.domain = null;
assert_equals(document.domain, "null");
return postMessageToFrame(f, { domain: null });
})
.then(result => {
assert_equals(result.data, 'Done');
return postMessageToFrame(result.frame, 'poke-at-parent')
.then(result => {
assert_equals(result.data, 'SecurityError');
result.frame.remove();
});
});
}, "No access when both sides set a `null` 'document.domain'.");
</script>

View file

@ -1,21 +0,0 @@
<!DOCTYPE html>
<script>
window.addEventListener('message', e => {
if (e.data.domain !== undefined) {
try {
document.domain = e.data.domain;
e.ports[0].postMessage('Done');
} catch(error) {
e.ports[0].postMessage(error.name);
}
} else if (e.data == 'poke-at-parent') {
try {
var sekrit = window.parent.document.body.querySelector('#sekrit').value;
e.ports[0].postMessage(sekrit);
} catch(error) {
e.ports[0].postMessage(error.name);
}
}
});
window.parent.postMessage('Hi!', '*');
</script>

View file

@ -1,5 +1,6 @@
<!doctype html> <!doctype html>
<meta charset={{GET[encoding]}}> <!-- ends up as <meta charset> by default which is windows-1252 --> <meta charset={{GET[encoding]}}> <!-- ends up as <meta charset> by default which is windows-1252 -->
<meta name=variant content="?encoding=windows-1252">
<meta name=variant content="?encoding=x-cp1251"> <meta name=variant content="?encoding=x-cp1251">
<meta name=variant content="?encoding=utf8"> <meta name=variant content="?encoding=utf8">
<script src=/resources/testharness.js></script> <script src=/resources/testharness.js></script>

View file

@ -1,5 +1,6 @@
<!doctype html> <!doctype html>
<meta charset={{GET[encoding]}}> <!-- ends up as <meta charset> by default which is windows-1252 --> <meta charset={{GET[encoding]}}> <!-- ends up as <meta charset> by default which is windows-1252 -->
<meta name=variant content="?encoding=windows-1252">
<meta name=variant content="?encoding=x-cp1251"> <meta name=variant content="?encoding=x-cp1251">
<meta name=variant content="?encoding=utf8"> <meta name=variant content="?encoding=utf8">
<script src=/resources/testharness.js></script> <script src=/resources/testharness.js></script>

View file

@ -1,5 +1,6 @@
<!doctype html> <!doctype html>
<meta charset={{GET[encoding]}}> <!-- ends up as <meta charset> by default which is windows-1252 --> <meta charset={{GET[encoding]}}> <!-- ends up as <meta charset> by default which is windows-1252 -->
<meta name=variant content="?encoding=windows-1252">
<meta name=variant content="?encoding=x-cp1251"> <meta name=variant content="?encoding=x-cp1251">
<meta name=variant content="?encoding=utf8"> <meta name=variant content="?encoding=utf8">
<script src=/resources/testharness.js></script> <script src=/resources/testharness.js></script>

View file

@ -1 +1,2 @@
// import()s in a dynamically created function are resolved relative to the script.
Function(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`)(); Function(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`)();

View file

@ -1 +1,2 @@
// import()s in eval are resolved relative to the script.
eval(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`); eval(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`);

View file

@ -1,2 +1,3 @@
window.dummyDiv.setAttribute("onclick", `import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`); // import()s in an event handler are resolved relative to the document base.
window.dummyDiv.setAttribute("onclick", `import('../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`);
window.dummyDiv.click(); // different from **on**click() window.dummyDiv.click(); // different from **on**click()

View file

@ -1,2 +1,3 @@
window.dummyDiv.setAttribute("onclick", `import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`); // import()s in an event handler are resolved relative to the document base.
window.dummyDiv.setAttribute("onclick", `import('../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`);
window.dummyDiv.onclick(); window.dummyDiv.onclick();

View file

@ -1 +1,2 @@
// import()s in a timeout handler are resolved relative to the script.
setTimeout(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`, 0); setTimeout(`import('../../imports-a.js?label=' + window.label).then(window.continueTest, window.errorTest)`, 0);

View file

@ -37,7 +37,7 @@ function assertSuccessful(module) {
promise_test(t => { promise_test(t => {
const promise = createTestPromise(t); const promise = createTestPromise(t);
setTimeout(`import('../imports-a.js?label=setTimeout').then(window.unreached, window.continueTest)`, 0); setTimeout(`import('../imports-a.js?label=setTimeout').then(window.continueTest, window.errorTest)`, 0);
return promise.then(assertSuccessful); return promise.then(assertSuccessful);
}, "setTimeout must inherit the nonce from the triggering script, thus execute"); }, "setTimeout must inherit the nonce from the triggering script, thus execute");
@ -81,8 +81,8 @@ promise_test(t => {
); );
dummyDiv.onclick(); dummyDiv.onclick();
return promise.then(assertSuccessful); return promise_rejects(t, new TypeError(), promise);
}, "reflected inline event handlers must inherit the nonce from the triggering script, thus execute"); }, "reflected inline event handlers must not inherit the nonce from the triggering script, thus fail");
promise_test(t => { promise_test(t => {
t.add_cleanup(() => { t.add_cleanup(() => {
@ -99,6 +99,6 @@ promise_test(t => {
assert_equals(typeof dummyDiv.onclick, "function", "the browser must be able to parse a string containing the import() syntax into a function"); assert_equals(typeof dummyDiv.onclick, "function", "the browser must be able to parse a string containing the import() syntax into a function");
dummyDiv.click(); // different from **on**click() dummyDiv.click(); // different from **on**click()
return promise.then(assertSuccessful); return promise_rejects(t, new TypeError(), promise);
}, "inline event handlers triggered via UA code must inherit the nonce from the triggering script, thus execute"); }, "inline event handlers triggered via UA code must not inherit the nonce from the triggering script, thus fail");
</script> </script>

View file

@ -36,7 +36,7 @@ function assertSuccessful(module) {
promise_test(t => { promise_test(t => {
const promise = createTestPromise(t); const promise = createTestPromise(t);
setTimeout(`import('../imports-a.js?label=setTimeout').then(window.unreached, window.continueTest)`, 0); setTimeout(`import('../imports-a.js?label=setTimeout').then(window.continueTest, window.errorTest)`, 0);
return promise.then(assertSuccessful); return promise.then(assertSuccessful);
}, "setTimeout must inherit the nonce from the triggering script, thus execute"); }, "setTimeout must inherit the nonce from the triggering script, thus execute");
@ -80,8 +80,8 @@ promise_test(t => {
); );
dummyDiv.onclick(); dummyDiv.onclick();
return promise.then(assertSuccessful); return promise_rejects(t, new TypeError(), promise);
}, "reflected inline event handlers must inherit the nonce from the triggering script, thus execute"); }, "reflected inline event handlers must not inherit the nonce from the triggering script, thus fail");
promise_test(t => { promise_test(t => {
t.add_cleanup(() => { t.add_cleanup(() => {
@ -98,6 +98,6 @@ promise_test(t => {
assert_equals(typeof dummyDiv.onclick, 'function', "the browser must be able to parse a string containing the import() syntax into a function"); assert_equals(typeof dummyDiv.onclick, 'function', "the browser must be able to parse a string containing the import() syntax into a function");
dummyDiv.click(); // different from **on**click() dummyDiv.click(); // different from **on**click()
return promise.then(assertSuccessful); return promise_rejects(t, new TypeError(), promise);
}, "inline event handlers triggered via UA code must inherit the nonce from the triggering script, thus execute"); }, "inline event handlers triggered via UA code must not inherit the nonce from the triggering script, thus fail");
</script> </script>

View file

@ -26,14 +26,6 @@ function startTest() {
"the Function constructor"(x) { "the Function constructor"(x) {
otherWindow.Function(x)(); otherWindow.Function(x)();
}, },
"reflected inline event handlers"(x) {
otherDiv.setAttribute("onclick", x);
otherDiv.onclick();
},
"inline event handlers triggered by JS"(x) {
otherDiv.setAttribute("onclick", x);
otherDiv.click(); // different from .**on**click()
}
}; };
for (const [label, evaluator] of Object.entries(evaluators)) { for (const [label, evaluator] of Object.entries(evaluators)) {
@ -53,6 +45,35 @@ function startTest() {
}); });
}, label + " should successfully import"); }, label + " should successfully import");
}; };
const eventHandlerEvaluators = {
"reflected inline event handlers"(x) {
otherDiv.setAttribute("onclick", x);
otherDiv.onclick();
},
"inline event handlers triggered by JS"(x) {
otherDiv.setAttribute("onclick", x);
otherDiv.click(); // different from .**on**click()
}
};
for (const [label, evaluator] of Object.entries(eventHandlerEvaluators)) {
promise_test(t => {
t.add_cleanup(() => {
otherDiv.removeAttribute("onclick");
delete otherWindow.evaluated_imports_a;
});
const promise = createTestPromise();
evaluator(`import('../../imports-a.js?label=${label}').then(window.continueTest, window.errorTest);`);
return promise.then(module => {
assert_true(otherWindow.evaluated_imports_a, "The module must have been evaluated");
assert_equals(module.A.from, "imports-a.js", "The module namespace object must be correct");
});
}, label + " should successfully import");
};
} }
</script> </script>
<body onLoad="startTest()"></body> <body onLoad="startTest()"></body>

View file

@ -1,10 +1,17 @@
// GENERATED PREAMBLE - DO NOT EDIT
// This preamble was added by reffy-reports for web-platform-tests.
// CSSOMString is an implementation-defined type of either DOMString or
// USVString in CSSOM: https://drafts.csswg.org/cssom/#cssomstring-type
// For web-platform-tests, use DOMString because USVString has additional
// requirements in type conversion and could result in spurious failures for
// implementations that use DOMString.
typedef DOMString CSSOMString;
// GENERATED CONTENT - DO NOT EDIT // GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports // Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports) // (https://github.com/tidoust/reffy-reports)
// Source: CSS Object Model (CSSOM) (https://drafts.csswg.org/cssom/) // Source: CSS Object Model (CSSOM) (https://drafts.csswg.org/cssom/)
typedef USVString CSSOMString;
[Exposed=Window] [Exposed=Window]
interface MediaList { interface MediaList {
stringifier attribute [TreatNullAs=EmptyString] CSSOMString mediaText; stringifier attribute [TreatNullAs=EmptyString] CSSOMString mediaText;
@ -19,7 +26,7 @@ interface StyleSheet {
readonly attribute CSSOMString type; readonly attribute CSSOMString type;
readonly attribute USVString? href; readonly attribute USVString? href;
readonly attribute (Element or ProcessingInstruction)? ownerNode; readonly attribute (Element or ProcessingInstruction)? ownerNode;
readonly attribute StyleSheet? parentStyleSheet; readonly attribute CSSStyleSheet? parentStyleSheet;
readonly attribute DOMString? title; readonly attribute DOMString? title;
[SameObject, PutForwards=mediaText] readonly attribute MediaList media; [SameObject, PutForwards=mediaText] readonly attribute MediaList media;
attribute boolean disabled; attribute boolean disabled;
@ -35,16 +42,16 @@ interface CSSStyleSheet : StyleSheet {
[Exposed=Window] [Exposed=Window]
interface StyleSheetList { interface StyleSheetList {
getter StyleSheet? item(unsigned long index); getter CSSStyleSheet? item(unsigned long index);
readonly attribute unsigned long length; readonly attribute unsigned long length;
}; };
partial interface Document { partial interface mixin DocumentOrShadowRoot {
[SameObject] readonly attribute StyleSheetList styleSheets; [SameObject] readonly attribute StyleSheetList styleSheets;
}; };
interface mixin LinkStyle { interface mixin LinkStyle {
readonly attribute StyleSheet? sheet; readonly attribute CSSStyleSheet? sheet;
}; };
ProcessingInstruction includes LinkStyle; ProcessingInstruction includes LinkStyle;

View file

@ -79,51 +79,51 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math> <math>
<mo id="axis"></mo> <mo id="axis"></mo>
<mfrac id="frac0"> <mfrac id="frac0">
<mspace id="frac0num" width="15px" height="15px" mathbackground="blue"/> <mspace id="frac0num" width="15px" height="15px" style="background: blue"/>
<mspace id="frac0den" width="15px" height="15px" mathbackground="green"/> <mspace id="frac0den" width="15px" height="15px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac1"> <mfrac id="frac1">
<mspace id="frac1num" width="30px" height="15px" mathbackground="blue"/> <mspace id="frac1num" width="30px" height="15px" style="background: blue"/>
<mspace id="frac1den" width="15px" height="15px" mathbackground="green"/> <mspace id="frac1den" width="15px" height="15px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac2"> <mfrac id="frac2">
<mspace id="frac2num" width="15px" height="15px" mathbackground="blue"/> <mspace id="frac2num" width="15px" height="15px" style="background: blue"/>
<mspace id="frac2den" width="30px" height="15px" mathbackground="green"/> <mspace id="frac2den" width="30px" height="15px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac3"> <mfrac id="frac3">
<mspace id="frac3num" width="15px" height="30px" mathbackground="blue"/> <mspace id="frac3num" width="15px" height="30px" style="background: blue"/>
<mspace id="frac3den" width="15px" height="15px" mathbackground="green"/> <mspace id="frac3den" width="15px" height="15px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac4"> <mfrac id="frac4">
<mspace id="frac4num" width="15px" height="15px" mathbackground="blue"/> <mspace id="frac4num" width="15px" height="15px" style="background: blue"/>
<mspace id="frac4den" width="15px" height="30px" mathbackground="green"/> <mspace id="frac4den" width="15px" height="30px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac5" linethickness="0px"> <mfrac id="frac5" linethickness="0px">
<mspace id="frac5num" width="15px" height="15px" mathbackground="blue"/> <mspace id="frac5num" width="15px" height="15px" style="background: blue"/>
<mspace id="frac5den" width="15px" height="15px" mathbackground="green"/> <mspace id="frac5den" width="15px" height="15px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac6" linethickness="0px"> <mfrac id="frac6" linethickness="0px">
<mspace id="frac6num" width="30px" height="15px" mathbackground="blue"/> <mspace id="frac6num" width="30px" height="15px" style="background: blue"/>
<mspace id="frac6den" width="15px" height="15px" mathbackground="green"/> <mspace id="frac6den" width="15px" height="15px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac7" linethickness="0px"> <mfrac id="frac7" linethickness="0px">
<mspace id="frac7num" width="15px" height="15px" mathbackground="blue"/> <mspace id="frac7num" width="15px" height="15px" style="background: blue"/>
<mspace id="frac7den" width="30px" height="15px" mathbackground="green"/> <mspace id="frac7den" width="30px" height="15px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac8" linethickness="0px"> <mfrac id="frac8" linethickness="0px">
<mspace id="frac8num" width="15px" height="30px" mathbackground="blue"/> <mspace id="frac8num" width="15px" height="30px" style="background: blue"/>
<mspace id="frac8den" width="15px" height="15px" mathbackground="green"/> <mspace id="frac8den" width="15px" height="15px" style="background: green"/>
</mfrac> </mfrac>
<mfrac id="frac9" linethickness="0px"> <mfrac id="frac9" linethickness="0px">
<mspace id="frac9num" width="15px" height="15px" mathbackground="blue"/> <mspace id="frac9num" width="15px" height="15px" style="background: blue"/>
<mspace id="frac9den" width="15px" height="30px" mathbackground="green"/> <mspace id="frac9den" width="15px" height="30px" style="background: green"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -133,11 +133,12 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: axisheight7000-rulethickness1000;"> <math style="font-family: axisheight7000-rulethickness1000;">
<mspace id="ref0001" depth="1em" width="3em" mathbackground="green"/> <mspace id="ref0001" depth="1em" width="3em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em" height="1em" id="num0001" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0001" style="background: blue"/>
<mspace width="3em"/> <mspace width="3em"/>
</mfrac> </mfrac>
</math> </math>
@ -146,20 +147,20 @@
<p> <p>
<math display="block" style="font-family: denominatordisplaystylegapmin5000-rulethickness1000;"> <math display="block" style="font-family: denominatordisplaystylegapmin5000-rulethickness1000;">
<mspace id="ref0002" width="3em" <mspace id="ref0002" width="3em"
height=".5em" depth=".5em" mathbackground="green"/> height=".5em" depth=".5em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em"/> <mspace width="3em"/>
<mspace width="3em" height="1em" id="den0002" mathbackground="blue"/> <mspace width="3em" height="1em" id="den0002" style="background: blue"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math display="block" style="font-family: denominatordisplaystyleshiftdown6000-rulethickness1000;"> <math display="block" style="font-family: denominatordisplaystyleshiftdown6000-rulethickness1000;">
<mspace id="ref0003" width="3em" height="1em" mathbackground="green"/> <mspace id="ref0003" width="3em" height="1em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em"/> <mspace width="3em"/>
<mspace width="3em" depth="1em" id="den0003" mathbackground="blue"/> <mspace width="3em" depth="1em" id="den0003" style="background: blue"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
@ -167,20 +168,20 @@
<p> <p>
<math style="font-family: denominatorgapmin4000-rulethickness1000;"> <math style="font-family: denominatorgapmin4000-rulethickness1000;">
<mspace id="ref0004" width="3em" <mspace id="ref0004" width="3em"
height=".5em" depth=".5em" mathbackground="green"/> height=".5em" depth=".5em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em"/> <mspace width="3em"/>
<mspace width="3em" height="1em" id="den0004" mathbackground="blue"/> <mspace width="3em" height="1em" id="den0004" style="background: blue"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: denominatorshiftdown3000-rulethickness1000;"> <math style="font-family: denominatorshiftdown3000-rulethickness1000;">
<mspace id="ref0005" width="3em" height="1em" mathbackground="green"/> <mspace id="ref0005" width="3em" height="1em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em"/> <mspace width="3em"/>
<mspace width="3em" depth="1em" id="den0005" mathbackground="blue"/> <mspace width="3em" depth="1em" id="den0005" style="background: blue"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
@ -188,9 +189,9 @@
<p> <p>
<math display="block" style="font-family: numeratordisplaystylegapmin8000-rulethickness1000;"> <math display="block" style="font-family: numeratordisplaystylegapmin8000-rulethickness1000;">
<mspace id="ref0006" width="3em" <mspace id="ref0006" width="3em"
height=".5em" depth=".5em" mathbackground="green"/> height=".5em" depth=".5em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em" depth="1em" id="num0006" mathbackground="blue"/> <mspace width="3em" depth="1em" id="num0006" style="background: blue"/>
<mspace width="3em"/> <mspace width="3em"/>
</mfrac> </mfrac>
</math> </math>
@ -199,9 +200,9 @@
<p> <p>
<math display="block" style="font-family: numeratordisplaystyleshiftup2000-rulethickness1000;"> <math display="block" style="font-family: numeratordisplaystyleshiftup2000-rulethickness1000;">
<mspace id="ref0007" width="3em" <mspace id="ref0007" width="3em"
depth="1em" mathbackground="green"/> depth="1em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em" height="1em" id="num0007" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0007" style="background: blue"/>
<mspace width="3em"/> <mspace width="3em"/>
</mfrac> </mfrac>
</math> </math>
@ -210,9 +211,9 @@
<p> <p>
<math style="font-family: numeratorgapmin9000-rulethickness1000;"> <math style="font-family: numeratorgapmin9000-rulethickness1000;">
<mspace id="ref0008" width="3em" <mspace id="ref0008" width="3em"
height=".5em" depth=".5em" mathbackground="green"/> height=".5em" depth=".5em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em" depth="1em" id="num0008" mathbackground="blue"/> <mspace width="3em" depth="1em" id="num0008" style="background: blue"/>
<mspace width="3em"/> <mspace width="3em"/>
</mfrac> </mfrac>
</math> </math>
@ -221,9 +222,9 @@
<p> <p>
<math style="font-family: numeratorshiftup11000-rulethickness1000;"> <math style="font-family: numeratorshiftup11000-rulethickness1000;">
<mspace id="ref0009" width="3em" <mspace id="ref0009" width="3em"
depth="1em" mathbackground="green"/> depth="1em" style="background: green"/>
<mfrac> <mfrac>
<mspace width="3em" height="1em" id="num0009" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0009" style="background: blue"/>
<mspace width="3em"/> <mspace width="3em"/>
</mfrac> </mfrac>
</math> </math>
@ -232,11 +233,10 @@
<p> <p>
<math style="font-family: rulethickness10000"> <math style="font-family: rulethickness10000">
<mfrac> <mfrac>
<mspace width="3em" height="1em" id="num0010" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0010" style="background: blue"/>
<mspace width="3em" depth="1em" id="den0010" mathbackground="green"/> <mspace width="3em" depth="1em" id="den0010" style="background: green"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -102,11 +102,12 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: axisheight7000;"> <math style="font-family: axisheight7000;">
<mspace id="ref0001" depth="1em" width="3em" mathbackground="green"/> <mspace id="ref0001" depth="1em" width="3em" style="background: green"/>
<mfrac linethickness="0px"> <mfrac linethickness="0px">
<mspace width="3em" height="1em" id="num0001" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0001" style="background: blue"/>
<mspace width="3em"/> <mspace width="3em"/>
</mfrac> </mfrac>
</math> </math>
@ -114,20 +115,20 @@
<hr/> <hr/>
<p> <p>
<math display="block" style="font-family: bottomdisplaystyleshiftdown5000;"> <math display="block" style="font-family: bottomdisplaystyleshiftdown5000;">
<mspace id="ref0002" width="3em" height="1em" mathbackground="green"/> <mspace id="ref0002" width="3em" height="1em" style="background: green"/>
<mfrac linethickness="0px"> <mfrac linethickness="0px">
<mspace width="3em"/> <mspace width="3em"/>
<mspace width="3em" depth="1em" id="den0002" mathbackground="blue"/> <mspace width="3em" depth="1em" id="den0002" style="background: blue"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: bottomshiftdown6000;"> <math style="font-family: bottomshiftdown6000;">
<mspace id="ref0003" width="3em" height="1em" mathbackground="green"/> <mspace id="ref0003" width="3em" height="1em" style="background: green"/>
<mfrac linethickness="0px"> <mfrac linethickness="0px">
<mspace width="3em"/> <mspace width="3em"/>
<mspace width="3em" depth="1em" id="den0003" mathbackground="blue"/> <mspace width="3em" depth="1em" id="den0003" style="background: blue"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
@ -135,8 +136,8 @@
<p> <p>
<math display="block" style="font-family: displaystylegapmin4000;"> <math display="block" style="font-family: displaystylegapmin4000;">
<mfrac linethickness="0px"> <mfrac linethickness="0px">
<mspace width="3em" height="1em" id="num0004" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0004" style="background: blue"/>
<mspace width="3em" depth="1em" id="den0004" mathbackground="green"/> <mspace width="3em" depth="1em" id="den0004" style="background: green"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
@ -144,17 +145,17 @@
<p> <p>
<math style="font-family: gapmin8000;"> <math style="font-family: gapmin8000;">
<mfrac linethickness="0px"> <mfrac linethickness="0px">
<mspace width="3em" height="1em" id="num0005" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0005" style="background: blue"/>
<mspace width="3em" depth="1em" id="den0005" mathbackground="green"/> <mspace width="3em" depth="1em" id="den0005" style="background: green"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math display="block" style="font-family: topdisplaystyleshiftup3000;"> <math display="block" style="font-family: topdisplaystyleshiftup3000;">
<mspace id="ref0006" width="3em" depth="1em" mathbackground="green"/> <mspace id="ref0006" width="3em" depth="1em" style="background: green"/>
<mfrac linethickness="0px"> <mfrac linethickness="0px">
<mspace width="3em" height="1em" id="num0006" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0006" style="background: blue"/>
<mspace width="3em"/> <mspace width="3em"/>
</mfrac> </mfrac>
</math> </math>
@ -162,13 +163,12 @@
<hr/> <hr/>
<p> <p>
<math style="font-family: topshiftup9000;"> <math style="font-family: topshiftup9000;">
<mspace id="ref0007" width="3em" depth="1em" mathbackground="green"/> <mspace id="ref0007" width="3em" depth="1em" style="background: green"/>
<mfrac linethickness="0px"> <mfrac linethickness="0px">
<mspace width="3em" height="1em" id="num0007" mathbackground="blue"/> <mspace width="3em" height="1em" id="num0007" style="background: blue"/>
<mspace width="3em"/> <mspace width="3em"/>
</mfrac> </mfrac>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -55,23 +55,23 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: axisheight5000-verticalarrow14000;"> <math style="font-family: axisheight5000-verticalarrow14000;">
<mrow> <mrow>
<mspace id="baseline1" mathbackground="blue" width="50px" height="1px"/> <mspace id="baseline1" style="background: blue" width="50px" height="1px"/>
<mpadded voffset="50px"><mspace mathbackground="cyan" width="50px" height="1px"/></mpadded> <mpadded voffset="50px"><mspace style="background: cyan" width="50px" height="1px"/></mpadded>
<mo id="mo1" symmetric="true" mathcolor="green">&#x21A8;</mo> <mo id="mo1" symmetric="true" style="color: green">&#x21A8;</mo>
<mspace mathbackground="gray" width="10px" height="50px"/> <mspace style="background: gray" width="10px" height="50px"/>
</mrow> </mrow>
</math> </math>
<math style="font-family: axisheight5000-verticalarrow14000;"> <math style="font-family: axisheight5000-verticalarrow14000;">
<mrow> <mrow>
<mspace id="baseline2" mathbackground="blue" width="50px" height="1px"/> <mspace id="baseline2" style="background: blue" width="50px" height="1px"/>
<mpadded voffset="50px"><mspace mathbackground="cyan" width="50px" height="1px"/></mpadded> <mpadded voffset="50px"><mspace style="background: cyan" width="50px" height="1px"/></mpadded>
<mo id="mo2" symmetric="true" mathcolor="green">&#x21A8;</mo> <mo id="mo2" symmetric="true" style="color: green">&#x21A8;</mo>
<mspace id="target2" mathbackground="gray" width="10px" height="200px"/> <mspace id="target2" style="background: gray" width="10px" height="200px"/>
</mrow> </mrow>
</math> </math>
</p>
</body> </body>
</html> </html>

View file

@ -129,12 +129,13 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: degreebottomraisepercent25-rulethickness1000;"> <math style="font-family: degreebottomraisepercent25-rulethickness1000;">
<mspace id="ref001" width="3em" depth="1em" mathbackground="green"/> <mspace id="ref001" width="3em" depth="1em" style="background: green"/>
<mroot> <mroot>
<mspace id="base001" width="3em" height="10em" mathbackground="green"/> <mspace id="base001" width="3em" height="10em" style="background: green"/>
<mspace id="index001" width="3em" height="1em" mathbackground="blue"/> <mspace id="index001" width="3em" height="1em" style="background: blue"/>
</mroot> </mroot>
</math> </math>
</p> </p>
@ -142,24 +143,24 @@
<p> <p>
<math display="block" <math display="block"
style="font-family: displaystyleverticalgap7000-rulethickness1000;"> style="font-family: displaystyleverticalgap7000-rulethickness1000;">
<msqrt mathbackground="green" id="radical0021"> <msqrt style="background: green" id="radical0021">
<mspace id="base0021" width="3em" height="1em" mathbackground="blue"/> <mspace id="base0021" width="3em" height="1em" style="background: blue"/>
</msqrt> </msqrt>
<mroot mathbackground="green" id="radical0022"> <mroot style="background: green" id="radical0022">
<mspace id="base0022" width="3em" height="1em" mathbackground="blue"/> <mspace id="base0022" width="3em" height="1em" style="background: blue"/>
<mspace width="3em" height="1em" mathbackground="black"/> <mspace width="3em" height="1em" style="background: black"/>
</mroot> </mroot>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: extraascender3000-rulethickness1000;"> <math style="font-family: extraascender3000-rulethickness1000;">
<msqrt mathbackground="green" id="radical0031"> <msqrt style="background: green" id="radical0031">
<mspace id="base0031" width="3em" height="1em" mathbackground="blue"/> <mspace id="base0031" width="3em" height="1em" style="background: blue"/>
</msqrt> </msqrt>
<mroot mathbackground="green" id="radical0032"> <mroot style="background: green" id="radical0032">
<mspace id="base0032" width="3em" height="1em" mathbackground="blue"/> <mspace id="base0032" width="3em" height="1em" style="background: blue"/>
<mspace width="3em" height="1em" mathbackground="black"/> <mspace width="3em" height="1em" style="background: black"/>
</mroot> </mroot>
</math> </math>
</p> </p>
@ -167,43 +168,42 @@
<p> <p>
<math style="font-family: kernafterdegreeminus5000-rulethickness1000;"> <math style="font-family: kernafterdegreeminus5000-rulethickness1000;">
<mroot> <mroot>
<mspace id="base004" width="3em" height="2em" mathbackground="blue"/> <mspace id="base004" width="3em" height="2em" style="background: blue"/>
<mspace id="index004" width="7em" height="1em" mathbackground="green"/> <mspace id="index004" width="7em" height="1em" style="background: green"/>
</mroot> </mroot>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: kernbeforedegree4000-rulethickness1000;"> <math style="font-family: kernbeforedegree4000-rulethickness1000;">
<mroot id="radical005" mathbackground="blue"> <mroot id="radical005" style="background: blue">
<mspace width="3em" height="1em"/> <mspace width="3em" height="1em"/>
<mspace id="index005" width="3em" height="1em" mathbackground="green"/> <mspace id="index005" width="3em" height="1em" style="background: green"/>
</mroot> </mroot>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: rulethickness8000;"> <math style="font-family: rulethickness8000;">
<msqrt mathbackground="green" id="radical0061"> <msqrt style="background: green" id="radical0061">
<mspace id="base0061" width="3em" height="1em" mathbackground="blue"/> <mspace id="base0061" width="3em" height="1em" style="background: blue"/>
</msqrt> </msqrt>
<mroot mathbackground="green" id="radical0062"> <mroot style="background: green" id="radical0062">
<mspace id="base0062" width="3em" height="1em" mathbackground="blue"/> <mspace id="base0062" width="3em" height="1em" style="background: blue"/>
<mspace width="3em" height="1em" mathbackground="black"/> <mspace width="3em" height="1em" style="background: black"/>
</mroot> </mroot>
</math> </math>
</p> </p>
<p> <p>
<math style="font-family: verticalgap6000-rulethickness1000;"> <math style="font-family: verticalgap6000-rulethickness1000;">
<msqrt mathbackground="green" id="radical0071"> <msqrt style="background: green" id="radical0071">
<mspace id="base0071" width="3em" height="1em" mathbackground="blue"/> <mspace id="base0071" width="3em" height="1em" style="background: blue"/>
</msqrt> </msqrt>
<mroot mathbackground="green" id="radical0072"> <mroot style="background: green" id="radical0072">
<mspace id="base0072" width="3em" height="1em" mathbackground="blue"/> <mspace id="base0072" width="3em" height="1em" style="background: blue"/>
<mspace width="3em" height="1em" mathbackground="black"/> <mspace width="3em" height="1em" style="background: black"/>
</mroot> </mroot>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -81,24 +81,24 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math> <math>
<mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/> <mspace id="baseline" width="30px" height="2px" depth="0px" style="background: blue"/>
<msub id="msub" mathbackground="green"> <msub id="msub" style="background: green">
<mspace id="msubBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msubBase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="msubSub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubSub" width="10px" height="5px" depth="5px" style="background: black"/>
</msub> </msub>
<msup id="msup" mathbackground="blue"> <msup id="msup" style="background: blue">
<mspace id="msupBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msupBase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="msupSup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msupSup" width="10px" height="5px" depth="5px" style="background: black"/>
</msup> </msup>
<msubsup id="msubsup" mathbackground="green"> <msubsup id="msubsup" style="background: green">
<mspace id="msubsupBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msubsupBase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="msubsupSub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsupSub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="msubsupSup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsupSup" width="10px" height="5px" depth="5px" style="background: black"/>
</msubsup> </msubsup>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -120,44 +120,44 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math> <math>
<mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/> <mspace id="baseline" width="30px" height="2px" depth="0px" style="background: blue"/>
<mmultiscripts id="msub" mathbackground="green"> <mmultiscripts id="msub" style="background: green">
<mspace id="msubBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msubBase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="msubSub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubSub" width="10px" height="5px" depth="5px" style="background: black"/>
<none/> <none/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="msup" mathbackground="green"> <mmultiscripts id="msup" style="background: green">
<mspace id="msupBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msupBase" width="30px" height="15px" depth="15px" style="background: black"/>
<none/> <none/>
<mspace id="msupSup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msupSup" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="msubsup" mathbackground="green"> <mmultiscripts id="msubsup" style="background: green">
<mspace id="msubsupBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msubsupBase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="msubsupSub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsupSub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="msubsupSup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsupSup" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="premsub" mathbackground="green"> <mmultiscripts id="premsub" style="background: green">
<mspace id="premsubBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="premsubBase" width="30px" height="15px" depth="15px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="premsubSub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="premsubSub" width="10px" height="5px" depth="5px" style="background: black"/>
<none/> <none/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="premsup" mathbackground="green"> <mmultiscripts id="premsup" style="background: green">
<mspace id="premsupBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="premsupBase" width="30px" height="15px" depth="15px" style="background: black"/>
<mprescripts/> <mprescripts/>
<none/> <none/>
<mspace id="premsupSup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="premsupSup" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="premsubsup" mathbackground="green"> <mmultiscripts id="premsubsup" style="background: green">
<mspace id="premsubsupBase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="premsubsupBase" width="30px" height="15px" depth="15px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="premsubsupSub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="premsubsupSub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="premsubsupSup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="premsubsupSup" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -107,74 +107,74 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math> <math>
<mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/> <mspace id="baseline" width="30px" height="2px" depth="0px" style="background: blue"/>
<mmultiscripts id="multi0" mathbackground="green"> <mmultiscripts id="multi0" style="background: green">
<mspace id="multi0base" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="multi0base" width="30px" height="15px" depth="15px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="multi1" mathbackground="green"> <mmultiscripts id="multi1" style="background: green">
<mspace id="multi1base" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="multi1base" width="30px" height="15px" depth="15px" style="background: black"/>
<mprescripts/> <mprescripts/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="multi2" mathbackground="green"> <mmultiscripts id="multi2" style="background: green">
<mspace id="multi2base" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="multi2base" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="multi2postsub1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi2postsub1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi2postsup1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi2postsup1" width="10px" height="5px" depth="5px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="multi2presub1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi2presub1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi2presup1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi2presup1" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="multi3" mathbackground="green"> <mmultiscripts id="multi3" style="background: green">
<mspace id="multi3base" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="multi3base" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="multi3postsub1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi3postsub1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi3postsup1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi3postsup1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi3postsub2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi3postsub2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi3postsup2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi3postsup2" width="10px" height="5px" depth="5px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="multi3presub1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi3presub1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi3presup1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi3presup1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi3presub2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi3presub2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi3presup2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi3presup2" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="multi4" mathbackground="green"> <mmultiscripts id="multi4" style="background: green">
<mspace id="multi4base" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="multi4base" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="multi4postsub1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4postsub1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4postsup1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4postsup1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4postsub2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4postsub2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4postsup2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4postsup2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4postsub3" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4postsub3" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4postsup3" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4postsup3" width="10px" height="5px" depth="5px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="multi4presub1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4presub1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4presup1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4presup1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4presub2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4presub2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4presup2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4presup2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4presub3" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4presub3" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi4presup3" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi4presup3" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<mmultiscripts id="multi5" mathbackground="green"> <mmultiscripts id="multi5" style="background: green">
<mspace id="multi5base" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="multi5base" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="multi5postsub1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5postsub1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5postsup1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5postsup1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5postsub2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5postsub2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5postsup2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5postsup2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5postsub3" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5postsub3" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5postsup3" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5postsup3" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5postsub4" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5postsub4" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5postsup4" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5postsup4" width="10px" height="5px" depth="5px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="multi5presub1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5presub1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5presup1" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5presup1" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5presub2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5presub2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5presup2" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5presup2" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5presub3" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5presub3" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5presup3" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5presup3" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5presub4" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5presub4" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi5presup4" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi5presup4" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -51,74 +51,74 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math> <math>
<mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/> <mspace id="baseline" width="30px" height="2px" depth="0px" style="background: blue"/>
<msub id="msub50"> <msub id="msub50">
<mspace id="msub50base" width="30px" height="50px" depth="50px" mathbackground="black"/> <mspace id="msub50base" width="30px" height="50px" depth="50px" style="background: black"/>
<mspace id="msub50sub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msub50sub" width="10px" height="5px" depth="5px" style="background: black"/>
</msub> </msub>
<msup id="msup50"> <msup id="msup50">
<mspace id="msup50base" width="30px" height="50px" depth="50px" mathbackground="black"/> <mspace id="msup50base" width="30px" height="50px" depth="50px" style="background: black"/>
<mspace id="msup50sup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msup50sup" width="10px" height="5px" depth="5px" style="background: black"/>
</msup> </msup>
<msubsup id="msubsup50"> <msubsup id="msubsup50">
<mspace id="msubsup50base" width="30px" height="50px" depth="50px" mathbackground="black"/> <mspace id="msubsup50base" width="30px" height="50px" depth="50px" style="background: black"/>
<mspace id="msubsup50sub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsup50sub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="msubsup50sup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsup50sup" width="10px" height="5px" depth="5px" style="background: black"/>
</msubsup> </msubsup>
<mmultiscripts id="multi50"> <mmultiscripts id="multi50">
<mspace id="multi50base" width="30px" height="50px" depth="50px" mathbackground="black"/> <mspace id="multi50base" width="30px" height="50px" depth="50px" style="background: black"/>
<mspace id="multi50postsub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi50postsub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi50postsup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi50postsup" width="10px" height="5px" depth="5px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="multi50presub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi50presub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi50presup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi50presup" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<msub id="msub75"> <msub id="msub75">
<mspace id="msub75base" width="30px" height="75px" depth="75px" mathbackground="black"/> <mspace id="msub75base" width="30px" height="75px" depth="75px" style="background: black"/>
<mspace id="msub75sub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msub75sub" width="10px" height="5px" depth="5px" style="background: black"/>
</msub> </msub>
<msup id="msup75"> <msup id="msup75">
<mspace id="msup75base" width="30px" height="75px" depth="75px" mathbackground="black"/> <mspace id="msup75base" width="30px" height="75px" depth="75px" style="background: black"/>
<mspace id="msup75sup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msup75sup" width="10px" height="5px" depth="5px" style="background: black"/>
</msup> </msup>
<msubsup id="msubsup75"> <msubsup id="msubsup75">
<mspace id="msubsup75base" width="30px" height="75px" depth="75px" mathbackground="black"/> <mspace id="msubsup75base" width="30px" height="75px" depth="75px" style="background: black"/>
<mspace id="msubsup75sub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsup75sub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="msubsup75sup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsup75sup" width="10px" height="5px" depth="5px" style="background: black"/>
</msubsup> </msubsup>
<mmultiscripts id="multi75"> <mmultiscripts id="multi75">
<mspace id="multi75base" width="30px" height="75px" depth="75px" mathbackground="black"/> <mspace id="multi75base" width="30px" height="75px" depth="75px" style="background: black"/>
<mspace id="multi75postsub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi75postsub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi75postsup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi75postsup" width="10px" height="5px" depth="5px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="multi75presub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi75presub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi75presub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi75presub" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
<msub id="msub100"> <msub id="msub100">
<mspace id="msub100base" width="30px" height="100px" depth="100px" mathbackground="black"/> <mspace id="msub100base" width="30px" height="100px" depth="100px" style="background: black"/>
<mspace id="msub100sub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msub100sub" width="10px" height="5px" depth="5px" style="background: black"/>
</msub> </msub>
<msup id="msup100"> <msup id="msup100">
<mspace id="msup100base" width="30px" height="100px" depth="100px" mathbackground="black"/> <mspace id="msup100base" width="30px" height="100px" depth="100px" style="background: black"/>
<mspace id="msup100sup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msup100sup" width="10px" height="5px" depth="5px" style="background: black"/>
</msup> </msup>
<msubsup id="msubsup100"> <msubsup id="msubsup100">
<mspace id="msubsup100base" width="30px" height="100px" depth="100px" mathbackground="black"/> <mspace id="msubsup100base" width="30px" height="100px" depth="100px" style="background: black"/>
<mspace id="msubsup100sub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsup100sub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="msubsup100sup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="msubsup100sup" width="10px" height="5px" depth="5px" style="background: black"/>
</msubsup> </msubsup>
<mmultiscripts id="multi100"> <mmultiscripts id="multi100">
<mspace id="multi100base" width="30px" height="100px" depth="100px" mathbackground="black"/> <mspace id="multi100base" width="30px" height="100px" depth="100px" style="background: black"/>
<mspace id="multi100postsub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi100postsub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi100postsup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi100postsup" width="10px" height="5px" depth="5px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="multi100presub" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi100presub" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="multi100presup" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="multi100presup" width="10px" height="5px" depth="5px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -59,32 +59,32 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math> <math>
<mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/> <mspace id="baseline" width="30px" height="2px" depth="0px" style="background: blue"/>
<msub id="msub"> <msub id="msub">
<mspace id="msubbase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msubbase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="msubsub" width="10px" height="50px" depth="50px" mathbackground="black"/> <mspace id="msubsub" width="10px" height="50px" depth="50px" style="background: black"/>
</msub> </msub>
<msup id="msup"> <msup id="msup">
<mspace id="msupbase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msupbase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="msupsup" width="10px" height="75px" depth="75px" mathbackground="black"/> <mspace id="msupsup" width="10px" height="75px" depth="75px" style="background: black"/>
</msup> </msup>
<msubsup id="msubsup"> <msubsup id="msubsup">
<mspace id="msubsupbase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="msubsupbase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="msubsupsub" width="10px" height="50px" depth="50px" mathbackground="black"/> <mspace id="msubsupsub" width="10px" height="50px" depth="50px" style="background: black"/>
<mspace id="msubsupsup" width="10px" height="75px" depth="75px" mathbackground="black"/> <mspace id="msubsupsup" width="10px" height="75px" depth="75px" style="background: black"/>
</msubsup> </msubsup>
<mmultiscripts id="multi"> <mmultiscripts id="multi">
<mspace id="multibase" width="30px" height="15px" depth="15px" mathbackground="black"/> <mspace id="multibase" width="30px" height="15px" depth="15px" style="background: black"/>
<mspace id="multipostsub" width="10px" height="50px" depth="50px" mathbackground="black"/> <mspace id="multipostsub" width="10px" height="50px" depth="50px" style="background: black"/>
<mspace id="multipostsup" width="10px" height="75px" depth="75px" mathbackground="black"/> <mspace id="multipostsup" width="10px" height="75px" depth="75px" style="background: black"/>
<mprescripts/> <mprescripts/>
<mspace id="multipresub" width="10px" height="50px" depth="50px" mathbackground="black"/> <mspace id="multipresub" width="10px" height="50px" depth="50px" style="background: black"/>
<mspace id="multipresup" width="10px" height="75px" depth="75px" mathbackground="black"/> <mspace id="multipresup" width="10px" height="75px" depth="75px" style="background: black"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -143,63 +143,64 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: spaceafterscript3000;"> <math style="font-family: spaceafterscript3000;">
<msub> <msub>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sub001" height="1em" width="1em" mathbackground="red"/> <mspace id="sub001" height="1em" width="1em" style="background: red"/>
</msub> </msub>
<mspace id="ref001" height="1em" width="1em" mathbackground="green"/> <mspace id="ref001" height="1em" width="1em" style="background: green"/>
</math> </math>
<math style="font-family: spaceafterscript3000;"> <math style="font-family: spaceafterscript3000;">
<msup> <msup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sup002" height="1em" width="1em" mathbackground="red"/> <mspace id="sup002" height="1em" width="1em" style="background: red"/>
</msup> </msup>
<mspace id="ref002" height="1em" width="1em" mathbackground="green"/> <mspace id="ref002" height="1em" width="1em" style="background: green"/>
</math> </math>
<math style="font-family: spaceafterscript3000;"> <math style="font-family: spaceafterscript3000;">
<msubsup> <msubsup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace/> <mspace/>
<mspace id="sup003" height="1em" width="1em" mathbackground="red"/> <mspace id="sup003" height="1em" width="1em" style="background: red"/>
</msubsup> </msubsup>
<mspace id="ref003" height="1em" width="1em" mathbackground="green"/> <mspace id="ref003" height="1em" width="1em" style="background: green"/>
</math> </math>
<math style="font-family: spaceafterscript3000;"> <math style="font-family: spaceafterscript3000;">
<mmultiscripts> <mmultiscripts>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<none/> <none/>
<mspace id="sup0041" height="1em" width="1em" mathbackground="red"/> <mspace id="sup0041" height="1em" width="1em" style="background: red"/>
<none/> <none/>
<mspace id="sup0042" height="1em" width="1em" mathbackground="red"/> <mspace id="sup0042" height="1em" width="1em" style="background: red"/>
<none/> <none/>
<mspace id="sup0043" height="1em" width="1em" mathbackground="red"/> <mspace id="sup0043" height="1em" width="1em" style="background: red"/>
</mmultiscripts> </mmultiscripts>
<mspace id="ref004" height="1em" width="1em" mathbackground="green"/> <mspace id="ref004" height="1em" width="1em" style="background: green"/>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: superscriptshiftup7000;"> <math style="font-family: superscriptshiftup7000;">
<mspace id="ref101" height="1em" width="1em" mathbackground="green"/> <mspace id="ref101" height="1em" width="1em" style="background: green"/>
<msup> <msup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sup102" height="1em" width="1em" mathbackground="red"/> <mspace id="sup102" height="1em" width="1em" style="background: red"/>
</msup> </msup>
<msubsup> <msubsup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace height="1em" width="1em" mathbackground="red"/> <mspace height="1em" width="1em" style="background: red"/>
<mspace id="sup103" height="1em" width="1em" mathbackground="red"/> <mspace id="sup103" height="1em" width="1em" style="background: red"/>
</msubsup> </msubsup>
<mmultiscripts> <mmultiscripts>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<none/> <none/>
<mspace id="sup1041" height="1em" width="1em" mathbackground="red"/> <mspace id="sup1041" height="1em" width="1em" style="background: red"/>
<none/> <none/>
<mspace id="sup1042" height="1em" width="1em" mathbackground="red"/> <mspace id="sup1042" height="1em" width="1em" style="background: red"/>
<none/> <none/>
<mspace id="sup1043" height="1em" width="1em" mathbackground="red"/> <mspace id="sup1043" height="1em" width="1em" style="background: red"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>
@ -207,24 +208,24 @@
<p> <p>
<math style="font-family: superscriptshiftupcramped5000;"> <math style="font-family: superscriptshiftupcramped5000;">
<msqrt> <msqrt>
<mspace id="ref201" height="1em" width="1em" mathbackground="green"/> <mspace id="ref201" height="1em" width="1em" style="background: green"/>
<msup> <msup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sup202" height="1em" width="1em" mathbackground="red"/> <mspace id="sup202" height="1em" width="1em" style="background: red"/>
</msup> </msup>
<msubsup> <msubsup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace height="1em" width="1em" mathbackground="blue"/> <mspace height="1em" width="1em" style="background: blue"/>
<mspace id="sup203" height="1em" width="1em" mathbackground="red"/> <mspace id="sup203" height="1em" width="1em" style="background: red"/>
</msubsup> </msubsup>
<mmultiscripts> <mmultiscripts>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<none/> <none/>
<mspace id="sup2041" height="1em" width="1em" mathbackground="red"/> <mspace id="sup2041" height="1em" width="1em" style="background: red"/>
<none/> <none/>
<mspace id="sup2042" height="1em" width="1em" mathbackground="red"/> <mspace id="sup2042" height="1em" width="1em" style="background: red"/>
<none/> <none/>
<mspace id="sup2043" height="1em" width="1em" mathbackground="red"/> <mspace id="sup2043" height="1em" width="1em" style="background: red"/>
</mmultiscripts> </mmultiscripts>
</msqrt> </msqrt>
</math> </math>
@ -232,21 +233,21 @@
<hr/> <hr/>
<p> <p>
<math style="font-family: subscriptshiftdown6000;"> <math style="font-family: subscriptshiftdown6000;">
<mspace id="ref300" height="1em" width="1em" mathbackground="green"/> <mspace id="ref300" height="1em" width="1em" style="background: green"/>
<msub> <msub>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sub301" height="1em" width="1em" mathbackground="red"/> <mspace id="sub301" height="1em" width="1em" style="background: red"/>
</msub> </msub>
<msubsup> <msubsup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sub302" height="1em" width="1em" mathbackground="red"/> <mspace id="sub302" height="1em" width="1em" style="background: red"/>
<mspace height="1em" width="1em" mathbackground="blue"/> <mspace height="1em" width="1em" style="background: blue"/>
</msubsup> </msubsup>
<mmultiscripts> <mmultiscripts>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sub303" height="1em" width="1em" mathbackground="red"/> <mspace id="sub303" height="1em" width="1em" style="background: red"/>
<none/> <none/>
<mspace id="sub304" height="1em" width="1em" mathbackground="red"/> <mspace id="sub304" height="1em" width="1em" style="background: red"/>
<none/> <none/>
</mmultiscripts> </mmultiscripts>
</math> </math>
@ -255,34 +256,34 @@
<p> <p>
<math style="font-family: subsuperscriptgapmin11000;"> <math style="font-family: subsuperscriptgapmin11000;">
<msubsup> <msubsup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sub4011" height="1em" width="1em" mathbackground="red"/> <mspace id="sub4011" height="1em" width="1em" style="background: red"/>
<mspace id="sup4012" height="1em" width="1em" mathbackground="red"/> <mspace id="sup4012" height="1em" width="1em" style="background: red"/>
</msubsup> </msubsup>
<mmultiscripts> <mmultiscripts>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<none/> <none/>
<none/> <none/>
<mspace id="sub4021" height="1em" width="1em" mathbackground="red"/> <mspace id="sub4021" height="1em" width="1em" style="background: red"/>
<mspace id="sup4022" height="1em" width="1em" mathbackground="red"/> <mspace id="sup4022" height="1em" width="1em" style="background: red"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: subsuperscriptgapmin11000superscriptbottommaxwithsubscript3000;"> <math style="font-family: subsuperscriptgapmin11000superscriptbottommaxwithsubscript3000;">
<mspace id="ref500" height="1em" width="1em" mathbackground="green"/> <mspace id="ref500" height="1em" width="1em" style="background: green"/>
<msubsup> <msubsup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sub501" height="1em" width="1em" mathbackground="red"/> <mspace id="sub501" height="1em" width="1em" style="background: red"/>
<mspace id="sup501" height="1em" width="1em" mathbackground="red"/> <mspace id="sup501" height="1em" width="1em" style="background: red"/>
</msubsup> </msubsup>
<mmultiscripts> <mmultiscripts>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<none/> <none/>
<none/> <none/>
<mspace id="sub502" height="1em" width="1em" mathbackground="red"/> <mspace id="sub502" height="1em" width="1em" style="background: red"/>
<mspace id="sup502" height="1em" width="1em" mathbackground="red"/> <mspace id="sup502" height="1em" width="1em" style="background: red"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>
@ -290,11 +291,11 @@
<p> <p>
<math style="font-family: subscripttopmax4000;"> <math style="font-family: subscripttopmax4000;">
<mspace id="ref600" height="1em" <mspace id="ref600" height="1em"
width="1em" mathbackground="green"/> width="1em" style="background: green"/>
<msub> <msub>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sub601" height="10em" <mspace id="sub601" height="10em"
width="1em" mathbackground="red"/> width="1em" style="background: red"/>
</msub> </msub>
</math> </math>
</p> </p>
@ -302,11 +303,11 @@
<p> <p>
<math style="font-family: superscriptbottommin8000;"> <math style="font-family: superscriptbottommin8000;">
<mspace id="ref700" height="1em" <mspace id="ref700" height="1em"
width="1em" mathbackground="green"/> width="1em" style="background: green"/>
<msup> <msup>
<mspace height="2em" width="2em" mathbackground="blue"/> <mspace height="2em" width="2em" style="background: blue"/>
<mspace id="sub701" depth="1em" <mspace id="sub701" depth="1em"
width="1em" mathbackground="red"/> width="1em" style="background: red"/>
</msup> </msup>
</math> </math>
</p> </p>
@ -314,9 +315,9 @@
<p> <p>
<math style="font-family: subscriptbaselinedropmin9000;"> <math style="font-family: subscriptbaselinedropmin9000;">
<msub> <msub>
<mspace id="base801" height="2em" width="2em" mathbackground="blue"/> <mspace id="base801" height="2em" width="2em" style="background: blue"/>
<mspace id="sub801" height="1em" <mspace id="sub801" height="1em"
width="1em" mathbackground="red"/> width="1em" style="background: red"/>
</msub> </msub>
</math> </math>
</p> </p>
@ -324,12 +325,11 @@
<p> <p>
<math style="font-family: superscriptbaselinedropmax10000;"> <math style="font-family: superscriptbaselinedropmax10000;">
<msup> <msup>
<mspace id="base901" height="15em" width="2em" mathbackground="blue"/> <mspace id="base901" height="15em" width="2em" style="background: blue"/>
<mspace id="sup901" height="1em" <mspace id="sup901" height="1em"
width="1em" mathbackground="red"/> width="1em" style="background: red"/>
</msup> </msup>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -69,30 +69,30 @@
<math displaystyle="true" style="font-family: largeop-displayoperatorminheight5000;"> <math displaystyle="true" style="font-family: largeop-displayoperatorminheight5000;">
<msub> <msub>
<mo id="base001" lspace="0px" rspace="0px">&#x2AFF;</mo> <mo id="base001" lspace="0px" rspace="0px">&#x2AFF;</mo>
<mspace id="sub001" height="1em" width="1em" mathbackground="blue"/> <mspace id="sub001" height="1em" width="1em" style="background: blue"/>
</msub> </msub>
</math> </math>
<math displaystyle="true" style="font-family: largeop-displayoperatorminheight5000;"> <math displaystyle="true" style="font-family: largeop-displayoperatorminheight5000;">
<msup> <msup>
<mo id="base002" lspace="0px" rspace="0px">&#x2AFF;</mo> <mo id="base002" lspace="0px" rspace="0px">&#x2AFF;</mo>
<mspace id="sup002" height="1em" width="1em" mathbackground="blue"/> <mspace id="sup002" height="1em" width="1em" style="background: blue"/>
</msup> </msup>
</math> </math>
<math displaystyle="true" style="font-family: largeop-displayoperatorminheight5000;"> <math displaystyle="true" style="font-family: largeop-displayoperatorminheight5000;">
<msubsup> <msubsup>
<mo lspace="0px" rspace="0px">&#x2AFF;</mo> <mo lspace="0px" rspace="0px">&#x2AFF;</mo>
<mspace id="sub003" height="1em" width="1em" mathbackground="blue"/> <mspace id="sub003" height="1em" width="1em" style="background: blue"/>
<mspace id="sup003" height="1em" width="1em" mathbackground="green"/> <mspace id="sup003" height="1em" width="1em" style="background: green"/>
</msubsup> </msubsup>
</math> </math>
<math displaystyle="true" style="font-family: largeop-displayoperatorminheight5000;"> <math displaystyle="true" style="font-family: largeop-displayoperatorminheight5000;">
<mmultiscripts> <mmultiscripts>
<mo lspace="0px" rspace="0px">&#x2AFF;</mo> <mo lspace="0px" rspace="0px">&#x2AFF;</mo>
<mspace id="sub004" height="1em" width="1em" mathbackground="blue"/> <mspace id="sub004" height="1em" width="1em" style="background: blue"/>
<mspace id="sup004" height="1em" width="1em" mathbackground="green"/> <mspace id="sup004" height="1em" width="1em" style="background: green"/>
<mprescripts/> <mprescripts/>
<mspace id="sub005" height="1em" width="1em" mathbackground="magenta"/> <mspace id="sub005" height="1em" width="1em" style="background: magenta"/>
<mspace id="sup005" height="1em" width="1em" mathbackground="cyan"/> <mspace id="sup005" height="1em" width="1em" style="background: cyan"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>
@ -101,30 +101,30 @@
<math displaystyle="true" style="font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000;"> <math displaystyle="true" style="font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000;">
<msub> <msub>
<mo id="base011" lspace="0px" rspace="0px">&#x2AFF;</mo> <mo id="base011" lspace="0px" rspace="0px">&#x2AFF;</mo>
<mspace id="sub011" height="1em" width="1em" mathbackground="blue"/> <mspace id="sub011" height="1em" width="1em" style="background: blue"/>
</msub> </msub>
</math> </math>
<math displaystyle="true" style="font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000;"> <math displaystyle="true" style="font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000;">
<msup> <msup>
<mo id="base012" lspace="0px" rspace="0px">&#x2AFF;</mo> <mo id="base012" lspace="0px" rspace="0px">&#x2AFF;</mo>
<mspace id="sup012" height="1em" width="1em" mathbackground="blue"/> <mspace id="sup012" height="1em" width="1em" style="background: blue"/>
</msup> </msup>
</math> </math>
<math displaystyle="true" style="font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000;"> <math displaystyle="true" style="font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000;">
<msubsup> <msubsup>
<mo lspace="0px" rspace="0px">&#x2AFF;</mo> <mo lspace="0px" rspace="0px">&#x2AFF;</mo>
<mspace id="sub013" height="1em" width="1em" mathbackground="blue"/> <mspace id="sub013" height="1em" width="1em" style="background: blue"/>
<mspace id="sup013" height="1em" width="1em" mathbackground="green"/> <mspace id="sup013" height="1em" width="1em" style="background: green"/>
</msubsup> </msubsup>
</math> </math>
<math displaystyle="true" style="font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000;"> <math displaystyle="true" style="font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000;">
<mmultiscripts> <mmultiscripts>
<mo lspace="0px" rspace="0px">&#x2AFF;</mo> <mo lspace="0px" rspace="0px">&#x2AFF;</mo>
<mspace id="sub014" height="1em" width="1em" mathbackground="blue"/> <mspace id="sub014" height="1em" width="1em" style="background: blue"/>
<mspace id="sup014" height="1em" width="1em" mathbackground="green"/> <mspace id="sup014" height="1em" width="1em" style="background: green"/>
<mprescripts/> <mprescripts/>
<mspace id="sub015" height="1em" width="1em" mathbackground="magenta"/> <mspace id="sub015" height="1em" width="1em" style="background: magenta"/>
<mspace id="sup015" height="1em" width="1em" mathbackground="cyan"/> <mspace id="sup015" height="1em" width="1em" style="background: cyan"/>
</mmultiscripts> </mmultiscripts>
</math> </math>
</p> </p>

View file

@ -89,73 +89,73 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math> <math>
<mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/> <mspace id="baseline" width="30px" height="2px" depth="0px" style="background: blue"/>
<munder id="under0"> <munder id="under0">
<mspace id="under0base" width="30px" height="5px" depth="5px" mathbackground="black"/> <mspace id="under0base" width="30px" height="5px" depth="5px" style="background: black"/>
<mspace id="under0under" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="under0under" width="10px" height="5px" depth="5px" style="background: black"/>
</munder> </munder>
<munder id="under1"> <munder id="under1">
<mspace id="under1base" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="under1base" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="under1under" width="30px" height="5px" depth="5px" mathbackground="black"/> <mspace id="under1under" width="30px" height="5px" depth="5px" style="background: black"/>
</munder> </munder>
<munder id="under2"> <munder id="under2">
<mspace id="under2base" width="10px" height="15px" depth="15px" mathbackground="black"/> <mspace id="under2base" width="10px" height="15px" depth="15px" style="background: black"/>
<mspace id="under2under" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="under2under" width="10px" height="5px" depth="5px" style="background: black"/>
</munder> </munder>
<munder id="under3"> <munder id="under3">
<mspace id="under3base" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="under3base" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="under3under" width="10px" height="15px" depth="15px" mathbackground="black"/> <mspace id="under3under" width="10px" height="15px" depth="15px" style="background: black"/>
</munder> </munder>
<mover id="over0"> <mover id="over0">
<mspace id="over0base" width="30px" height="5px" depth="5px" mathbackground="black"/> <mspace id="over0base" width="30px" height="5px" depth="5px" style="background: black"/>
<mspace id="over0over" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="over0over" width="10px" height="5px" depth="5px" style="background: black"/>
</mover> </mover>
<mover id="over1"> <mover id="over1">
<mspace id="over1base" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="over1base" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="over1over" width="30px" height="5px" depth="5px" mathbackground="black"/> <mspace id="over1over" width="30px" height="5px" depth="5px" style="background: black"/>
</mover> </mover>
<mover id="over2"> <mover id="over2">
<mspace id="over2base" width="10px" height="15px" depth="15px" mathbackground="black"/> <mspace id="over2base" width="10px" height="15px" depth="15px" style="background: black"/>
<mspace id="over2over" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="over2over" width="10px" height="5px" depth="5px" style="background: black"/>
</mover> </mover>
<mover id="over3"> <mover id="over3">
<mspace id="over3base" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="over3base" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="over3over" width="10px" height="15px" depth="15px" mathbackground="black"/> <mspace id="over3over" width="10px" height="15px" depth="15px" style="background: black"/>
</mover> </mover>
<munderover id="underover0"> <munderover id="underover0">
<mspace id="underover0base" width="30px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover0base" width="30px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover0under" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover0under" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover0over" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover0over" width="10px" height="5px" depth="5px" style="background: black"/>
</munderover> </munderover>
<munderover id="underover1"> <munderover id="underover1">
<mspace id="underover1base" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover1base" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover1under" width="30px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover1under" width="30px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover1over" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover1over" width="10px" height="5px" depth="5px" style="background: black"/>
</munderover> </munderover>
<munderover id="underover2"> <munderover id="underover2">
<mspace id="underover2base" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover2base" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover2under" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover2under" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover2over" width="30px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover2over" width="30px" height="5px" depth="5px" style="background: black"/>
</munderover> </munderover>
<munderover id="underover3"> <munderover id="underover3">
<mspace id="underover3base" width="10px" height="15px" depth="15px" mathbackground="black"/> <mspace id="underover3base" width="10px" height="15px" depth="15px" style="background: black"/>
<mspace id="underover3under" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover3under" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover3over" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover3over" width="10px" height="5px" depth="5px" style="background: black"/>
</munderover> </munderover>
<munderover id="underover4"> <munderover id="underover4">
<mspace id="underover4base" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover4base" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover4under" width="10px" height="15px" depth="15px" mathbackground="black"/> <mspace id="underover4under" width="10px" height="15px" depth="15px" style="background: black"/>
<mspace id="underover4over" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover4over" width="10px" height="5px" depth="5px" style="background: black"/>
</munderover> </munderover>
<munderover id="underover5"> <munderover id="underover5">
<mspace id="underover5base" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover5base" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover5under" width="10px" height="5px" depth="5px" mathbackground="black"/> <mspace id="underover5under" width="10px" height="5px" depth="5px" style="background: black"/>
<mspace id="underover5over" width="10px" height="15px" depth="15px" mathbackground="black"/> <mspace id="underover5over" width="10px" height="15px" depth="15px" style="background: black"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -80,65 +80,65 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: lowerlimitbaselinedropmin3000;"> <math style="font-family: lowerlimitbaselinedropmin3000;">
<mspace id="ref0001" height="1em" width="3em" mathbackground="green"/> <mspace id="ref0001" height="1em" width="3em" style="background: green"/>
<munder> <munder>
<mo movablelimits="false">&#x2211;</mo> <mo movablelimits="false">&#x2211;</mo>
<mspace id="under00011" depth="1em" width="3em" mathbackground="blue"/> <mspace id="under00011" depth="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munderover> <munderover>
<mo movablelimits="false">&#x2211;</mo> <mo movablelimits="false">&#x2211;</mo>
<mspace id="under00012" depth="1em" width="3em" mathbackground="blue"/> <mspace id="under00012" depth="1em" width="3em" style="background: blue"/>
<mspace height="1em" width="3em" mathbackground="black"/> <mspace height="1em" width="3em" style="background: black"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: lowerlimitgapmin11000;"> <math style="font-family: lowerlimitgapmin11000;">
<mspace id="ref0002" height="1em" width="3em" mathbackground="green"/> <mspace id="ref0002" height="1em" width="3em" style="background: green"/>
<munder> <munder>
<mo movablelimits="false">&#x2211;</mo> <mo movablelimits="false">&#x2211;</mo>
<mspace id="under00021" depth="1em" width="3em" mathbackground="blue"/> <mspace id="under00021" depth="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munderover> <munderover>
<mo movablelimits="false">&#x2211;</mo> <mo movablelimits="false">&#x2211;</mo>
<mspace id="under00022" depth="1em" width="3em" mathbackground="blue"/> <mspace id="under00022" depth="1em" width="3em" style="background: blue"/>
<mspace height="1em" width="3em" mathbackground="black"/> <mspace height="1em" width="3em" style="background: black"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: upperlimitbaselinerisemin5000;"> <math style="font-family: upperlimitbaselinerisemin5000;">
<mspace id="ref0003" height="1em" width="3em" mathbackground="green"/> <mspace id="ref0003" height="1em" width="3em" style="background: green"/>
<mover> <mover>
<mo movablelimits="false">&#x2211;</mo> <mo movablelimits="false">&#x2211;</mo>
<mspace id="over00031" height="1em" width="3em" mathbackground="blue"/> <mspace id="over00031" height="1em" width="3em" style="background: blue"/>
</mover> </mover>
<munderover> <munderover>
<mo movablelimits="false">&#x2211;</mo> <mo movablelimits="false">&#x2211;</mo>
<mspace height="1em" width="3em" mathbackground="black"/> <mspace height="1em" width="3em" style="background: black"/>
<mspace id="over00032" height="1em" width="3em" mathbackground="blue"/> <mspace id="over00032" height="1em" width="3em" style="background: blue"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: upperlimitgapmin7000;"> <math style="font-family: upperlimitgapmin7000;">
<mspace id="ref0004" height="1em" width="3em" mathbackground="green"/> <mspace id="ref0004" height="1em" width="3em" style="background: green"/>
<mover> <mover>
<mo movablelimits="false">&#x2211;</mo> <mo movablelimits="false">&#x2211;</mo>
<mspace id="over00041" depth="1em" width="3em" mathbackground="blue"/> <mspace id="over00041" depth="1em" width="3em" style="background: blue"/>
</mover> </mover>
<munderover> <munderover>
<mo movablelimits="false">&#x2211;</mo> <mo movablelimits="false">&#x2211;</mo>
<mspace height="1em" width="3em" mathbackground="black"/> <mspace height="1em" width="3em" style="background: black"/>
<mspace id="over00042" depth="1em" width="3em" mathbackground="blue"/> <mspace id="over00042" depth="1em" width="3em" style="background: blue"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -80,65 +80,65 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: bottomshiftdown3000;"> <math style="font-family: bottomshiftdown3000;">
<mspace id="ref0001" height="1em" width="3em" mathbackground="green"/> <mspace id="ref0001" height="1em" width="3em" style="background: green"/>
<munder> <munder>
<mo>&#x2192;</mo> <mo>&#x2192;</mo>
<mspace id="under00011" depth="1em" width="3em" mathbackground="blue"/> <mspace id="under00011" depth="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munderover> <munderover>
<mo>&#x2192;</mo> <mo>&#x2192;</mo>
<mspace id="under00012" depth="1em" width="3em" mathbackground="blue"/> <mspace id="under00012" depth="1em" width="3em" style="background: blue"/>
<mspace height="1em" width="3em" mathbackground="black"/> <mspace height="1em" width="3em" style="background: black"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: gapbelowmin11000;"> <math style="font-family: gapbelowmin11000;">
<mspace id="ref0002" height="1em" width="3em" mathbackground="green"/> <mspace id="ref0002" height="1em" width="3em" style="background: green"/>
<munder> <munder>
<mo>&#x2192;</mo> <mo>&#x2192;</mo>
<mspace id="under00021" depth="1em" width="3em" mathbackground="blue"/> <mspace id="under00021" depth="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munderover> <munderover>
<mo>&#x2192;</mo> <mo>&#x2192;</mo>
<mspace id="under00022" depth="1em" width="3em" mathbackground="blue"/> <mspace id="under00022" depth="1em" width="3em" style="background: blue"/>
<mspace height="1em" width="3em" mathbackground="black"/> <mspace height="1em" width="3em" style="background: black"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: topshiftup5000;"> <math style="font-family: topshiftup5000;">
<mspace id="ref0003" height="1em" width="3em" mathbackground="green"/> <mspace id="ref0003" height="1em" width="3em" style="background: green"/>
<mover> <mover>
<mo>&#x2192;</mo> <mo>&#x2192;</mo>
<mspace id="over00031" height="1em" width="3em" mathbackground="blue"/> <mspace id="over00031" height="1em" width="3em" style="background: blue"/>
</mover> </mover>
<munderover> <munderover>
<mo>&#x2192;</mo> <mo>&#x2192;</mo>
<mspace height="1em" width="3em" mathbackground="black"/> <mspace height="1em" width="3em" style="background: black"/>
<mspace id="over00032" height="1em" width="3em" mathbackground="blue"/> <mspace id="over00032" height="1em" width="3em" style="background: blue"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: gapabovemin7000;"> <math style="font-family: gapabovemin7000;">
<mspace id="ref0004" height="1em" width="3em" mathbackground="green"/> <mspace id="ref0004" height="1em" width="3em" style="background: green"/>
<mover> <mover>
<mo>&#x2192;</mo> <mo>&#x2192;</mo>
<mspace id="over00041" depth="1em" width="3em" mathbackground="blue"/> <mspace id="over00041" depth="1em" width="3em" style="background: blue"/>
</mover> </mover>
<munderover> <munderover>
<mo>&#x2192;</mo> <mo>&#x2192;</mo>
<mspace height="1em" width="3em" mathbackground="black"/> <mspace height="1em" width="3em" style="background: black"/>
<mspace id="over00042" depth="1em" width="3em" mathbackground="blue"/> <mspace id="over00042" depth="1em" width="3em" style="background: blue"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -187,137 +187,137 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: accentbaseheight4000underbarextradescender5000;"> <math style="font-family: accentbaseheight4000underbarextradescender5000;">
<mspace id="ref001" height="1em" width="3em" mathbackground="green"/> <mspace id="ref001" height="1em" width="3em" style="background: green"/>
<munder mathbackground="cyan" id="el0011"> <munder style="background: cyan" id="el0011">
<mspace id="base0011" height="3em" width="1em" mathbackground="black"/> <mspace id="base0011" height="3em" width="1em" style="background: black"/>
<mspace id="under0011" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0011" height="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munder mathbackground="cyan" id="el0012" accentunder="true"> <munder style="background: cyan" id="el0012" accentunder="true">
<mspace id="base0012" height="5em" width="1em" mathbackground="black"/> <mspace id="base0012" height="5em" width="1em" style="background: black"/>
<mspace id="under0012" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0012" height="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munder mathbackground="cyan" id="el0013" accentunder="true"> <munder style="background: cyan" id="el0013" accentunder="true">
<mspace id="base0013" height="3em" width="1em" mathbackground="black"/> <mspace id="base0013" height="3em" width="1em" style="background: black"/>
<mspace id="under0013" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0013" height="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munderover mathbackground="cyan" id="el0014"> <munderover style="background: cyan" id="el0014">
<mspace id="base0014" height="3em" width="1em" mathbackground="black"/> <mspace id="base0014" height="3em" width="1em" style="background: black"/>
<mspace id="under0014" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0014" height="1em" width="3em" style="background: blue"/>
<mspace id="over0014" height="1em" width="3em" mathbackground="red"/> <mspace id="over0014" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0015" accent="true"> <munderover style="background: cyan" id="el0015" accent="true">
<mspace id="base0015" height="5em" width="1em" mathbackground="black"/> <mspace id="base0015" height="5em" width="1em" style="background: black"/>
<mspace id="under0015" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0015" height="1em" width="3em" style="background: blue"/>
<mspace id="over0015" height="1em" width="3em" mathbackground="red"/> <mspace id="over0015" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0016" accent="true"> <munderover style="background: cyan" id="el0016" accent="true">
<mspace id="base0016" height="3em" width="1em" mathbackground="black"/> <mspace id="base0016" height="3em" width="1em" style="background: black"/>
<mspace id="under0016" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0016" height="1em" width="3em" style="background: blue"/>
<mspace id="over0016" height="1em" width="3em" mathbackground="red"/> <mspace id="over0016" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: accentbaseheight4000underbarverticalgap7000;"> <math style="font-family: accentbaseheight4000underbarverticalgap7000;">
<mspace id="ref002" height="1em" width="3em" mathbackground="green"/> <mspace id="ref002" height="1em" width="3em" style="background: green"/>
<munder mathbackground="cyan" id="el0021"> <munder style="background: cyan" id="el0021">
<mspace id="base0021" height="3em" width="1em" mathbackground="black"/> <mspace id="base0021" height="3em" width="1em" style="background: black"/>
<mspace id="under0021" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0021" height="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munder mathbackground="cyan" id="el0022" accentunder="true"> <munder style="background: cyan" id="el0022" accentunder="true">
<mspace id="base0022" height="5em" width="1em" mathbackground="black"/> <mspace id="base0022" height="5em" width="1em" style="background: black"/>
<mspace id="under0022" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0022" height="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munder mathbackground="cyan" id="el0023" accentunder="true"> <munder style="background: cyan" id="el0023" accentunder="true">
<mspace id="base0023" height="3em" width="1em" mathbackground="black"/> <mspace id="base0023" height="3em" width="1em" style="background: black"/>
<mspace id="under0023" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0023" height="1em" width="3em" style="background: blue"/>
</munder> </munder>
<munderover mathbackground="cyan" id="el0024"> <munderover style="background: cyan" id="el0024">
<mspace id="base0024" height="3em" width="1em" mathbackground="black"/> <mspace id="base0024" height="3em" width="1em" style="background: black"/>
<mspace id="under0024" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0024" height="1em" width="3em" style="background: blue"/>
<mspace id="over0024" height="1em" width="3em" mathbackground="red"/> <mspace id="over0024" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0025" accent="true"> <munderover style="background: cyan" id="el0025" accent="true">
<mspace id="base0025" height="5em" width="1em" mathbackground="black"/> <mspace id="base0025" height="5em" width="1em" style="background: black"/>
<mspace id="under0025" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0025" height="1em" width="3em" style="background: blue"/>
<mspace id="over0025" height="1em" width="3em" mathbackground="red"/> <mspace id="over0025" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0026" accent="true"> <munderover style="background: cyan" id="el0026" accent="true">
<mspace id="base0026" height="3em" width="1em" mathbackground="black"/> <mspace id="base0026" height="3em" width="1em" style="background: black"/>
<mspace id="under0026" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0026" height="1em" width="3em" style="background: blue"/>
<mspace id="over0026" height="1em" width="3em" mathbackground="red"/> <mspace id="over0026" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: accentbaseheight4000overbarextraascender3000;"> <math style="font-family: accentbaseheight4000overbarextraascender3000;">
<mspace id="ref003" height="1em" width="3em" mathbackground="green"/> <mspace id="ref003" height="1em" width="3em" style="background: green"/>
<mover mathbackground="cyan" id="el0031"> <mover style="background: cyan" id="el0031">
<mspace id="base0031" height="3em" width="1em" mathbackground="black"/> <mspace id="base0031" height="3em" width="1em" style="background: black"/>
<mspace id="over0031" height="1em" width="3em" mathbackground="red"/> <mspace id="over0031" height="1em" width="3em" style="background: red"/>
</mover> </mover>
<mover mathbackground="cyan" id="el0032" accent="true"> <mover style="background: cyan" id="el0032" accent="true">
<mspace id="base0032" height="5em" width="1em" mathbackground="black"/> <mspace id="base0032" height="5em" width="1em" style="background: black"/>
<mspace id="over0032" height="1em" width="3em" mathbackground="red"/> <mspace id="over0032" height="1em" width="3em" style="background: red"/>
</mover> </mover>
<mover mathbackground="cyan" id="el0033" accent="true"> <mover style="background: cyan" id="el0033" accent="true">
<mspace id="base0033" height="3em" width="1em" mathbackground="black"/> <mspace id="base0033" height="3em" width="1em" style="background: black"/>
<mspace id="over0033" height="1em" width="3em" mathbackground="red"/> <mspace id="over0033" height="1em" width="3em" style="background: red"/>
</mover> </mover>
<munderover mathbackground="cyan" id="el0034"> <munderover style="background: cyan" id="el0034">
<mspace id="base0034" height="3em" width="1em" mathbackground="black"/> <mspace id="base0034" height="3em" width="1em" style="background: black"/>
<mspace id="under0034" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0034" height="1em" width="3em" style="background: blue"/>
<mspace id="over0034" height="1em" width="3em" mathbackground="red"/> <mspace id="over0034" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0035" accent="true"> <munderover style="background: cyan" id="el0035" accent="true">
<mspace id="base0035" height="5em" width="1em" mathbackground="black"/> <mspace id="base0035" height="5em" width="1em" style="background: black"/>
<mspace id="under0035" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0035" height="1em" width="3em" style="background: blue"/>
<mspace id="over0035" height="1em" width="3em" mathbackground="red"/> <mspace id="over0035" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0036" accent="true"> <munderover style="background: cyan" id="el0036" accent="true">
<mspace id="base0036" height="3em" width="1em" mathbackground="black"/> <mspace id="base0036" height="3em" width="1em" style="background: black"/>
<mspace id="under0036" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0036" height="1em" width="3em" style="background: blue"/>
<mspace id="over0036" height="1em" width="3em" mathbackground="red"/> <mspace id="over0036" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: accentbaseheight4000overbarverticalgap11000;"> <math style="font-family: accentbaseheight4000overbarverticalgap11000;">
<mspace id="ref004" height="1em" width="3em" mathbackground="green"/> <mspace id="ref004" height="1em" width="3em" style="background: green"/>
<mover mathbackground="cyan" id="el0041"> <mover style="background: cyan" id="el0041">
<mspace id="base0041" height="3em" width="1em" mathbackground="black"/> <mspace id="base0041" height="3em" width="1em" style="background: black"/>
<mspace id="over0041" height="1em" width="3em" mathbackground="red"/> <mspace id="over0041" height="1em" width="3em" style="background: red"/>
</mover> </mover>
<mover mathbackground="cyan" id="el0042" accent="true"> <mover style="background: cyan" id="el0042" accent="true">
<mspace id="base0042" height="5em" width="1em" mathbackground="black"/> <mspace id="base0042" height="5em" width="1em" style="background: black"/>
<mspace id="over0042" height="1em" width="3em" mathbackground="red"/> <mspace id="over0042" height="1em" width="3em" style="background: red"/>
</mover> </mover>
<mover mathbackground="cyan" id="el0043" accent="true"> <mover style="background: cyan" id="el0043" accent="true">
<mspace id="base0043" height="3em" width="1em" mathbackground="black"/> <mspace id="base0043" height="3em" width="1em" style="background: black"/>
<mspace id="over0043" height="1em" width="3em" mathbackground="red"/> <mspace id="over0043" height="1em" width="3em" style="background: red"/>
</mover> </mover>
<munderover mathbackground="cyan" id="el0044"> <munderover style="background: cyan" id="el0044">
<mspace id="base0044" height="3em" width="1em" mathbackground="black"/> <mspace id="base0044" height="3em" width="1em" style="background: black"/>
<mspace id="under0044" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0044" height="1em" width="3em" style="background: blue"/>
<mspace id="over0044" height="1em" width="3em" mathbackground="red"/> <mspace id="over0044" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0045" accent="true"> <munderover style="background: cyan" id="el0045" accent="true">
<mspace id="base0045" height="5em" width="1em" mathbackground="black"/> <mspace id="base0045" height="5em" width="1em" style="background: black"/>
<mspace id="under0045" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0045" height="1em" width="3em" style="background: blue"/>
<mspace id="over0045" height="1em" width="3em" mathbackground="red"/> <mspace id="over0045" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0046" accent="true"> <munderover style="background: cyan" id="el0046" accent="true">
<mspace id="base0046" height="3em" width="1em" mathbackground="black"/> <mspace id="base0046" height="3em" width="1em" style="background: black"/>
<mspace id="under0046" height="1em" width="3em" mathbackground="blue"/> <mspace id="under0046" height="1em" width="3em" style="background: blue"/>
<mspace id="over0046" height="1em" width="3em" mathbackground="red"/> <mspace id="over0046" height="1em" width="3em" style="background: red"/>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -187,137 +187,137 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: accentbaseheight4000underbarextradescender5000;"> <math style="font-family: accentbaseheight4000underbarextradescender5000;">
<mspace id="ref001" height="1em" width="3em" mathbackground="green"/> <mspace id="ref001" height="1em" width="3em" style="background: green"/>
<munder mathbackground="cyan" id="el0011"> <munder style="background: cyan" id="el0011">
<mspace id="base0011" height="3em" width="1em" mathbackground="black"/> <mspace id="base0011" height="3em" width="1em" style="background: black"/>
<mo id="under0011" mathcolor="blue">&#xB0;</mo> <mo id="under0011" style="color: blue">&#xB0;</mo>
</munder> </munder>
<munder mathbackground="cyan" id="el0012"> <munder style="background: cyan" id="el0012">
<mspace id="base0012" height="5em" width="1em" mathbackground="black"/> <mspace id="base0012" height="5em" width="1em" style="background: black"/>
<mo id="under0012" mathcolor="blue">&#x2D8;</mo> <mo id="under0012" style="color: blue">&#x2D8;</mo>
</munder> </munder>
<munder mathbackground="cyan" id="el0013"> <munder style="background: cyan" id="el0013">
<mspace id="base0013" height="3em" width="1em" mathbackground="black"/> <mspace id="base0013" height="3em" width="1em" style="background: black"/>
<mo id="under0013" mathcolor="blue">&#x2D8;</mo> <mo id="under0013" style="color: blue">&#x2D8;</mo>
</munder> </munder>
<munderover mathbackground="cyan" id="el0014"> <munderover style="background: cyan" id="el0014">
<mspace id="base0014" height="3em" width="1em" mathbackground="black"/> <mspace id="base0014" height="3em" width="1em" style="background: black"/>
<mo id="under0014" mathcolor="blue">&#xB0;</mo> <mo id="under0014" style="color: blue">&#xB0;</mo>
<mo id="over0014" mathcolor="red">&#xB0;</mo> <mo id="over0014" style="color: red">&#xB0;</mo>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0015" accent="true"> <munderover style="background: cyan" id="el0015" accent="true">
<mspace id="base0015" height="5em" width="1em" mathbackground="black"/> <mspace id="base0015" height="5em" width="1em" style="background: black"/>
<mo id="under0015" mathcolor="blue">&#x2D8;</mo> <mo id="under0015" style="color: blue">&#x2D8;</mo>
<mo id="over0015" mathcolor="red">&#x2D8;</mo> <mo id="over0015" style="color: red">&#x2D8;</mo>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0016" accent="true"> <munderover style="background: cyan" id="el0016" accent="true">
<mspace id="base0016" height="3em" width="1em" mathbackground="black"/> <mspace id="base0016" height="3em" width="1em" style="background: black"/>
<mo id="under0016" mathcolor="blue">&#x2D8;</mo> <mo id="under0016" style="color: blue">&#x2D8;</mo>
<mo id="over0016" mathcolor="red">&#x2D8;</mo> <mo id="over0016" style="color: red">&#x2D8;</mo>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: accentbaseheight4000underbarverticalgap7000;"> <math style="font-family: accentbaseheight4000underbarverticalgap7000;">
<mspace id="ref002" height="1em" width="3em" mathbackground="green"/> <mspace id="ref002" height="1em" width="3em" style="background: green"/>
<munder mathbackground="cyan" id="el0021" accentunder="false"> <munder style="background: cyan" id="el0021" accentunder="false">
<mspace id="base0021" height="3em" width="1em" mathbackground="black"/> <mspace id="base0021" height="3em" width="1em" style="background: black"/>
<mo id="under0021" mathcolor="blue">&#x2D8;</mo> <mo id="under0021" style="color: blue">&#x2D8;</mo>
</munder> </munder>
<munder mathbackground="cyan" id="el0022"> <munder style="background: cyan" id="el0022">
<mspace id="base0022" height="5em" width="1em" mathbackground="black"/> <mspace id="base0022" height="5em" width="1em" style="background: black"/>
<mo id="under0022" mathcolor="blue" accent="true">&#x2D8;</mo> <mo id="under0022" style="color: blue" accent="true">&#x2D8;</mo>
</munder> </munder>
<munder mathbackground="cyan" id="el0023"> <munder style="background: cyan" id="el0023">
<mspace id="base0023" height="3em" width="1em" mathbackground="black"/> <mspace id="base0023" height="3em" width="1em" style="background: black"/>
<mo id="under0023" mathcolor="blue" accent="true">&#xB0;</mo> <mo id="under0023" style="color: blue" accent="true">&#xB0;</mo>
</munder> </munder>
<munderover mathbackground="cyan" id="el0024"> <munderover style="background: cyan" id="el0024">
<mspace id="base0024" height="3em" width="1em" mathbackground="black"/> <mspace id="base0024" height="3em" width="1em" style="background: black"/>
<mo id="under0024" mathcolor="blue" accent="false">&#x2D8;</mo> <mo id="under0024" style="color: blue" accent="false">&#x2D8;</mo>
<mo id="over0024" mathcolor="red" accent="false">&#x2D8;</mo> <mo id="over0024" style="color: red" accent="false">&#x2D8;</mo>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0025"> <munderover style="background: cyan" id="el0025">
<mspace id="base0025" height="5em" width="1em" mathbackground="black"/> <mspace id="base0025" height="5em" width="1em" style="background: black"/>
<mo id="under0025" mathcolor="blue" accent="false">&#x2D8;</mo> <mo id="under0025" style="color: blue" accent="false">&#x2D8;</mo>
<mo id="over0025" mathcolor="red">&#x2D8;</mo> <mo id="over0025" style="color: red">&#x2D8;</mo>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0026"> <munderover style="background: cyan" id="el0026">
<mspace id="base0026" height="3em" width="1em" mathbackground="black"/> <mspace id="base0026" height="3em" width="1em" style="background: black"/>
<mo id="under0026" mathcolor="blue" accent="false">&#x2D8;</mo> <mo id="under0026" style="color: blue" accent="false">&#x2D8;</mo>
<mo id="over0026" mathcolor="red">&#x2D8;</mo> <mo id="over0026" style="color: red">&#x2D8;</mo>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: accentbaseheight4000overbarextraascender3000;"> <math style="font-family: accentbaseheight4000overbarextraascender3000;">
<mspace id="ref003" height="1em" width="3em" mathbackground="green"/> <mspace id="ref003" height="1em" width="3em" style="background: green"/>
<mover mathbackground="cyan" id="el0031"> <mover style="background: cyan" id="el0031">
<mspace id="base0031" height="3em" width="1em" mathbackground="black"/> <mspace id="base0031" height="3em" width="1em" style="background: black"/>
<mo id="over0031" mathcolor="red">&#xB0;</mo> <mo id="over0031" style="color: red">&#xB0;</mo>
</mover> </mover>
<mover mathbackground="cyan" id="el0032" accent="true"> <mover style="background: cyan" id="el0032" accent="true">
<mspace id="base0032" height="5em" width="1em" mathbackground="black"/> <mspace id="base0032" height="5em" width="1em" style="background: black"/>
<mo id="over0032" mathcolor="red">&#xB0;</mo> <mo id="over0032" style="color: red">&#xB0;</mo>
</mover> </mover>
<mover mathbackground="cyan" id="el0033"> <mover style="background: cyan" id="el0033">
<mspace id="base0033" height="3em" width="1em" mathbackground="black"/> <mspace id="base0033" height="3em" width="1em" style="background: black"/>
<mo id="over0033" mathcolor="red">&#x2D8;</mo> <mo id="over0033" style="color: red">&#x2D8;</mo>
</mover> </mover>
<munderover mathbackground="cyan" id="el0034"> <munderover style="background: cyan" id="el0034">
<mspace id="base0034" height="3em" width="1em" mathbackground="black"/> <mspace id="base0034" height="3em" width="1em" style="background: black"/>
<mo id="under0034" mathcolor="blue">&#xB0;</mo> <mo id="under0034" style="color: blue">&#xB0;</mo>
<mo id="over0034" mathcolor="red" accent="false">&#x2D8;</mo> <mo id="over0034" style="color: red" accent="false">&#x2D8;</mo>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0035" accent="true"> <munderover style="background: cyan" id="el0035" accent="true">
<mspace id="base0035" height="5em" width="1em" mathbackground="black"/> <mspace id="base0035" height="5em" width="1em" style="background: black"/>
<mo id="under0035" mathcolor="blue">&#x2D8;</mo> <mo id="under0035" style="color: blue">&#x2D8;</mo>
<mo id="over0035" mathcolor="red">&#x2D8;</mo> <mo id="over0035" style="color: red">&#x2D8;</mo>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0036" accent="true"> <munderover style="background: cyan" id="el0036" accent="true">
<mspace id="base0036" height="3em" width="1em" mathbackground="black"/> <mspace id="base0036" height="3em" width="1em" style="background: black"/>
<mo id="under0036" mathcolor="blue">&#x2D8;</mo> <mo id="under0036" style="color: blue">&#x2D8;</mo>
<mo id="over0036" mathcolor="red">&#x2D8;</mo> <mo id="over0036" style="color: red">&#x2D8;</mo>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/> <hr/>
<p> <p>
<math style="font-family: accentbaseheight4000overbarverticalgap11000;"> <math style="font-family: accentbaseheight4000overbarverticalgap11000;">
<mspace id="ref004" height="1em" width="3em" mathbackground="green"/> <mspace id="ref004" height="1em" width="3em" style="background: green"/>
<mover mathbackground="cyan" id="el0041"> <mover style="background: cyan" id="el0041">
<mspace id="base0041" height="3em" width="1em" mathbackground="black"/> <mspace id="base0041" height="3em" width="1em" style="background: black"/>
<mo id="over0041" mathcolor="red">&#xB0;</mo> <mo id="over0041" style="color: red">&#xB0;</mo>
</mover> </mover>
<mover mathbackground="cyan" id="el0042" accent="true"> <mover style="background: cyan" id="el0042" accent="true">
<mspace id="base0042" height="5em" width="1em" mathbackground="black"/> <mspace id="base0042" height="5em" width="1em" style="background: black"/>
<mo id="over0042" mathcolor="red">&#xB0;</mo> <mo id="over0042" style="color: red">&#xB0;</mo>
</mover> </mover>
<mover mathbackground="cyan" id="el0043"> <mover style="background: cyan" id="el0043">
<mspace id="base0043" height="3em" width="1em" mathbackground="black"/> <mspace id="base0043" height="3em" width="1em" style="background: black"/>
<mo id="over0043" mathcolor="red">&#x2D8;</mo> <mo id="over0043" style="color: red">&#x2D8;</mo>
</mover> </mover>
<munderover mathbackground="cyan" id="el0044"> <munderover style="background: cyan" id="el0044">
<mspace id="base0044" height="3em" width="1em" mathbackground="black"/> <mspace id="base0044" height="3em" width="1em" style="background: black"/>
<mo id="under0044" mathcolor="blue">&#xB0;</mo> <mo id="under0044" style="color: blue">&#xB0;</mo>
<mo id="over0044" mathcolor="red" accent="false">&#x2D8;</mo> <mo id="over0044" style="color: red" accent="false">&#x2D8;</mo>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0045" accent="true"> <munderover style="background: cyan" id="el0045" accent="true">
<mspace id="base0045" height="5em" width="1em" mathbackground="black"/> <mspace id="base0045" height="5em" width="1em" style="background: black"/>
<mo id="under0045" mathcolor="blue">&#x2D8;</mo> <mo id="under0045" style="color: blue">&#x2D8;</mo>
<mo id="over0045" mathcolor="red">&#x2D8;</mo> <mo id="over0045" style="color: red">&#x2D8;</mo>
</munderover> </munderover>
<munderover mathbackground="cyan" id="el0046" accent="true"> <munderover style="background: cyan" id="el0046" accent="true">
<mspace id="base0046" height="3em" width="1em" mathbackground="black"/> <mspace id="base0046" height="3em" width="1em" style="background: black"/>
<mo id="under0046" mathcolor="blue">&#x2D8;</mo> <mo id="under0046" style="color: blue">&#x2D8;</mo>
<mo id="over0046" mathcolor="red">&#x2D8;</mo> <mo id="over0046" style="color: red">&#x2D8;</mo>
</munderover> </munderover>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -68,6 +68,7 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<span id="baseline" style="display: inline-block; width: 30px; height: 5px; background: blue"></span> <span id="baseline" style="display: inline-block; width: 30px; height: 5px; background: blue"></span>
<math> <math>
@ -81,11 +82,10 @@
<mspace id="depth0" depth="25px"/> <mspace id="depth0" depth="25px"/>
<mspace id="depth1" depth="50px"/> <mspace id="depth1" depth="50px"/>
<mspace id="depth2" depth="75px"/> <mspace id="depth2" depth="75px"/>
<mspace id="mspace0" width="25px" height="50px" depth="75px" mathbackground="green"/> <mspace id="mspace0" width="25px" height="50px" depth="75px" style="background: green"/>
<mspace id="mspace1" width="50px" height="75px" depth="25px" mathbackground="blue"/> <mspace id="mspace1" width="50px" height="75px" depth="25px" style="background: blue"/>
<mspace id="mspace2" width="75px" height="25px" depth="50px" mathbackground="green"/> <mspace id="mspace2" width="75px" height="25px" depth="50px" style="background: green"/>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -14,17 +14,17 @@
<div style="position: absolute; top: 0px; left: 0px; <div style="position: absolute; top: 0px; left: 0px;
width: 200px; height: 200px;"> width: 200px; height: 200px;">
<math style="position: absolute; top: 0px; left: 0px"> <math style="position: absolute; top: 0px; left: 0px">
<mspace width="50px" height="100px" depth="100px" mathbackground="green"/> <mspace width="50px" height="100px" depth="100px" style="background: green"/>
<mspace width="50px" height="100px" depth="100px" mathbackground="green"/> <mspace width="50px" height="100px" depth="100px" style="background: green"/>
<mspace width="25px" depth="100px" mathbackground="green"/> <mspace width="25px" depth="100px" style="background: green"/>
<mspace width="25px" depth="100px" mathbackground="green"/> <mspace width="25px" depth="100px" style="background: green"/>
<mspace width="25px" height="100px" mathbackground="green"/> <mspace width="25px" height="100px" style="background: green"/>
<mspace width="25px" height="100px" mathbackground="green"/> <mspace width="25px" height="100px" style="background: green"/>
</math> </math>
<math style="position: absolute; top: 0px; left: 0px"> <math style="position: absolute; top: 0px; left: 0px">
<mspace width="100px" height="20px" depth="20px" mathbackground="red"/> <mspace width="100px" height="20px" depth="20px" style="background: red"/>
<mspace width="50px" height="100px" mathbackground="red"/> <mspace width="50px" height="100px" style="background: red"/>
<mspace width="50px" depth="100px" mathbackground="red"/> <mspace width="50px" depth="100px" style="background: red"/>
</math> </math>
</div> </div>
<!-- These green divs should cover the red mspace elements --> <!-- These green divs should cover the red mspace elements -->

View file

@ -43,10 +43,11 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math style="font-family: axisheight5000-verticalarrow14000"> <math style="font-family: axisheight5000-verticalarrow14000">
<mspace id="baseline" mathbackground="green" width="50px" height="1px"/> <mspace id="baseline" style="background: green" width="50px" height="1px"/>
<mtable id="table" mathbackground="blue"><mtr><mtd><mspace width="100px" height="1px"/></mtd></mtr></mtable> <mtable id="table" style="background: blue"><mtr><mtd><mspace width="100px" height="1px"/></mtd></mtr></mtable>
</math> </math>
</p> </p>
</body> </body>

View file

@ -10,7 +10,7 @@
<body> <body>
<p>Test passes if you see a green square.</p> <p>Test passes if you see a green square.</p>
<div style="background: green; color: red; width: 200px; height: 200px;"> <div style="background: green; color: red; width: 200px; height: 200px;">
<math style="display: none;"><mspace width="200px" height="200px" mathbackground="red"/></math> <math style="display: none;"><mspace width="200px" height="200px" style="background: red"/></math>
</div> </div>
</body> </body>
</html> </html>

View file

@ -92,6 +92,7 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<math><mo id="math_default">&#x2AFF;</mo></math> <math><mo id="math_default">&#x2AFF;</mo></math>
<math display="inline"><mo id="math_inline">&#x2AFF;</mo></math> <math display="inline"><mo id="math_inline">&#x2AFF;</mo></math>
<math display="block"><mo id="math_block">&#x2AFF;</mo></math> <math display="block"><mo id="math_block">&#x2AFF;</mo></math>

View file

@ -93,6 +93,7 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<p> <p>
<math> <math>
<mspace id="unitCm" width="2.54cm"/> <mspace id="unitCm" width="2.54cm"/>
@ -154,6 +155,5 @@
<mpadded voffset="-012.345em"><mspace id="N10"/></mpadded> <mpadded voffset="-012.345em"><mspace id="N10"/></mpadded>
</math> </math>
</p> </p>
<hr/>
</body> </body>
</html> </html>

View file

@ -13,7 +13,7 @@
var mtext = document.getElementsByClassName("cl"); var mtext = document.getElementsByClassName("cl");
test(function() { test(function() {
assert_equals(mtext.length, 3); assert_equals(mtext.length, 3);
var mtext_ref = document.body.firstElementChild.firstElementChild; var mtext_ref = document.body.lastElementChild.firstElementChild;
mtext_ref = mtext_ref.nextElementSibling.nextElementSibling mtext_ref = mtext_ref.nextElementSibling.nextElementSibling
assert_equals(mtext[0], mtext_ref); assert_equals(mtext[0], mtext_ref);
mtext_ref = mtext_ref.nextElementSibling.nextElementSibling; mtext_ref = mtext_ref.nextElementSibling.nextElementSibling;
@ -26,6 +26,7 @@
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<math> <math>
<mtext class="cl_"></mtext> <mtext class="cl_"></mtext>
<mtext class="c"></mtext> <mtext class="c"></mtext>

View file

@ -70,6 +70,7 @@
</style> </style>
</head> </head>
<body> <body>
<div id="log"></div>
<div id="content"> <div id="content">
<span id="before_block" class="square"></span> <span id="before_block" class="square"></span>
<math display="block"><mspace id="mspace_block" width="50px" height="50px"/></math> <math display="block"><mspace id="mspace_block" width="50px" height="50px"/></math>

View file

@ -22,12 +22,12 @@
<div style="width: 150px; height: 150px; overflow: hidden"> <div style="width: 150px; height: 150px; overflow: hidden">
<math> <math>
<mrow id="link" href="#target"> <mrow id="link" href="#target">
<mspace id="space" width="150px" height="150px" mathbackground="red"/> <mspace id="space" width="150px" height="150px" style="background: red"/>
</mrow> </mrow>
</math> </math>
<div style="height: 500px;"></div> <div style="height: 500px;"></div>
<math id="target"> <math id="target">
<mspace width="150px" height="150px" mathbackground="green"/> <mspace width="150px" height="150px" style="background: green"/>
</math> </math>
</div> </div>

View file

@ -24,14 +24,14 @@
<mrow href="#target"> <mrow href="#target">
<mrow> <mrow>
<mrow> <mrow>
<mspace id="space" width="150px" height="150px" mathbackground="red"/> <mspace id="space" width="150px" height="150px" style="background: red"/>
</mrow> </mrow>
</mrow> </mrow>
</mrow> </mrow>
</math> </math>
<div style="height: 500px;"></div> <div style="height: 500px;"></div>
<math id="target"> <math id="target">
<mspace width="150px" height="150px" mathbackground="green"/> <mspace width="150px" height="150px" style="background: green"/>
</math> </math>
</div> </div>

View file

@ -12,13 +12,14 @@
window.addEventListener("DOMContentLoaded", function() { window.addEventListener("DOMContentLoaded", function() {
var mtext = document.getElementById("MTEXT"); var mtext = document.getElementById("MTEXT");
test(function() { test(function() {
assert_equals(mtext, document.body.firstElementChild.lastElementChild); assert_equals(mtext, document.body.lastElementChild.lastElementChild);
}, "getElementById()"); }, "getElementById()");
done(); done();
}); });
</script> </script>
</head> </head>
<body> <body>
<div id="log"></div>
<math> <math>
<mtext id="MTEXT_"></mtext> <mtext id="MTEXT_"></mtext>
<mtext id="MTEX"></mtext> <mtext id="MTEX"></mtext>

View file

@ -9,7 +9,7 @@
idl_test( idl_test(
['payment-handler'], ['payment-handler'],
['service-workers', 'dedicated-workers', 'dom'], ['service-workers', 'html', 'dom'],
async (idl_array, t) => { async (idl_array, t) => {
const isWindow = self.GLOBAL.isWindow(); const isWindow = self.GLOBAL.isWindow();
const isServiceWorker = 'ServiceWorkerGlobalScope' in self; const isServiceWorker = 'ServiceWorkerGlobalScope' in self;

View file

@ -0,0 +1,105 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Manual tests for PaymentRequest.canMakePayment() method</title>
<link rel="help" href="https://w3c.github.io/payment-request/#canmakepayment-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
setup({
explicit_done: true,
explicit_timeout: true,
});
const basicCard = Object.freeze({ supportedMethods: "basic-card" });
const applePay = Object.freeze({
supportedMethods: "https://apple.com/apple-pay",
data: {
version: 3,
merchantIdentifier: "merchant.com.example",
countryCode: "US",
merchantCapabilities: ["supports3DS"],
supportedNetworks: ["visa"],
}
});
const defaultMethods = Object.freeze([basicCard, applePay]);
const defaultDetails = Object.freeze({
total: {
label: "Total",
amount: {
currency: "USD",
value: "1.00",
},
},
});
function testInteractiveState() {
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const acceptPromise = request.show(); // Sets state to "interactive"
const canMakePaymentPromise = request.canMakePayment();
try {
const result = await canMakePaymentPromise;
assert_true(
false,
`canMakePaymentPromise should have thrown InvalidStateError`
);
} catch (err) {
await promise_rejects(t, "InvalidStateError", canMakePaymentPromise);
} finally {
await request.abort();
await promise_rejects(t, "AbortError", acceptPromise);
}
// The state should be "closed"
await promise_rejects(t, "InvalidStateError", request.canMakePayment());
}, 'If request.[[state]] is "interactive", then return a promise rejected with an "InvalidStateError" DOMException.');
}
function testClosedState() {
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const acceptPromise = request.show(); // Sets state to "interactive"
acceptPromise.catch(() => {}); // no-op, just to silence unhandled rejection in devtools.
await request.abort(); // The state is now "closed"
await promise_rejects(t, "InvalidStateError", request.canMakePayment());
try {
const result = await request.canMakePayment();
assert_true(
false,
`should have thrown InvalidStateError, but instead returned "${result}"`
);
} catch (err) {
assert_equals(
err.name,
"InvalidStateError",
"must be an InvalidStateError."
);
}
}, 'If request.[[state]] is "closed", then return a promise rejected with an "InvalidStateError" DOMException.');
}
</script>
<h2>Manual tests for PaymentRequest.canMakePayment() method</h2>
<p>
Click on each button in sequence from top to bottom without refreshing the
page. Each button will bring up the Payment Request UI window and then will
close it automatically. (If a payment sheet stays open, the test has failed.)
</p>
<ol>
<li>
<button onclick="testInteractiveState()">
If request.[[state]] is "interactive", then return a promise rejected with
an "InvalidStateError" DOMException.
</button>
</li>
<li>
<button onclick="testClosedState()">
If request.[[state]] is "closed", then return a promise rejected with an
"InvalidStateError" DOMException.
</button>
</li>
<li><button onclick="done()">Done!</button></li>
</ol>
<small>
If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a>
and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/META.yml">suggested reviewers</a>.
</small>

View file

@ -1,11 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Tests for PaymentRequest.canMakePayment() method</title> <title>Tests for PaymentRequest.canMakePayment() method</title>
<link rel="help" href="https://w3c.github.io/browser-payment-api/#show-method"> <link rel="help" href="https://w3c.github.io/payment-request/#canmakepayment-method">
<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-vendor.js'></script>
<script src="/resources/testdriver.js"></script> <script src="/resources/testdriver.js"></script>
<script src='/resources/testdriver-vendor.js'></script>
<script> <script>
const basicCard = Object.freeze({ supportedMethods: "basic-card" }); const basicCard = Object.freeze({ supportedMethods: "basic-card" });
const applePay = Object.freeze({ const applePay = Object.freeze({
@ -42,51 +42,6 @@ promise_test(async t => {
); );
}, `If payment method identifier are supported, resolve promise with true.`); }, `If payment method identifier are supported, resolve promise with true.`);
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const acceptPromise = test_driver.bless("show payment request", () => {
request.show(); // Sets state to "interactive"
});
const canMakePaymentPromise = request.canMakePayment();
try {
const result = await canMakePaymentPromise;
assert_true(
false,
`canMakePaymentPromise should have thrown InvalidStateError`
);
} catch (err) {
await promise_rejects(t, "InvalidStateError", canMakePaymentPromise);
} finally {
await request.abort();
await promise_rejects(t, "AbortError", acceptPromise);
}
// The state should be "closed"
await promise_rejects(t, "InvalidStateError", request.canMakePayment());
}, 'If request.[[state]] is "interactive", then return a promise rejected with an "InvalidStateError" DOMException.');
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const acceptPromise = test_driver.bless("show payment request", () => {
request.show(); // Sets state to "interactive"
});
acceptPromise.catch(() => {}); // no-op, just to silence unhandled rejection in devtools.
await request.abort(); // The state is now "closed"
await promise_rejects(t, "InvalidStateError", request.canMakePayment());
try {
const result = await request.canMakePayment();
assert_true(
false,
`should have thrown InvalidStateError, but instead returned "${result}"`
);
} catch (err) {
assert_equals(
err.name,
"InvalidStateError",
"must be an InvalidStateError."
);
}
}, 'If request.[[state]] is "closed", then return a promise rejected with an "InvalidStateError" DOMException.');
promise_test(async t => { promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails); const request = new PaymentRequest(defaultMethods, defaultDetails);
try { try {

View file

@ -0,0 +1,146 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Manual tests for PaymentRequest.hasEnrolledInstrument() method</title>
<link rel="help" href="https://w3c.github.io/payment-request/#hasenrolledinstrument-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
setup({
explicit_done: true,
explicit_timeout: true,
});
const defaultMethods = Object.freeze([
{
supportedMethods: "basic-card",
data: {
supportedNetworks: [ 'visa' ],
},
}
]);
const defaultDetails = Object.freeze({
total: {
label: "Total",
amount: {
currency: "USD",
value: "1.00",
},
},
});
function testHasNoEnrolledInstrument() {
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
assert_false(
await request.hasEnrolledInstrument(),
"No test enrolled in the test profile."
);
}, `hasEnrolledInstrument() resolves to false when user has no enrolled instrument.`);
}
function testHasEnrolledInstrument() {
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
assert_true(
await request.hasEnrolledInstrument(),
"A card is enrolled in the test profile."
);
}, `hasEnrolledInstrument() resolves to true when user has an enrolled instrument.`);
}
function testHasEnrolledInstrumentAgain() {
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
assert_true(
await request.hasEnrolledInstrument(),
"A card is enrolled in the test profile."
);
}, `hasEnrolledInstrument() can be called multiple times if the payment method details are identical.`);
}
function testInteractiveState() {
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const acceptPromise = request.show(); // Sets state to "interactive"
const hasEnrolledInstrumentPromise = request.hasEnrolledInstrument();
try {
const result = await hasEnrolledInstrumentPromise;
assert_true(
false,
"hasEnrolledInstrument() should have thrown InvalidStateError"
);
} catch(err) {
await promise_rejects(t, "InvalidStateError", hasEnrolledInstrumentPromise);
} finally {
request.abort();
await promise_rejects(t, "AbortError", acceptPromise);
}
}, `If request.[[state]] is "interactive", then return a promise rejected with an "InvalidStateError" DOMException.`);
}
function testClosedState() {
promise_test(async t => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
const acceptPromise = request.show(); // Sets state to "interactive"
acceptPromise.catch(() => {}); // no-op, just to handle unhandled rejection in devtools.
await request.abort(); // Sets state to "closed"
const hasEnrolledInstrumentPromise = request.hasEnrolledInstrument();
try {
const result = await hasEnrolledInstrumentPromise;
assert_true(
false,
"hasEnrolledInstrument() should have thrown InvalidStateError"
);
} catch(err) {
await promise_rejects(t, "InvalidStateError", hasEnrolledInstrumentPromise);
}
}, `If request.[[state]] is "closed", then return a promise rejected with an "InvalidStateError" DOMException.`);
}
</script>
<h2>Manual tests for hasEnrolledInstrument() method</h2>
<p>
Follow the instructions from top to bottom. Click on each button in sequence
without refreshing the page. Some of the tests will bring up the Payment
Request UI and close them automatically. If a payment sheet stays open, the
test has failed.
</p>
<ol>
<li>Follow browser-specific instructions to remove all cards from the test profile.</li>
<li>
<button onclick="testHasNoEnrolledInstrument()">
hasEnrolledInstrument() resolves to false when user has no enrolled instrument.
</button>
</li>
<li>Add a test Visa card to your test profile, e.g. 4012888888881881.</li>
<li>
<button onclick="testHasEnrolledInstrument()">
hasEnrolledInstrument() resolves to true when user has an enrolled instrument.
</button>
</li>
<li>
<button onclick="testHasEnrolledInstrumentAgain()">
hasEnrolledInstrument() can be called multiple times if the payment method
details are identical.
</button>
</li>
<li>
<button onclick="testInteractiveState()">
If request.[[state]] is "interactive", then return a promise rejected with
an "InvalidStateError" DOMException.
</button>
</li>
<li>
<button onclick="testClosedState()">
If request.[[state]] is "closed", then return a promise rejected with an
"InvalidStateError" DOMException.
</button>
</li>
<li>
<button onclick="done()">Done!</button>
</li>
</ol>
<small>
If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a>
and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/META.yml">suggested reviewers</a>.
</small>

View file

@ -0,0 +1,68 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Tests for PaymentRequest.hasEnrolledInstrument() method</title>
<link rel="help" href="https://w3c.github.io/payment-request/#hasenrolledinstrument-method">
<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>
<script>
const visaMethod = Object.freeze({
supportedMethods: "basic-card",
data: {
supportedNetworks: ['visa']
}
});
const mastercardMethod = Object.freeze({
supportedMethods: "basic-card",
data: {
supportedNetworks: ['mastercard']
}
});
const defaultDetails = Object.freeze({
total: {
label: "Total",
amount: {
currency: "USD",
value: "1.00",
},
},
});
promise_test(async t => {
// This test may never actually hit its assertion, but that's allowed.
const request = new PaymentRequest([visaMethod], defaultDetails);
for (let i = 0; i < 1000; i++) {
try {
await request.hasEnrolledInstrument();
} catch (err) {
assert_equals(
err.name,
"NotAllowedError",
"If it throws, then it must be a NotAllowedError."
);
break;
}
}
for (let i = 0; i < 1000; i++) {
try {
const request2 = new PaymentRequest([mastercardMethod], defaultDetails);
await request2.hasEnrolledInstrument();
} catch (err) {
assert_equals(
err.name,
"NotAllowedError",
"If it throws, then it must be a NotAllowedError."
);
break;
}
}
}, `Optionally, at the user agent's discretion, return a promise rejected with a "NotAllowedError" DOMException.`);
</script>
<small>
If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a>
and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/META.yml">suggested reviewers</a>.
</small>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Tests for PaymentRequest.hasEnrolledInstrument() method</title>
<link rel="help" href="https://w3c.github.io/payment-request/#hasenrolledinstrument-method">
<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>
<script>
const unsupportedMethods = [
{ supportedMethods: "this-is-not-supported" },
{ supportedMethods: "https://not.supported" },
];
const defaultDetails = Object.freeze({
total: {
label: "Total",
amount: {
currency: "USD",
value: "1.00",
},
},
});
promise_test(async t => {
const request = new PaymentRequest(unsupportedMethods, defaultDetails);
assert_false(
await request.hasEnrolledInstrument(),
"Payment method is supported."
);
}, `hasEnrolledInstrument() resolves to false for unsupported payment methods.`);
</script>
<small>
If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a>
and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/META.yml">suggested reviewers</a>.
</small>

View file

@ -0,0 +1,25 @@
<!doctype html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<iframe src="resources/iframe-reload-TAO.sub.html"></iframe>
<script>
async_test(t => {
window.onmessage = t.step_func(e => {
const data = e.data;
assert_greater_than(data.domainLookupStart, 0,
"domainLookupStart should be greater than 0.");
assert_greater_than(data.domainLookupEnd, 0,
"domainLookupEnd should be greater than 0.");
assert_greater_than(data.connectStart, 0,
"connectStart should be greater than 0.");
assert_greater_than(data.connectEnd, 0,
"connectEnd should be greater than 0.");
t.done();
});
}, "Test that TAO headers are reused on reloads.");
</script>
</body>

View file

@ -0,0 +1,17 @@
import os.path
def main(request, response):
etag = "123abc"
if etag == request.headers.get("If-None-Match", None):
response.headers.set("X-HTTP-STATUS", 304)
response.status = (304, "Not Modified")
return ""
response.headers.set("Cache-Control", "public, max-age=86400")
response.headers.set("Content-Type", "font/truetype")
response.headers.set("Access-Control-Allow-Origin", "*")
response.headers.set("Timing-Allow-Origin", "*")
response.headers.set("ETag", etag)
font = "../../fonts/Ahem.ttf"
path = os.path.join(os.path.dirname(__file__), font)
response.content = open(path, "rb").read()

View file

@ -0,0 +1,28 @@
<style>
@font-face {
font-family: ahem;
src: url(http://{{domains[www]}}:{{ports[http][1]}}/resource-timing/resources/cors-ahem.py);
}
</style>
<div style="font-family: ahem;">This fetches ahem font.</div>
<script>
if (location.hash === '#check') {
document.fonts.ready.then(()=> {
const entries = performance.getEntriesByName('http://{{domains[www]}}:{{ports[http][1]}}/resource-timing/resources/cors-ahem.py');
if (entries.length != 1)
return;
const entry = entries[0];
window.parent.postMessage({
"domainLookupStart": entry.domainLookupStart,
"domainLookupEnd": entry.domainLookupEnd,
"connectStart": entry.connectStart,
"connectEnd": entry.connectEnd
}, "*");
});
} else {
document.fonts.ready.then(() => {
location.hash = 'check';
location.reload();
});
}
</script>

View file

@ -0,0 +1,14 @@
'use strict';
importScripts('/resources/testharness.js');
let workerType;
if (typeof postMessage === 'function') {
workerType = 'dedicated';
}
promise_test(() => navigator.serial.getPorts(),
`Inherited header feature policy allows ${workerType} workers.`);
done();

View file

@ -0,0 +1,17 @@
'use strict';
importScripts('/resources/testharness.js');
const header = 'Feature-Policy header {"serial" : []}';
let workerType;
if (typeof postMessage === 'function') {
workerType = 'dedicated';
}
promise_test(() => navigator.serial.getPorts().then(
() => assert_unreached('expected promise to reject with SecurityError'),
error => assert_equals(error.name, 'SecurityError')),
`Inherited ${header} disallows ${workerType} workers.`);
done();

View file

@ -0,0 +1,44 @@
<!DOCTYPE html>
<body>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/feature-policy/resources/featurepolicy.js></script>
<script>
'use strict';
const relative_path = '/feature-policy/resources/feature-policy-serial.html';
const base_src = '/feature-policy/resources/redirect-on-load.html#';
const relative_worker_frame_path =
'/feature-policy/resources/feature-policy-serial-worker.html';
const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
const same_origin_src = base_src + relative_path;
const cross_origin_src = base_src + sub + relative_path;
const same_origin_worker_frame_src = base_src + relative_worker_frame_path;
const cross_origin_worker_frame_src = base_src + sub +
relative_worker_frame_path;
const header = 'Feature-Policy allow="serial"';
async_test(t => {
test_feature_availability(
'serial.getPorts()', t, same_origin_src,
expect_feature_available_default, 'serial');
}, header + ' allows same-origin relocation.');
async_test(t => {
test_feature_availability(
'serial.getPorts()', t, same_origin_worker_frame_src,
expect_feature_available_default, 'serial');
}, header + ' allows workers in same-origin relocation.');
async_test(t => {
test_feature_availability(
'serial.getPorts()', t, cross_origin_src,
expect_feature_unavailable_default, 'serial');
}, header + ' disallows cross-origin relocation.');
async_test(t => {
test_feature_availability(
'serial.getPorts()', t, cross_origin_worker_frame_src,
expect_feature_unavailable_default, 'serial');
}, header + ' disallows workers in cross-origin relocation.');
</script>
</body>

View file

@ -0,0 +1,46 @@
<!DOCTYPE html>
<body>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/feature-policy/resources/featurepolicy.js></script>
<script>
'use strict';
const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
const same_origin_src = '/feature-policy/resources/feature-policy-serial.html';
const cross_origin_src = sub + same_origin_src;
const same_origin_worker_frame_src =
'/feature-policy/resources/feature-policy-serial-worker.html';
const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src;
const feature_name = 'Feature policy "serial"';
const header = 'allow="serial" attribute';
async_test(t => {
test_feature_availability(
'serial.getPorts()', t, same_origin_src,
expect_feature_available_default, 'serial');
}, feature_name + ' can be enabled in same-origin iframe using ' + header);
async_test(t => {
test_feature_availability(
'serial.getPorts()', t, same_origin_worker_frame_src,
expect_feature_available_default, 'serial');
}, feature_name + ' can be enabled in a worker in same-origin iframe using ' +
header);
async_test(t => {
test_feature_availability(
'serial.getPorts()', t, cross_origin_src,
expect_feature_available_default, 'serial');
}, feature_name + ' can be enabled in cross-origin iframe using ' + header);
async_test(t => {
test_feature_availability(
'serial.getPorts()', t, cross_origin_worker_frame_src,
expect_feature_available_default, 'serial');
}, feature_name + ' can be enabled in a worker in cross-origin iframe using ' +
header);
fetch_tests_from_worker(new Worker(
'resources/serial-allowed-by-feature-policy-worker.js'));
</script>
</body>

View file

@ -0,0 +1,44 @@
<!DOCTYPE html>
<body>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/feature-policy/resources/featurepolicy.js></script>
<script>
'use strict';
const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
const same_origin_src = '/feature-policy/resources/feature-policy-serial.html';
const cross_origin_src = sub + same_origin_src;
const same_origin_worker_frame_src =
'/feature-policy/resources/feature-policy-serial-worker.html';
const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src;
const header = 'Feature-Policy header {"serial" : ["*"]}';
promise_test(
() => navigator.serial.getPorts(),
header + ' allows the top-level document.');
async_test(t => {
test_feature_availability('serial.getPorts()', t, same_origin_src,
expect_feature_available_default);
}, header + ' allows same-origin iframes.');
async_test(t => {
test_feature_availability('serial.getPorts()', t, same_origin_worker_frame_src,
expect_feature_available_default);
}, header + ' allows workers in same-origin iframes.');
async_test(t => {
test_feature_availability('serial.getPorts()', t, cross_origin_src,
expect_feature_available_default);
}, header + ' allows cross-origin iframes.');
async_test(t => {
test_feature_availability('serial.getPorts()', t,
cross_origin_worker_frame_src,
expect_feature_available_default);
}, header + ' allows workers in cross-origin iframes.');
fetch_tests_from_worker(new Worker(
'resources/serial-allowed-by-feature-policy-worker.js'));
</script>
</body>

View file

@ -0,0 +1 @@
Feature-Policy: serial *

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<body>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/feature-policy/resources/featurepolicy.js></script>
<script>
'use strict';
var same_origin_src = '/feature-policy/resources/feature-policy-serial.html';
var cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' +
same_origin_src;
var header = 'Default "serial" feature policy ["self"]';
promise_test(
() => navigator.serial.getPorts(),
header + ' allows the top-level document.');
async_test(t => {
test_feature_availability('serial.getPorts()', t, same_origin_src,
expect_feature_available_default);
}, header + ' allows same-origin iframes.');
async_test(t => {
test_feature_availability('serial.getPorts()', t, cross_origin_src,
expect_feature_unavailable_default);
}, header + ' disallows cross-origin iframes.');
</script>
</body>

View file

@ -0,0 +1,48 @@
<!DOCTYPE html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script>
<script>
'use strict';
const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
const same_origin_src = '/feature-policy/resources/feature-policy-serial.html';
const cross_origin_src = sub + same_origin_src;
const same_origin_worker_frame_src =
'/feature-policy/resources/feature-policy-serial-worker.html';
const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src;
const header = 'Feature-Policy header {"serial" : []}';
promise_test(() => {
return navigator.serial.getPorts().then(() => {
assert_unreached('expected promise to reject with SecurityError');
}, error => {
assert_equals(error.name, 'SecurityError');
});
}, header + ' disallows getPorts in the top-level document.');
async_test(t => {
test_feature_availability('serial.getPorts()', t, same_origin_src,
expect_feature_unavailable_default);
}, header + ' disallows same-origin iframes.');
async_test(t => {
test_feature_availability('serial.getPorts()', t, same_origin_worker_frame_src,
expect_feature_unavailable_default);
}, header + ' disallows workers in same-origin iframes.');
async_test(t => {
test_feature_availability('serial.getPorts()', t, cross_origin_src,
expect_feature_unavailable_default);
}, header + ' disallows cross-origin iframes.');
async_test(t => {
test_feature_availability('serial.getPorts()', t,
cross_origin_worker_frame_src,
expect_feature_unavailable_default);
}, header + ' disallows workers in cross-origin iframes.');
fetch_tests_from_worker(new Worker(
'resources/serial-disabled-by-feature-policy-worker.js'));
</script>
</body>

View file

@ -0,0 +1 @@
Feature-Policy: serial 'none'

View file

@ -226,9 +226,6 @@ class Firefox(Browser):
tag = "tip" tag = "tip"
else: else:
repo = "https://hg.mozilla.org/mozilla-central" repo = "https://hg.mozilla.org/mozilla-central"
if channel == "beta":
tag = "FIREFOX_%s_BETA" % version.split(".", 1)[0]
else:
# Always use tip as the tag for nightly; this isn't quite right # Always use tip as the tag for nightly; this isn't quite right
# but to do better we need the actual build revision, which we # but to do better we need the actual build revision, which we
# can get if we have an application.ini file # can get if we have an application.ini file

View file

@ -22,7 +22,9 @@
// Calculate the index for disconnection. // Calculate the index for disconnection.
function getDisconnectIndex(disconnectTime) { function getDisconnectIndex(disconnectTime) {
let disconnectIndex = disconnectTime * sampleRate; let disconnectIndex = disconnectTime * sampleRate;
return disconnectIndex -= (disconnectIndex) % renderQuantum; disconnectIndex = renderQuantum *
Math.floor((disconnectIndex + renderQuantum - 1) / renderQuantum);
return disconnectIndex;
} }
// Get the index of value change. // Get the index of value change.
@ -35,7 +37,6 @@
// Task 1: test disconnect(AudioParam) method. // Task 1: test disconnect(AudioParam) method.
audit.define('disconnect(AudioParam)', (task, should) => { audit.define('disconnect(AudioParam)', (task, should) => {
// Creates a buffer source with value [1] and then connect it to two // Creates a buffer source with value [1] and then connect it to two
// gain nodes in series. The output of the buffer source is lowered by // gain nodes in series. The output of the buffer source is lowered by
// half // half
@ -89,14 +90,12 @@
should(channelData, 'Channel #0').containValues([2.25, 1.5]); should(channelData, 'Channel #0').containValues([2.25, 1.5]);
should(valueChangeIndex, 'The index of value change') should(valueChangeIndex, 'The index of value change')
.beEqualTo(disconnectIndex); .beEqualTo(disconnectIndex);
}) })
.then(() => task.done()); .then(() => task.done());
}); });
// Task 2: test disconnect(AudioParam, output) method. // Task 2: test disconnect(AudioParam, output) method.
audit.define('disconnect(AudioParam, output)', (task, should) => { audit.define('disconnect(AudioParam, output)', (task, should) => {
// Create a 2-channel buffer source with [1, 2] in each channel and // Create a 2-channel buffer source with [1, 2] in each channel and
// make a serial connection through gain1 and gain 2. The make the // make a serial connection through gain1 and gain 2. The make the
// buffer source half with a gain node and connect it to a 2-output // buffer source half with a gain node and connect it to a 2-output
@ -168,7 +167,6 @@
valueChangeIndexCh1, valueChangeIndexCh1,
'The index of value change in channel #1') 'The index of value change in channel #1')
.beEqualTo(disconnectIndex); .beEqualTo(disconnectIndex);
}) })
.then(() => task.done()); .then(() => task.done());
}); });
@ -191,19 +189,28 @@
gain3.connect(context.destination); gain3.connect(context.destination);
// gain1 is not connected to gain3.gain. Exception should be thrown. // gain1 is not connected to gain3.gain. Exception should be thrown.
should(function() { should(
function() {
gain1.disconnect(gain3.gain); gain1.disconnect(gain3.gain);
}, 'gain1.disconnect(gain3.gain)').throw(DOMException, 'InvalidAccessError'); },
'gain1.disconnect(gain3.gain)')
.throw(DOMException, 'InvalidAccessError');
// When the output index is good but the destination is invalid. // When the output index is good but the destination is invalid.
should(function() { should(
function() {
splitter.disconnect(gain1.gain, 1); splitter.disconnect(gain1.gain, 1);
}, 'splitter.disconnect(gain1.gain, 1)').throw(DOMException, 'InvalidAccessError'); },
'splitter.disconnect(gain1.gain, 1)')
.throw(DOMException, 'InvalidAccessError');
// When both arguments are wrong, throw IndexSizeError first. // When both arguments are wrong, throw IndexSizeError first.
should(function() { should(
function() {
splitter.disconnect(gain1.gain, 2); splitter.disconnect(gain1.gain, 2);
}, 'splitter.disconnect(gain1.gain, 2)').throw(DOMException, 'IndexSizeError'); },
'splitter.disconnect(gain1.gain, 2)')
.throw(DOMException, 'IndexSizeError');
task.done(); task.done();
}); });

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