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",
@ -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",
@ -202634,6 +202670,11 @@
{}
]
],
"animation-worklet/references/translated-box-ref.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": [
[
{}
@ -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": [
[
{}
@ -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": [
[
{}
@ -308514,6 +308575,11 @@
{}
]
],
"resource-timing/resources/cors-ahem.py": [
[
{}
]
],
"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": [
[
{}
@ -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": [
[
{}
@ -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",
@ -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",
@ -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",
@ -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",
@ -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=windows-1252",
{}
],
[
"/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=windows-1252",
{}
],
[
"/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=windows-1252",
{}
],
[
"/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",
@ -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",
@ -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",
@ -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",
@ -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"
],
"animation-worklet/common.js": [
"eb114f24687289fcdd0515ead7dbbc074c7ccbba",
"983c22403c44256f11ca470f2f74410ac3b84e08",
"support"
],
"animation-worklet/current-time.https.html": [
@ -456658,6 +456855,10 @@
"e821a2fee8a3ace54e8e7092ab17c490a0ded914",
"testharness"
],
"animation-worklet/references/translated-box-ref.html": [
"c73f5a177bf70f3a71d981bc9f04b38c5afe9f1c",
"support"
],
"animation-worklet/resources/animator-iframe.html": [
"e30cc281fcdefd8d029e7bf0ea92a1a9cd7af7e7",
"support"
@ -456682,6 +456883,18 @@
"addb16e7d1751280c8d4f3e0052b808ab807cd7e",
"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": [
"b910ab280ec80725eee7894e8331cf72f6c24492",
"testharness"
@ -458751,7 +458964,7 @@
"testharness"
],
"background-fetch/fetch.https.window.js": [
"35b5709d22b84a5f8babad6137277e0afbc4d582",
"d4bc8bf128259e203569d0c9e03e8b11d5b42cd8",
"testharness"
],
"background-fetch/get-ids.https.window.js": [
@ -458763,7 +458976,7 @@
"testharness"
],
"background-fetch/idlharness.https.any.js": [
"f2c8a56590aedc52051e7ad8f51b3725091821dc",
"f9744c8f944fcefe5a6a21e9a7644cf88644c173",
"testharness"
],
"background-fetch/mixed-content-and-allowed-schemes.https.window.js": [
@ -459931,27 +460144,27 @@
"testharness"
],
"clipboard-apis/async-navigator-clipboard-basics.https.html": [
"ea0ca2902c5ab4643a1d72f554ce21ef1780a4ad",
"5a23598fb0bd41dbc854cebb340d6f6ed8db54db",
"testharness"
],
"clipboard-apis/async-write-dttext-read-dttext-manual.https.html": [
"2930b47162289aa2927352633631255bae24212c",
"clipboard-apis/async-write-blobtext-read-blobtext-manual.https.html": [
"f860bf23db2ee381805ed5b4053c309a45954342",
"manual"
],
"clipboard-apis/async-write-dttext-read-text-manual.https.html": [
"1b178696f17ca0bc1bac0b7e1c285ae8d52d5360",
"clipboard-apis/async-write-blobtext-read-text-manual.https.html": [
"685b6cb603ddeb66e68cd23efe85d744f8a17223",
"manual"
],
"clipboard-apis/async-write-image-read-image-manual.https.html": [
"6117e469792ff61ff30015f2d94f1ceb2e3332ac",
"ee90e7e89a8994ba728d673e1da031c21cf38a04",
"manual"
],
"clipboard-apis/async-write-text-read-dttext-manual.https.html": [
"9f524b93d719b7b94cfcede77948d507bc0d4b57",
"clipboard-apis/async-write-text-read-blobtext-manual.https.html": [
"69f72db82c07d2bca7446cf65d6d3056bebe24e2",
"manual"
],
"clipboard-apis/async-write-text-read-text-manual.https.html": [
"3a3922e626a1eaffc9e41cb1b6b541d2aae17f33",
"496bdd78c7ab2ec0d26adafea6449ec18cc03340",
"manual"
],
"clipboard-apis/clipboard-events-synthetic.html": [
@ -569275,7 +569488,7 @@
"support"
],
"css/css-overscroll-behavior/META.yml": [
"f15c86fd9069b04a23975834215adcc077711789",
"97705c2df87277d9e5af97d53e453305449c94b8",
"support"
],
"css/css-overscroll-behavior/inheritance.html": [
@ -569286,6 +569499,18 @@
"97f52984a51ae4157ec8ed91ddf4b3b8d405bec6",
"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": [
"2f9e29e2787e8c41d0a9ebe1df8342a6c52a01a8",
"support"
@ -618894,6 +619119,22 @@
"1759381fdc4141302f1b95868550ead76d9f5ca7",
"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": [
"76d26ed502743549fe426703eef4da38a4076f64",
"testharness"
@ -619006,6 +619247,18 @@
"2f33c449536d1b0253a9a1c0b52073bc500121f3",
"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": [
"fa8a2d70eb8d12933479e094e90375fedd062f5e",
"support"
@ -623778,10 +624031,6 @@
"a55d85dfdf293adc0b7160ed1bce213967d9822e",
"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": [
"65a7f5c8981130c15b4cb91d460a11e2b529b0ce",
"testharness"
@ -623794,10 +624043,6 @@
"82e8023d0ba61851af5747ee2ccba154193d1875",
"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": [
"d3d5260af3f143edd702400879cc3d5db4aea40d",
"support"
@ -629879,15 +630124,15 @@
"testharness"
],
"html/infrastructure/urls/resolving-urls/query-encoding/attributes.sub.html": [
"c3d550a39b3f1a8d419e2b7fc16a5f8c400df2d5",
"d596f37716835209a7ca161e6ec039ce8e7a7927",
"testharness"
],
"html/infrastructure/urls/resolving-urls/query-encoding/location.sub.html": [
"3ad228b0b271716b8bb775a84a8c57258a3a371e",
"a5c131e2bece1d4a92d4eb782fbcc5b0c42306a1",
"testharness"
],
"html/infrastructure/urls/resolving-urls/query-encoding/navigation.sub.html": [
"80cf75104fc818b4e1502225184d2f19da8468f6",
"bca61372b4c8b1589c420b7612fd87b60dce37e6",
"testharness"
],
"html/infrastructure/urls/resolving-urls/query-encoding/resources/blank.py": [
@ -637179,15 +637424,15 @@
"support"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/Function.js": [
"bc88bf7bd637a06e5f1fc23743470144b1dfb55f",
"447e5060b14b3f81c6ced27658810b179c14a4c8",
"support"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/eval.js": [
"a8bcffe9f81141df3ec37bc268c47cea5a48960b",
"100602733a8c3b97293425dfcf6e6f973ce64b31",
"support"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/inline-event-handlers-UA-code.js": [
"c0bd8655873e989ba3ec567fde2adad15d90726a",
"eaf98f3807feffcc5d8ebf50eeef8093b0a7c1f6",
"support"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/no-active-script.js": [
@ -637195,11 +637440,11 @@
"support"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/reflected-inline-event-handlers.js": [
"f19ec2b03f9f2e5823098559ab0195b648ed3e93",
"402219d0b4c214f9f50341d52480407658df35a1",
"support"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/scripts/setTimeout.js": [
"c6f2dda55aaa51d8dafcb9f8444a9e616fecafaa",
"342b342e8efd9accb615b8bd0aaecc1972328f05",
"support"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-base-url-external-classic.html": [
@ -637235,11 +637480,11 @@
"testharness"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic.html": [
"33714c70ca603759951d175bddff4d850afa9fb4",
"0efcab658ee1b9c48a66dbf4b91043e5e960a9c4",
"testharness"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module.html": [
"9411acd2a07b605d33195eb05626edf4e82f0436",
"50d7b30570e453f319329d7562011cd62a57e092",
"testharness"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-of-promise-result.html": [
@ -637247,7 +637492,7 @@
"testharness"
],
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document.html": [
"a9c0528216166a458e48902c2c722a548432f4dd",
"3b1d98f6b11ef689c066ab00cf0e096ca8a4c04d",
"testharness"
],
"html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency.html": [
@ -641483,7 +641728,7 @@
"support"
],
"interfaces/cssom.idl": [
"7d9536d943f8679902f6f8e362b15aa584259f2c",
"a914ac0d78c627722262587a84e5a30ef367a6f0",
"support"
],
"interfaces/dedicated-workers.idl": [
@ -642419,75 +642664,75 @@
"support"
],
"mathml/presentation-markup/fractions/frac-1.html": [
"fc650eb4c4a65cc49031e870229f463b3422b609",
"848eb5b144cef3740b794475f699229243c1287e",
"testharness"
],
"mathml/presentation-markup/fractions/frac-parameters-1.html": [
"a047a30873c7765dafa5678fc99072bbe2f017e4",
"543017e19006377cac0c1a434bd43400467fac3b",
"testharness"
],
"mathml/presentation-markup/fractions/frac-parameters-2.html": [
"544511388685a3ed79eaa2e80875205c19e7a62f",
"75074875c9e6b1fa205fe76b85c4a0b36fadf274",
"testharness"
],
"mathml/presentation-markup/operators/mo-axis-height-1.html": [
"327a72e30b53a6b0a619ef2b33f21bfeb7fd4a63",
"7b0031ac1ed63219130b69113ebbfdc28eec10d6",
"testharness"
],
"mathml/presentation-markup/radicals/root-parameters-1.html": [
"67a4613813421ed55a7fb44622b52f2c1f0f2b0f",
"8ffcbe4a22d1225e4494d91437200ca8361a27bf",
"testharness"
],
"mathml/presentation-markup/scripts/subsup-1.html": [
"2ff14a694c99461f4474af1d9b283ed3082f7b8b",
"39768315e72d13b5952e3bc743617a8d29b223ca",
"testharness"
],
"mathml/presentation-markup/scripts/subsup-2.html": [
"abef28d12df64ffac355fd627fe2493ae7b43ff9",
"26fa5de780b086a777fb6494cfb6f163b7813e02",
"testharness"
],
"mathml/presentation-markup/scripts/subsup-3.html": [
"c49718979c30b9fa782fda0dc49686e7f7f362bb",
"231f65ab4f46bbe64a20a7db170ffb42deef460f",
"testharness"
],
"mathml/presentation-markup/scripts/subsup-4.html": [
"2acc7746c4fb1e754f7c3abbc2d424b244ce9876",
"c4bf4382f8ed51849d396cd313ff851fe70248e4",
"testharness"
],
"mathml/presentation-markup/scripts/subsup-5.html": [
"19b6eee66747795b00776768aa1738006725e3c0",
"005ceea4019918f47606e25a91654a841b1e437a",
"testharness"
],
"mathml/presentation-markup/scripts/subsup-parameters-1.html": [
"9bc6bcbf277c1352d2d23c889048a2afc745ee9f",
"b0ebaceb4355b4ddafff11febb41e36a5afe854c",
"testharness"
],
"mathml/presentation-markup/scripts/subsup-parameters-2.html": [
"eaa4f0ffab154aff2ca1072f306c115a8d0bcf13",
"5ba66b86c3dadf5b4e4d3ddfa4c27d6286e137f1",
"testharness"
],
"mathml/presentation-markup/scripts/underover-1.html": [
"6e039b9d609d65933ebc736a9a9ff91d2da572b5",
"6dcdbb7b388b6955e744f5d9eb9e1e27e9abef34",
"testharness"
],
"mathml/presentation-markup/scripts/underover-parameters-1.html": [
"1e5a6606b03a19487b2394b95eac26bd4ac0cb4e",
"802293829fd8de194ae6a12b0aea458689770ae1",
"testharness"
],
"mathml/presentation-markup/scripts/underover-parameters-2.html": [
"c28f29c99e69761ddd2e9205b4f942e65014afc8",
"e9d6af4901e16602dd7a54a7c74f3594e26402c9",
"testharness"
],
"mathml/presentation-markup/scripts/underover-parameters-3.html": [
"0172ff1c700924e3412e84cd2e1445a009e61b5e",
"373d6d4d06ecc0593dfda27164fe26a4d55dc1d1",
"testharness"
],
"mathml/presentation-markup/scripts/underover-parameters-4.html": [
"061cda79af9f9e7157ac37736f755ac233bf0a6f",
"3b1fa575f72473443271ebbd193bfc7b866dfc1a",
"testharness"
],
"mathml/presentation-markup/spaces/space-1.html": [
"adb36377842295e1bf0ec298d7ec19aa5adaeeb4",
"cb9dd9e9acbddd54c3729962f4efa4eeb56d8452",
"testharness"
],
"mathml/presentation-markup/spaces/space-2-ref.html": [
@ -642495,11 +642740,11 @@
"support"
],
"mathml/presentation-markup/spaces/space-2.html": [
"544cfb1f6689a51b69c4492af5403a207032800a",
"072f2bda542f9b9ee64acd3161f2949c31fbf955",
"reftest"
],
"mathml/presentation-markup/tables/table-axis-height.html": [
"50c3491e487bfb3c22d444266e4a1aedb070641a",
"024bdd29b116de1c3112e9482a2f4ce286126a91",
"testharness"
],
"mathml/relations/css-styling/color-1-ref.html": [
@ -642515,11 +642760,11 @@
"support"
],
"mathml/relations/css-styling/display-1.html": [
"551f6402d85924005491cf50f3b9d4fcd547f8fe",
"a7d6277d70d1658bf291c5d46ed14aa2e1f7ec90",
"reftest"
],
"mathml/relations/css-styling/displaystyle-1.html": [
"2749e09c48a759c02f1f2148387c8586c207b9e5",
"3143343da7e39ff931f552af942e62882062bc77",
"testharness"
],
"mathml/relations/css-styling/lengths-1-ref.html": [
@ -642539,7 +642784,7 @@
"reftest"
],
"mathml/relations/css-styling/lengths-3.html": [
"a7133f89ecf4eed567c2d44bbb8d585be474c17d",
"68a144aca69c4fac862073029d8479369773e25a",
"testharness"
],
"mathml/relations/css-styling/mathvariant-bold-fraktur-ref.html": [
@ -642695,7 +642940,7 @@
"reftest"
],
"mathml/relations/html5-tree/class-2.html": [
"9dbede840199c32fe89eb7800abd08bf811ecdf1",
"707500de37fc117bf6174bd9aa7aaba298a705da",
"testharness"
],
"mathml/relations/html5-tree/color-attributes-1-ref.html": [
@ -642707,7 +642952,7 @@
"reftest"
],
"mathml/relations/html5-tree/display-1.html": [
"4eb302c3ee821a015e76c561b46eb528ce78a93d",
"64d862cf7614f29435a08a6ac66d45f84575a053",
"testharness"
],
"mathml/relations/html5-tree/dynamic-1-ref.html": [
@ -642723,7 +642968,7 @@
"support"
],
"mathml/relations/html5-tree/href-click-1.html": [
"80e4c754d805ce85744f8d6157c1901f471be2a9",
"6164346dc079da139855de96937f9d5b7861c285",
"reftest"
],
"mathml/relations/html5-tree/href-click-2-ref.html": [
@ -642731,7 +642976,7 @@
"support"
],
"mathml/relations/html5-tree/href-click-2.html": [
"1e41f77cc4375f7cf8568cecb7b8d169da0be14f",
"6e5049392bd9c62e42086f3d1a7cdc9583fd29a9",
"reftest"
],
"mathml/relations/html5-tree/href-manual.html": [
@ -642791,7 +643036,7 @@
"reftest"
],
"mathml/relations/html5-tree/unique-identifier-2.html": [
"b3226c293b5f1394f5245644d1630bfef4f86b36",
"97e04a91ef13e650757fc2fe01ef068932e31b16",
"testharness"
],
"mathml/relations/html5-tree/unique-identifier-3-ref.html": [
@ -653783,7 +654028,7 @@
"testharness"
],
"payment-handler/idlharness.https.any.js": [
"6fbba53515eba4db995624cecaff1512fbace056",
"878114ec7ed878d3e754341cbffa138092fee129",
"testharness"
],
"payment-handler/manifest.json": [
@ -654038,12 +654283,16 @@
"cf16401d0b0d3e97f3ab14c337880a4ec0d9ea7f",
"testharness"
],
"payment-request/payment-request-canmakepayment-method-manual.https.html": [
"fea45500b18b35eadf144389e86d444d53366fce",
"manual"
],
"payment-request/payment-request-canmakepayment-method-protection.https.html": [
"e221034dd4ebd05c5bd701e05a81895b8457c3b7",
"testharness"
],
"payment-request/payment-request-canmakepayment-method.https.html": [
"672e5ce1571435e9f16b8010456e859f12d2c9c4",
"cc8349a42239ca1a459d59f016611f6e564f4690",
"testharness"
],
"payment-request/payment-request-constructor-crash.https.html": [
@ -654062,6 +654311,18 @@
"5f888f0389f6c756ede8c3e481ece7bcf8b71ccf",
"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": [
"e5d0c7a66eee67f529cd48fa640f08481f5e5a38",
"testharness"
@ -664622,6 +664883,10 @@
"0e3f405e14b7af9f0b2a4fe5ce916ed1e47534de",
"testharness"
],
"resource-timing/resource-reload-TAO.sub.html": [
"48ab84bf964ef4ae2a0f3adc8fdd81867918c4f0",
"testharness"
],
"resource-timing/resource-timing-level1.js": [
"95b5cdfb1ed0ca2bbfd6b692ad565512218dd7a4",
"support"
@ -664786,6 +665051,10 @@
"b143da7b325f0ad24a2f9ad67db7ba31d0aa912c",
"support"
],
"resource-timing/resources/cors-ahem.py": [
"1998d47c492e09cd418c913e8824d3515091f73d",
"support"
],
"resource-timing/resources/document-domain-no-impact.sub.html": [
"fbd7bc3b6e21ee39478c8a63780bb673dafe96a4",
"support"
@ -664830,6 +665099,10 @@
"31a769eb3666492a3804f1c3deca73df526c0a4f",
"support"
],
"resource-timing/resources/iframe-reload-TAO.sub.html": [
"577aff7758c779893f010658d216f34802a4edfe",
"support"
],
"resource-timing/resources/iframe-setdomain.sub.html": [
"4a2f609aa469f14d7efe64baaeb739efdb2fdc75",
"support"
@ -666674,6 +666947,42 @@
"7be8ba61bc20cd2efe262de6b68a43fd3310b59e",
"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": [
"db92a67f44cd1bd04f0309695bcfcbd5efe5c096",
"support"
@ -680075,7 +680384,7 @@
"support"
],
"tools/wpt/browser.py": [
"4878663091a13f6a94142844bfede51792eb1b7e",
"8c573a82bde2da17463943703d7ad20cb57df0cd",
"support"
],
"tools/wpt/commands.json": [
@ -684655,7 +684964,7 @@
"testharness"
],
"webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam.html": [
"386614ff2e20e7abd4e511bf5e9d7d492cddfeb3",
"0b09edd4a7007e54721c4e1d8fb1112e71e5cb1a",
"testharness"
],
"webaudio/the-audio-api/the-audionode-interface/audionode-disconnect.html": [
@ -684987,7 +685296,7 @@
"testharness"
],
"webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-disconnect.html": [
"5fb18c8aee41034f75e36959040e2d23e840ddca",
"ad74d5e00457e6ccd1b165940ecad140a423d247",
"testharness"
],
"webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-non-default.html": [
@ -687026,6 +687335,10 @@
"344007ded2b4d4496171402896d738817cdde12e",
"testharness"
],
"webrtc/RTCIceConnectionState-candidate-pair.https.html": [
"7280d040856370f448796a4de2f92f82f9c78c53",
"testharness"
],
"webrtc/RTCIceTransport-extension-helper.js": [
"659ec59b8df2847e7e2a3c513d3d6fd01027f16d",
"support"
@ -687095,11 +687408,11 @@
"testharness"
],
"webrtc/RTCPeerConnection-helper.js": [
"d1056d90f393d06713feeccb04d589c41690089e",
"1ff5f54015e6a65a47cd4a277818acb9c57318bc",
"support"
],
"webrtc/RTCPeerConnection-iceConnectionState.html": [
"b647b3d3e35e31f16b33422f67cb30b917d1d0af",
"webrtc/RTCPeerConnection-iceConnectionState.https.html": [
"8acabf49766ba08999b8857d8cb6589d1587c843",
"testharness"
],
"webrtc/RTCPeerConnection-iceGatheringState.html": [
@ -687183,7 +687496,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-track-stats.https.html": [
"2d45c343d861f0b62a7d3d1f979ff7702862e5d7",
"e394e63e50d78b96dd8b6815700a0cc8408ce239",
"testharness"
],
"webrtc/RTCPeerConnection-transceivers.https.html": [
@ -687243,7 +687556,7 @@
"testharness"
],
"webrtc/RTCRtpReceiver-getSynchronizationSources.https.html": [
"36460b479903231e15427f303f15c3b6a3de16e8",
"82ce3bd8467b6a29e4b40a105151b50314b5bf46",
"testharness"
],
"webrtc/RTCRtpSender-getCapabilities.html": [
@ -691823,7 +692136,7 @@
"testharness"
],
"webxr/xrSession_identity_referenceSpace.https.html": [
"6f4f1e805a060853eaa557a16111acd73d78fe42",
"6cb25019fcd4d95f5e312bbf49186d0579a31ddc",
"testharness"
],
"webxr/xrSession_mode.https.html": [
@ -691839,11 +692152,11 @@
"testharness"
],
"webxr/xrSession_requestAnimationFrame_data_valid.https.html": [
"f873a11588045d612cb16f2487a6efa14b555679",
"41801bcd3643b9173e0b447545967beb60cee330",
"testharness"
],
"webxr/xrSession_requestAnimationFrame_getViewerPose.https.html": [
"ca6a71758c691e16aad512e68c83e2fd42a8efbb",
"618dc13e4fe6eb6eda2c81eef53e722da3b09190",
"testharness"
],
"webxr/xrSession_requestReferenceSpace.https.html": [

View file

@ -690,274 +690,274 @@
[StyleSheet interface: sheet must inherit property "media" with the proper type]
expected: FAIL
[CSSStyleRule must be primary interface of sheet.cssRules\[4\]]
[CSSStyleRule must be primary interface of sheet.cssRules[4\]]
expected: FAIL
[Stringification of sheet.cssRules\[4\]]
[Stringification of sheet.cssRules[4\]]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[CSSPageRule must be primary interface of sheet.cssRules\[2\]]
[CSSPageRule must be primary interface of sheet.cssRules[2\]]
expected: FAIL
[Stringification of sheet.cssRules\[2\]]
[Stringification of sheet.cssRules[2\]]
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
[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
[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
[CSSMarginRule must be primary interface of sheet.cssRules\[2\].cssRules\[0\]]
[CSSMarginRule must be primary interface of sheet.cssRules[2\].cssRules[0\]]
expected: FAIL
[Stringification of sheet.cssRules\[2\].cssRules\[0\]]
[Stringification of sheet.cssRules[2\].cssRules[0\]]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[4\].style]
[CSSStyleDeclaration must be primary interface of sheet.cssRules[4\].style]
expected: FAIL
[Stringification of sheet.cssRules\[4\].style]
[Stringification of sheet.cssRules[4\].style]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[2\].style]
[CSSStyleDeclaration must be primary interface of sheet.cssRules[2\].style]
expected: FAIL
[Stringification of sheet.cssRules\[2\].style]
[Stringification of sheet.cssRules[2\].style]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[Stringification of sheet.cssRules\[2\].cssRules\[0\].style]
[Stringification of sheet.cssRules[2\].cssRules[0\].style]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[MediaList must be primary interface of sheet.media]
@ -1005,273 +1005,276 @@
[StyleSheet interface: sheet must inherit property "media" with the proper type]
expected: FAIL
[CSSStyleRule must be primary interface of sheet.cssRules\[4\]]
[CSSStyleRule must be primary interface of sheet.cssRules[4\]]
expected: FAIL
[Stringification of sheet.cssRules\[4\]]
[Stringification of sheet.cssRules[4\]]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[CSSPageRule must be primary interface of sheet.cssRules\[2\]]
[CSSPageRule must be primary interface of sheet.cssRules[2\]]
expected: FAIL
[Stringification of sheet.cssRules\[2\]]
[Stringification of sheet.cssRules[2\]]
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
[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
[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
[CSSMarginRule must be primary interface of sheet.cssRules\[2\].cssRules\[0\]]
[CSSMarginRule must be primary interface of sheet.cssRules[2\].cssRules[0\]]
expected: FAIL
[Stringification of sheet.cssRules\[2\].cssRules\[0\]]
[Stringification of sheet.cssRules[2\].cssRules[0\]]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[4\].style]
[CSSStyleDeclaration must be primary interface of sheet.cssRules[4\].style]
expected: FAIL
[Stringification of sheet.cssRules\[4\].style]
[Stringification of sheet.cssRules[4\].style]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[CSSStyleDeclaration must be primary interface of sheet.cssRules\[2\].style]
[CSSStyleDeclaration must be primary interface of sheet.cssRules[2\].style]
expected: FAIL
[Stringification of sheet.cssRules\[2\].style]
[Stringification of sheet.cssRules[2\].style]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[Stringification of sheet.cssRules\[2\].cssRules\[0\].style]
[Stringification of sheet.cssRules[2\].cssRules[0\].style]
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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

View file

@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
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]
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]
expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL

View file

@ -30,3 +30,16 @@ function waitForAsyncAnimationFrames(count) {
// AnimationWorklet.
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']);
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;
assert_true(response.url.includes('resources/feature-name.txt'));
const completedResponseText = await response.text();
assert_equals(completedResponseText, expectedResultText);
resolve();
};
});
const response = await record.responseReady;
assert_true(response.url.includes('resources/feature-name.txt'));
const completedResponseText = await response.text();
assert_equals(completedResponseText, 'Background Fetch');
}, 'Access to active fetches is supported.');

View file

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

View file

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

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 => {
const input = await loadBlob('resources/greenbox.png');
await navigator.clipboard.writeImageExperimental(input);
const output = await navigator.clipboard.readImageExperimental();
assert_equals(input.type, "image/png");
await navigator.clipboard.write(input);
const output = await navigator.clipboard.read();
assert_equals(output.type, "image/png");
document.getElementById('image-on-clipboard').src =
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/testharnessreport.js"></script>
<script>
promise_test(async t => {
const input = "Clipboard writeText -> readText test data";
async function readWriteTest(textInput) {
promise_test(async t => {
await navigator.clipboard.writeText(textInput);
const textOutput = await navigator.clipboard.readText();
await navigator.clipboard.writeText(input);
const output = await navigator.clipboard.readText();
assert_equals(textOutput, textInput);
}, "Verify write and read clipboard given text: " + textInput);
}
assert_equals(output, input);
}, "Verify write and read clipboard (DOMString)");
readWriteTest("Clipboard write text -> read text test");
readWriteTest("non-Latin1 text encoding test データ");
</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.
<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,3 +1,4 @@
spec: https://drafts.csswg.org/css-overscroll-behavior/
suggested_reviewers:
- 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>
<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=utf8">
<script src=/resources/testharness.js></script>

View file

@ -1,5 +1,6 @@
<!doctype html>
<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=utf8">
<script src=/resources/testharness.js></script>

View file

@ -1,5 +1,6 @@
<!doctype html>
<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=utf8">
<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)`)();

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)`);

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()

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();

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

View file

@ -37,7 +37,7 @@ function assertSuccessful(module) {
promise_test(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);
}, "setTimeout must inherit the nonce from the triggering script, thus execute");
@ -81,8 +81,8 @@ promise_test(t => {
);
dummyDiv.onclick();
return promise.then(assertSuccessful);
}, "reflected inline event handlers must inherit the nonce from the triggering script, thus execute");
return promise_rejects(t, new TypeError(), promise);
}, "reflected inline event handlers must not inherit the nonce from the triggering script, thus fail");
promise_test(t => {
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");
dummyDiv.click(); // different from **on**click()
return promise.then(assertSuccessful);
}, "inline event handlers triggered via UA code must inherit the nonce from the triggering script, thus execute");
return promise_rejects(t, new TypeError(), promise);
}, "inline event handlers triggered via UA code must not inherit the nonce from the triggering script, thus fail");
</script>

View file

@ -36,7 +36,7 @@ function assertSuccessful(module) {
promise_test(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);
}, "setTimeout must inherit the nonce from the triggering script, thus execute");
@ -80,8 +80,8 @@ promise_test(t => {
);
dummyDiv.onclick();
return promise.then(assertSuccessful);
}, "reflected inline event handlers must inherit the nonce from the triggering script, thus execute");
return promise_rejects(t, new TypeError(), promise);
}, "reflected inline event handlers must not inherit the nonce from the triggering script, thus fail");
promise_test(t => {
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");
dummyDiv.click(); // different from **on**click()
return promise.then(assertSuccessful);
}, "inline event handlers triggered via UA code must inherit the nonce from the triggering script, thus execute");
return promise_rejects(t, new TypeError(), promise);
}, "inline event handlers triggered via UA code must not inherit the nonce from the triggering script, thus fail");
</script>

View file

@ -26,14 +26,6 @@ function startTest() {
"the Function constructor"(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)) {
@ -53,6 +45,35 @@ function startTest() {
});
}, 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>
<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
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: CSS Object Model (CSSOM) (https://drafts.csswg.org/cssom/)
typedef USVString CSSOMString;
[Exposed=Window]
interface MediaList {
stringifier attribute [TreatNullAs=EmptyString] CSSOMString mediaText;
@ -19,7 +26,7 @@ interface StyleSheet {
readonly attribute CSSOMString type;
readonly attribute USVString? href;
readonly attribute (Element or ProcessingInstruction)? ownerNode;
readonly attribute StyleSheet? parentStyleSheet;
readonly attribute CSSStyleSheet? parentStyleSheet;
readonly attribute DOMString? title;
[SameObject, PutForwards=mediaText] readonly attribute MediaList media;
attribute boolean disabled;
@ -35,16 +42,16 @@ interface CSSStyleSheet : StyleSheet {
[Exposed=Window]
interface StyleSheetList {
getter StyleSheet? item(unsigned long index);
getter CSSStyleSheet? item(unsigned long index);
readonly attribute unsigned long length;
};
partial interface Document {
partial interface mixin DocumentOrShadowRoot {
[SameObject] readonly attribute StyleSheetList styleSheets;
};
interface mixin LinkStyle {
readonly attribute StyleSheet? sheet;
readonly attribute CSSStyleSheet? sheet;
};
ProcessingInstruction includes LinkStyle;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -80,65 +80,65 @@
</script>
</head>
<body>
<div id="log"></div>
<p>
<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>
<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>
<munderover>
<mo movablelimits="false">&#x2211;</mo>
<mspace id="under00012" depth="1em" width="3em" mathbackground="blue"/>
<mspace height="1em" width="3em" mathbackground="black"/>
<mspace id="under00012" depth="1em" width="3em" style="background: blue"/>
<mspace height="1em" width="3em" style="background: black"/>
</munderover>
</math>
</p>
<hr/>
<p>
<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>
<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>
<munderover>
<mo movablelimits="false">&#x2211;</mo>
<mspace id="under00022" depth="1em" width="3em" mathbackground="blue"/>
<mspace height="1em" width="3em" mathbackground="black"/>
<mspace id="under00022" depth="1em" width="3em" style="background: blue"/>
<mspace height="1em" width="3em" style="background: black"/>
</munderover>
</math>
</p>
<hr/>
<p>
<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>
<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>
<munderover>
<mo movablelimits="false">&#x2211;</mo>
<mspace height="1em" width="3em" mathbackground="black"/>
<mspace id="over00032" height="1em" width="3em" mathbackground="blue"/>
<mspace height="1em" width="3em" style="background: black"/>
<mspace id="over00032" height="1em" width="3em" style="background: blue"/>
</munderover>
</math>
</p>
<hr/>
<p>
<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>
<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>
<munderover>
<mo movablelimits="false">&#x2211;</mo>
<mspace height="1em" width="3em" mathbackground="black"/>
<mspace id="over00042" depth="1em" width="3em" mathbackground="blue"/>
<mspace height="1em" width="3em" style="background: black"/>
<mspace id="over00042" depth="1em" width="3em" style="background: blue"/>
</munderover>
</math>
</p>
<hr/>
</body>
</html>

View file

@ -80,65 +80,65 @@
</script>
</head>
<body>
<div id="log"></div>
<p>
<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>
<mo>&#x2192;</mo>
<mspace id="under00011" depth="1em" width="3em" mathbackground="blue"/>
<mspace id="under00011" depth="1em" width="3em" style="background: blue"/>
</munder>
<munderover>
<mo>&#x2192;</mo>
<mspace id="under00012" depth="1em" width="3em" mathbackground="blue"/>
<mspace height="1em" width="3em" mathbackground="black"/>
<mspace id="under00012" depth="1em" width="3em" style="background: blue"/>
<mspace height="1em" width="3em" style="background: black"/>
</munderover>
</math>
</p>
<hr/>
<p>
<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>
<mo>&#x2192;</mo>
<mspace id="under00021" depth="1em" width="3em" mathbackground="blue"/>
<mspace id="under00021" depth="1em" width="3em" style="background: blue"/>
</munder>
<munderover>
<mo>&#x2192;</mo>
<mspace id="under00022" depth="1em" width="3em" mathbackground="blue"/>
<mspace height="1em" width="3em" mathbackground="black"/>
<mspace id="under00022" depth="1em" width="3em" style="background: blue"/>
<mspace height="1em" width="3em" style="background: black"/>
</munderover>
</math>
</p>
<hr/>
<p>
<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>
<mo>&#x2192;</mo>
<mspace id="over00031" height="1em" width="3em" mathbackground="blue"/>
<mspace id="over00031" height="1em" width="3em" style="background: blue"/>
</mover>
<munderover>
<mo>&#x2192;</mo>
<mspace height="1em" width="3em" mathbackground="black"/>
<mspace id="over00032" height="1em" width="3em" mathbackground="blue"/>
<mspace height="1em" width="3em" style="background: black"/>
<mspace id="over00032" height="1em" width="3em" style="background: blue"/>
</munderover>
</math>
</p>
<hr/>
<p>
<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>
<mo>&#x2192;</mo>
<mspace id="over00041" depth="1em" width="3em" mathbackground="blue"/>
<mspace id="over00041" depth="1em" width="3em" style="background: blue"/>
</mover>
<munderover>
<mo>&#x2192;</mo>
<mspace height="1em" width="3em" mathbackground="black"/>
<mspace id="over00042" depth="1em" width="3em" mathbackground="blue"/>
<mspace height="1em" width="3em" style="background: black"/>
<mspace id="over00042" depth="1em" width="3em" style="background: blue"/>
</munderover>
</math>
</p>
<hr/>
</body>
</html>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -10,7 +10,7 @@
<body>
<p>Test passes if you see a green square.</p>
<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>
</body>
</html>

View file

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

View file

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

View file

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

View file

@ -70,6 +70,7 @@
</style>
</head>
<body>
<div id="log"></div>
<div id="content">
<span id="before_block" class="square"></span>
<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">
<math>
<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>
</math>
<div style="height: 500px;"></div>
<math id="target">
<mspace width="150px" height="150px" mathbackground="green"/>
<mspace width="150px" height="150px" style="background: green"/>
</math>
</div>

View file

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

View file

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

View file

@ -9,7 +9,7 @@
idl_test(
['payment-handler'],
['service-workers', 'dedicated-workers', 'dom'],
['service-workers', 'html', 'dom'],
async (idl_array, t) => {
const isWindow = self.GLOBAL.isWindow();
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>
<meta charset="utf-8">
<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/testharnessreport.js"></script>
<script src='/resources/testdriver-vendor.js'></script>
<script src="/resources/testdriver.js"></script>
<script src='/resources/testdriver-vendor.js'></script>
<script>
const basicCard = Object.freeze({ supportedMethods: "basic-card" });
const applePay = Object.freeze({
@ -42,51 +42,6 @@ promise_test(async t => {
);
}, `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 => {
const request = new PaymentRequest(defaultMethods, defaultDetails);
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,13 +226,10 @@ class Firefox(Browser):
tag = "tip"
else:
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
# but to do better we need the actual build revision, which we
# can get if we have an application.ini file
tag = "tip"
# 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
# can get if we have an application.ini file
tag = "tip"
return "%s/archive/%s.zip/testing/profiles/" % (repo, tag)

View file

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

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