Auto merge of #27060 - servo-wpt-sync:wpt_update_23-06-2020, r=jdm

Sync WPT with upstream (23-06-2020)

Automated downstream sync of changes from upstream as of 23-06-2020.
[no-wpt-sync]
r? @servo-wpt-sync
This commit is contained in:
bors-servo 2020-06-24 01:05:46 -04:00 committed by GitHub
commit 0838d782c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
137 changed files with 1275 additions and 722 deletions

View file

@ -4,7 +4,7 @@
expected: TIMEOUT
[Opening a blob URL in a new window immediately before revoking it works.]
expected: FAIL
expected: TIMEOUT
[Fetching a blob URL immediately before revoking it works in an iframe.]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-004.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-005.html]
[Miss clipped float]
expected: FAIL

View file

@ -0,0 +1,2 @@
[view-box-mutation-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[view-box-mutation-002.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[view-box-mutation-003.html]
expected: FAIL

View file

@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
[Hit test within unscaled box]
expected: FAIL

View file

@ -8,3 +8,6 @@
[throws if handleEvent is thruthy and not callable]
expected: FAIL
[doesn't look up handleEvent method on callable event listeners]
expected: FAIL

View file

@ -1,4 +0,0 @@
[elementFromPoint-001.html]
[CSSOM View - 5 - extensions to the Document interface]
expected: FAIL

View file

@ -17,6 +17,3 @@
[test the top of layer]
expected: FAIL
[test some point of the element: top left corner]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

@ -312,27 +312,24 @@
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL

View file

@ -53,6 +53,3 @@
[combined text/javascript ]
expected: FAIL
[separate text/javascript x/x]
expected: FAIL

View file

@ -5,3 +5,9 @@
[HTTP Cache - Partioning by top-level origin 1]
expected: FAIL
[HTTP cache is not shared between same-site frames with cross-site top-level frames]
expected: FAIL
[HTTP cache is not shared between cross-site top-level frames]
expected: FAIL

View file

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

View file

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

View file

@ -1,2 +0,0 @@
[cross-origin-objects-on-new-window.html]
expected: TIMEOUT

View file

@ -0,0 +1,4 @@
[textarea-scroll-selection.html]
[programatic focus() scrolls selection into view including ancestors]
expected: FAIL

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_escaping-2.html]
expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL

View file

@ -1,5 +1,4 @@
[iframe_sandbox_popups_escaping-3.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
expected: FAIL

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
expected: NOTRUN

View file

@ -1,4 +0,0 @@
[form-double-submit-2.html]
[preventDefault should allow onclick submit() to succeed]
expected: FAIL

View file

@ -0,0 +1,4 @@
[form-double-submit-3.html]
[<button> should have the same double-submit protection as <input type=submit>]
expected: FAIL

View file

@ -0,0 +1,4 @@
[jsurl-form-submit.tentative.html]
[Verifies that form submissions scheduled inside javascript: urls take precedence over the javascript: url's return value.]
expected: FAIL

View file

@ -1,9 +1,10 @@
[promise-job-entry.html]
expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: FAIL
[Rejection handler on pending-then-rejected promise]
expected: FAIL
expected: TIMEOUT
[Sanity check: this all works as expected with no promises involved]
expected: FAIL
@ -15,5 +16,5 @@
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
expected: FAIL
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[realtimeanalyser-fft-scaling.html]
expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL

View file

@ -0,0 +1,5 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
expected: FAIL
expected: TIMEOUT
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: TIMEOUT

View file

@ -573,6 +573,17 @@
]
}
},
"replaced-elements": {
"attributes-for-embedded-content-and-images": {
"input-image-content-crash.html": [
"afeba98912d9706c3a2e32562571588a86e614d7",
[
null,
{}
]
]
}
},
"the-details-element": {
"empty-crash.html": [
"d409eff4a88c88011e7a8ffc48d1dc7e71462d7a",
@ -123742,6 +123753,45 @@
{}
]
],
"trailing-child-margin-000.html": [
"d204483a33ebff421cf9f3da9fab2d1183fcd1c0",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"trailing-child-margin-001.html": [
"7f13b8953d9949b6b9f25bfc33662406537a8f9c",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"trailing-child-margin-002.html": [
"3011d23711459b6c21300e0e53d38180b987ec09",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"widows-orphans-001.html": [
"8da27f0b6594fc7ddd90bdb160be8f80a9479038",
[
@ -158597,7 +158647,7 @@
]
],
"paint-function-arguments.https.html": [
"fc303bf12839617bc24b0972d23520950ef4cea8",
"c613bd159f928e91dac25fba4a83b344843d8ade",
[
null,
[
@ -166006,6 +166056,19 @@
],
{}
]
],
"replaced-element-012.tentative.html": [
"e8bd0b60ca7dbaeec0ae27c362346f02d7735618",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
]
},
"auto-scrollbar-inside-stf-abspos.html": [
@ -186388,7 +186451,7 @@
{}
]
],
"view-box-mutation.html": [
"view-box-mutation-001.html": [
"d0c85fd59d36e06180bbea07700d6f7bc69e9559",
[
null,
@ -186401,6 +186464,32 @@
{}
]
],
"view-box-mutation-002.html": [
"d18d823409c9d43c137d6a2edc7853dc9c96068b",
[
null,
[
[
"/css/css-transforms/transform-box/reference/greensquare200x200.html",
"=="
]
],
{}
]
],
"view-box-mutation-003.html": [
"873972885481d5ae780b1dbdb80541e41e65cec4",
[
null,
[
[
"/css/css-transforms/transform-box/reference/greensquare200x200.html",
"=="
]
],
{}
]
],
"view-box-nested.html": [
"9e7fc17e2a5bc8c33b412d9f3c6e96caba60009a",
[
@ -231563,6 +231652,19 @@
],
{}
]
],
"forced-colors-mode-28.html": [
"4e00c65357f84cd0206baba679469f25f9055c75",
[
null,
[
[
"/forced-colors-mode/forced-colors-mode-28-ref.html",
"=="
]
],
{}
]
]
},
"html": {
@ -303131,7 +303233,7 @@
[]
],
"paint-function-arguments-ref.html": [
"6391d17f01ae4f7f2366d21b66a42fb380401916",
"764c8f3c78b7a3e4e494726675bedbb3d2d99789",
[]
],
"paint2d-composite-ref.html": [
@ -323095,11 +323197,11 @@
"445b0bdd2ec95a1ac9be08228503475b386cf961",
[]
],
"split-origin-popup-with-iframe.html": [
"b66ccfb43b4017e5013e5ebd751dc3e54a84bc72",
"split-cache-popup-with-iframe.html": [
"48b16180cfdfa5c9a1755c17d1a7e8704018f6e8",
[]
],
"split-origin-popup.html": [
"split-cache-popup.html": [
"edb579479414fe980782b54fd39305c12b3de9e7",
[]
]
@ -324083,6 +324185,10 @@
"39caee40b52aca059a9a65ffde754788228ff9dc",
[]
],
"forced-colors-mode-28-ref.html": [
"9792073004b07893281ec6e4d96f52fb0e3939a1",
[]
],
"resources": {
"float-image.jpg": [
"ab06d5f94d16e22bb08fad79d6fef662b2a7de5a",
@ -333499,6 +333605,10 @@
"8b16672d6b7b501e9db773666ad0f444af33e5ac",
[]
],
"jsurl-form-submit-iframe.html": [
"00a1eefd0fcecce532ed6b05120129259ffbc8e1",
[]
],
"location.html": [
"6724189eff51c3e4d05fa6fb2ee82d58b4032482",
[]
@ -334491,38 +334601,6 @@
"e6f5746eb743a338ad6fbd401715fed368e4cf74",
[]
],
"nested-imports-a.js": [
"a127aeb559a0a4d6eedccae19905088fa9fce4b9",
[]
],
"nested-imports-b.js": [
"18a5af40cc0ec3a3c10de50f3cd3bffe22c6ec4d",
[]
],
"nested-imports-c.js": [
"ec44596aeae7482656b29f1d6aebf6d2ab6a9d54",
[]
],
"nested-imports-d.js": [
"cee87849c6258182d6c0085ab504867c197fb8d4",
[]
],
"nested-imports-e.js": [
"ec6f0360a608429f774e430a2658f3235d72ed43",
[]
],
"nested-imports-f.js": [
"0591e0b3166907bdf94cff3677c2460f9824e082",
[]
],
"nested-imports-g.js": [
"86cbe7d3f8e0c29fd7848d9b2626166a0f6f3d30",
[]
],
"nested-imports-h.js": [
"a1612912599a4c79307cffe79b43133ceb7f99b0",
[]
],
"nested-missing-export.js": [
"3801ae847afca704cfac9d99428c96851296b8cb",
[]
@ -337188,7 +337266,7 @@
[]
],
"webauthn.idl": [
"70f250286cdcc0f6b66393e88206710891a9d651",
"5627180867581a2ef5940bd06c828a5f6157daf2",
[]
],
"webdriver.idl": [
@ -339385,6 +339463,10 @@
"b028fcd9a36ff71b0eacd0363121a1fe2774f384",
[]
],
"about-blank.https.sub.html.headers": [
"ea3f6b335c7620acf59f546fd48484bf624ccb38",
[]
],
"going-back.sub.https.html.headers": [
"ea3f6b335c7620acf59f546fd48484bf624ccb38",
[]
@ -339442,12 +339524,16 @@
[]
],
"resources": {
"child-frame-script.mjs": [
"038c0f3a848776e10fcf905168788081bb1c233d",
[]
],
"helpers.mjs": [
"4b742c2b6e731c6fb97717e6785a8198be482fc6",
"8943707778c35e56cb0bf15e01c6a060967a0e5a",
[]
],
"send-origin-isolation-header.py": [
"b0ba30fcd4939ffff6dfe6fc8959a831187c257e",
"67d85620af1e856947c0d7785cf1f224d45ad404",
[]
]
}
@ -342408,7 +342494,7 @@
]
},
"idlharness.js": [
"cb66fcaa98c06d4f9b0b8136649c1f7119fe75b7",
"f336df5f6871fbc5a0120107a410ae677ab92ad5",
[]
],
"idlharness.js.headers": [
@ -347668,7 +347754,7 @@
[]
],
"requirements_mypy.txt": [
"857c7886e18319b342488446563457052c0b6aad",
"dc5df8ef9ecef115f24496d0658f53e78dd26691",
[]
],
"runner": {
@ -354036,7 +354122,7 @@
[]
],
"testloader.py": [
"0340294dcaa9c07d9c58bf609fb4f572d1dd1055",
"af1b00725dc43ba6e864bec8f8c837923c8da38d",
[]
],
"testrunner.py": [
@ -355105,7 +355191,7 @@
[]
],
"urltestdata.json": [
"1ed95583c12f3d1316e29857aa016e3a0e51a7f4",
"ded7107ff757d21fbc79939b92d0f709eba82764",
[]
]
}
@ -360617,83 +360703,83 @@
],
"resources": {
"accept-language.py": [
"dd00f4b2ee73d74cc60de49f8199c4ea69ffe593",
"b68cf355038ca9f9f938a5c3b2f5c75ebfd05487",
[]
],
"accept.py": [
"a033ebec6467747744a3236ad38886fb9b2dd8e5",
"842df80cda00670855062114b6cf063139d035ab",
[]
],
"access-control-allow-lists.py": [
"526d365b3111d46ce723e92f737673afaa300977",
"32c11a0c39baa465f3214c37e9a63fa35a3a3862",
[]
],
"access-control-allow-with-body.py": [
"7c7f45c69013b90d8db0fdeebe9e14964c0e24fe",
"18564e2d44e7f4387487a227cb5e3793d9a4633a",
[]
],
"access-control-auth-basic.py": [
"af32aab97cd5ce664a1f1b6fee1b864afc44e351",
"d1c5579ce242c67464560ee3e47970c9235dfc1d",
[]
],
"access-control-basic-allow-no-credentials.py": [
"12f8660d1fc2636b010a8cd430c028c750f814ba",
"1b8bcdb8ae9814fab28449582f5564c7d6dace5d",
[]
],
"access-control-basic-allow-star.py": [
"4557c06b0e3a5544b3f70c0c80df8c009b423188",
"8d4642d098cac3c6385361d97274a14a96de815c",
[]
],
"access-control-basic-allow.py": [
"2325925157c1e5e26d36d77acfdc5f6155199f53",
"6051bc2cdc4f68e7ea109fa6d9216b40ff866ee7",
[]
],
"access-control-basic-cors-safelisted-request-headers.py": [
"eba0e7d4c5cafc8664c0643b8ad247137374bef2",
"46523a905a9f70183d0a5e96cff2d76ad9e6d549",
[]
],
"access-control-basic-denied.py": [
"9f8687854598c16a2b893cada9991dca2b02313d",
"0d3964cb1157f75bbc59d2fa75c16aa98951a591",
[]
],
"access-control-basic-options-not-supported.py": [
"77b274e957ca87270926ad4622d2c79ec9600fed",
"bb3f63e311f64455a789f2a316e28a82aa5257b5",
[]
],
"access-control-basic-preflight-cache-invalidation.py": [
"6dc8a2a150793b6244fd5fa711bd73c740d59a1e",
"f4f592dac79224f51d130a320278c5c038639239",
[]
],
"access-control-basic-preflight-cache-timeout.py": [
"a767d8a4a56d36e289f16981edba38054d90adb1",
"00c319f082af700d6c5616e489af4f684df6535b",
[]
],
"access-control-basic-preflight-cache.py": [
"56892fb6b12c1c9b2f99c57939806f4a84b729d1",
"7a6bb60c01a70ca8efd4b20d1f8fccd47ba4228b",
[]
],
"access-control-basic-put-allow.py": [
"65f6466f5972d28478687939f6eea9cb428d48c4",
"9b347bca4234e5dccbf5f71c3657b1a02d5c7ac6",
[]
],
"access-control-basic-whitelist-response-headers.py": [
"4dac75331976ed83432859bbeaceb2a5a648d481",
"346b6b919656b23fb911587d447756711a59231e",
[]
],
"access-control-cookie.py": [
"1e0d41d22eaa88521f1d21c92f658f0e8522b9b1",
"8c26475c387a7de7458060f18adeab3b6429361a",
[]
],
"access-control-origin-header.py": [
"f5128776d2b60c7d83907253c6305bf47ed2117f",
"e282fe4425004cd1cc82ebd6488f70bec4f4a95d",
[]
],
"access-control-preflight-denied.py": [
"e8010cc0ef71d8d1db3c4e381df45b56d541026e",
"1ec3037f36b88402e5f59b37b3842d19df10fa29",
[]
],
"access-control-preflight-request-header-lowercase.py": [
"d35b89b9f98a669a3946661bd82a51992400c287",
"e77fc9a7d2eeaa1dbeb703c760c06c3def42de84",
[]
],
"access-control-preflight-request-header-sorted.py": [
@ -360807,23 +360893,23 @@
[]
],
"corsenabled.py": [
"4a3e1270b65f41acea1c6f2df4d3f1ec9b95eca7",
"aae19f18f3c9255d002a2d635f22e733f3f1b354",
[]
],
"delay.py": [
"8f97db6f4fc990c654e2e26d2e52d7190dd2af7b",
"61a0ed268844841ff0e6a80bd1808c61d144d796",
[]
],
"echo-headers.py": [
"8f23d3db019e7cc311bb58cae7d6704ca9402121",
"1c5bd46709d4d781ff6da86c9ba04a017356853c",
[]
],
"echo-method.py": [
"ccb46b6b2eb4d4b4c281720e0a16142f048ddbc3",
"7899c184b768cfba8c50c9d6814ff0058d594cc8",
[]
],
"empty-div-utf8-html.py": [
"26d54b9d1496af5fc72a1ba1d2a2ec83c1822f50",
"5d4c936590c2086872969d16528e9d0c1314fada",
[]
],
"folder.txt": [
@ -360831,11 +360917,11 @@
[]
],
"form.py": [
"6b1c49a993bfa25ba6c39303880e8860fb3e1489",
"c592943b795596c4ebbd06c6ddfc79ed0fad2ec0",
[]
],
"gzip.py": [
"f17f92e4cc17792d7b558d1cd4e1e1d76350dd27",
"17f142c4405f8e121a2468ffc380a9d56ef0822e",
[]
],
"header-content-length-twice.asis": [
@ -360847,7 +360933,7 @@
[]
],
"header-user-agent.py": [
"4778de40268bd3ca004195fc52fb69af64926c3e",
"ac6af13afe0fd6d8d44df51998f84100cf6f3414",
[]
],
"headers-basic.asis": [
@ -360871,7 +360957,7 @@
[]
],
"headers.py": [
"602db35a3cb1e6294a1c8052d84c90a8642d8fda",
"00b37c62abc7d7c34ed983f6dadac910bb0ff9f6",
[]
],
"image.gif": [
@ -360879,7 +360965,7 @@
[]
],
"img-utf8-html.py": [
"085867f9510e48fc926650b3e6fbbe62547afbc6",
"3057674cb6036a15b7061d65aa2aa7754bb6f8f7",
[]
],
"img.jpg": [
@ -361515,7 +361601,7 @@
]
],
"url-charset.window.js": [
"4eb103db35d27af9bef1954ce71f6c9f54c48e20",
"777709b64a50e51b9ba37c5ce240073aa4b1f8ef",
[
"FileAPI/url/url-charset.window.html",
{}
@ -387923,13 +388009,6 @@
{}
]
],
"display-with-float.html": [
"49f94799d93b58c77289d4ac35cb8b7d3239b4fa",
[
null,
{}
]
],
"inheritance.html": [
"bfd072651cb6ec82cca7d9be5b6768afbc39fca0",
[
@ -389460,6 +389539,13 @@
{}
]
],
"fontface-load-in-modal-dialog.html": [
"8838e05eaf4c3df6d1bc85f782421b15b1e3db76",
[
null,
{}
]
],
"fontfaceset-load-css-wide-keywords.html": [
"b85b92bd15e387db3dacd93b325f7f7b4d8d80db",
[
@ -395120,6 +395206,20 @@
{}
]
],
"scrollbar-gutter-invalid.html": [
"bfddfcc563064e3ae2db13fd87e75852ed1eef4c",
[
null,
{}
]
],
"scrollbar-gutter-valid.html": [
"07a5c1acc02c5b7868b13a264334f71a3e2d40e5",
[
null,
{}
]
],
"text-overflow-computed.html": [
"60add5dd12d6435377ab039c4401be1de256ddc4",
[
@ -404840,6 +404940,13 @@
{}
]
],
"scrollbar-gutter.html": [
"5bf8cb07dd8412f1c709031920b5f7b8ef837957",
[
null,
{}
]
],
"shape-image-threshold.html": [
"d16d892c46ade8814540371539ad977b1b1dcc40",
[
@ -431637,7 +431744,7 @@
]
],
"split-cache.tentative.html": [
"ca7cf3c2c06ee7bccd815c926d25b7160be31cf7",
"4b04c9ff79bf951cce993c6dbcc556dc1e505c41",
[
null,
{}
@ -455406,6 +455513,13 @@
null,
{}
]
],
"textarea-scroll-selection.html": [
"c8e252f7da6e3dc66691ce10b69528949105a079",
[
null,
{}
]
]
},
"sequential-focus-navigation-and-the-tabindex-attribute": {
@ -455952,13 +456066,6 @@
{}
]
],
"flex-legend-float-abspos.html": [
"f6eead471cc076d20839a0e95be01b7742f199fa",
[
null,
{}
]
],
"legend-align-justify-self.html": [
"29df29d17778a9d3d592c5e942f093a44f419b3c",
[
@ -461381,6 +461488,13 @@
}
]
],
"jsurl-form-submit.tentative.html": [
"f476308b7d98017282545425ab6c530d22da3b52",
[
null,
{}
]
],
"jsurl-navigation-then-form-submit.html": [
"93a4ea6004a49175a195e2a7844daeed26c70687",
[
@ -465146,13 +465260,6 @@
{}
]
],
"nested-imports.html": [
"23bb595d0ebce1fbe14a3b72ce34fc1efa2720fe",
[
null,
{}
]
],
"nomodule-attribute.html": [
"656c99b292ac03f401eead1c4798666de61ca91a",
[
@ -473687,7 +473794,7 @@
},
"measure-memory": {
"detached.tentative.window.js": [
"87c93160526ec37699c062fea4ab935616b5ee5d",
"c6a133cfe456c7c8488ea76d85b903261de206fb",
[
"measure-memory/detached.tentative.window.html",
{
@ -479372,6 +479479,13 @@
]
},
"origin-isolation": {
"about-blank.https.sub.html": [
"ec24853a1605678102d7f025a386c82b44d9af9b",
[
null,
{}
]
],
"going-back.sub.https.html": [
"7e95f19366996ce0c97b87631b10d660d07c2e56",
[
@ -504924,6 +505038,13 @@
{}
]
],
"animate-stop-currentcolor.html": [
"1536035dec58709256e5d09fec22eae999a0a00d",
[
null,
{}
]
],
"animateMotion-fill-freeze.html": [
"4e768efb0046972fdb62f9af6545134d97a9495c",
[

View file

@ -1,4 +0,0 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-004.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-005.html]
[Miss clipped float]
expected: FAIL

View file

@ -0,0 +1,2 @@
[view-box-mutation-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[view-box-mutation-002.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[view-box-mutation-003.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[view-box-mutation.html]
expected: FAIL

View file

@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
[Hit test within unscaled box]
expected: FAIL

View file

@ -8,3 +8,6 @@
[throws if handleEvent is thruthy and not callable]
expected: FAIL
[doesn't look up handleEvent method on callable event listeners]
expected: FAIL

View file

@ -1,4 +0,0 @@
[elementFromPoint-001.html]
[CSSOM View - 5 - extensions to the Document interface]
expected: FAIL

View file

@ -21,6 +21,3 @@
[test the top of layer]
expected: FAIL
[test some point of the element: top left corner]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

@ -312,27 +312,24 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL

View file

@ -53,6 +53,3 @@
[combined text/javascript ]
expected: FAIL
[separate text/javascript x/x]
expected: FAIL

View file

@ -5,3 +5,9 @@
[HTTP Cache - Partioning by top-level origin 3]
expected: FAIL
[HTTP cache is not shared between same-site frames with cross-site top-level frames]
expected: FAIL
[HTTP cache is not shared between cross-site top-level frames]
expected: FAIL

View file

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

View file

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

View file

@ -1,2 +0,0 @@
[cross-origin-objects-on-new-window.html]
expected: TIMEOUT

View file

@ -0,0 +1,4 @@
[textarea-scroll-selection.html]
[programatic focus() scrolls selection into view including ancestors]
expected: FAIL

View file

@ -1,13 +0,0 @@
[flex-legend-float-abspos.html]
[dynamic changes to float]
expected: FAIL
[dynamic changes to position]
expected: FAIL
[inserting a new legend and removing it again]
expected: FAIL
[no dynamic changes]
expected: FAIL

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_escaping-2.html]
expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL

View file

@ -1,6 +1,5 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
expected: FAIL

View file

@ -1,5 +1,6 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
expected: NOTRUN

View file

@ -1,4 +0,0 @@
[form-double-submit-2.html]
[preventDefault should allow onclick submit() to succeed]
expected: FAIL

View file

@ -0,0 +1,4 @@
[form-double-submit-3.html]
[<button> should have the same double-submit protection as <input type=submit>]
expected: FAIL

View file

@ -0,0 +1,4 @@
[jsurl-form-submit.tentative.html]
[Verifies that form submissions scheduled inside javascript: urls take precedence over the javascript: url's return value.]
expected: FAIL

View file

@ -1,9 +1,10 @@
[promise-job-entry.html]
expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: FAIL
[Rejection handler on pending-then-rejected promise]
expected: FAIL
expected: TIMEOUT
[Sanity check: this all works as expected with no promises involved]
expected: FAIL
@ -15,5 +16,5 @@
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
expected: FAIL
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[realtimeanalyser-fft-scaling.html]
expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL

View file

@ -0,0 +1,5 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -1,4 +1,7 @@
async_test(t => {
// This could be detected as ISO-2022-JP, in which case there would be no
// <textarea>, and thus the script inside would be interpreted as actual
// script.
const blob = new Blob(
[
`aaa\u001B$@<textarea>\u001B(B<script>/* xss */<\/script></textarea>bbb`
@ -6,7 +9,9 @@ async_test(t => {
{type: 'text/html;charset=utf-8'});
const url = URL.createObjectURL(blob);
const win = window.open(url);
t.add_cleanup(() => win.close());
t.add_cleanup(() => {
win.close();
});
win.onload = t.step_func_done(() => {
assert_equals(win.document.charset, 'UTF-8');
@ -19,7 +24,9 @@ async_test(t => {
{type: 'text/html;charset=utf-8'});
const url = URL.createObjectURL(blob);
const win = window.open(url);
t.add_cleanup(() => win.close());
t.add_cleanup(() => {
win.close();
});
win.onload = t.step_func_done(() => {
assert_equals(win.document.charset, 'UTF-8');

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-break-3/#break-margins">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="columns:2; column-gap:0; width:100px; column-fill:auto; height:100px; background:red;">
<div style="display:flow-root; background:green;">
<div style="height:70px; margin-bottom:50px;"></div>
</div>
<!-- We're at the very beginning of the second column here, so inserting a
forced break will have no effect. -->
<div style="break-before:column; height:100px; background:green;"></div>
</div>

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-break-3/#break-margins">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="columns:2; column-gap:0; width:100px; column-fill:auto; height:100px; background:red;">
<div style="display:flow-root; background:green;">
<div style="height:70px; margin-bottom:50px;"></div>
<div style="height:100px;"></div>
</div>
</div>

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-break-3/#break-margins">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="columns:2; column-gap:0; width:100px; column-fill:auto; height:100px; background:red;">
<fieldset style="margin:0; border:none; padding:0; background:green;">
<div style="height:70px; margin-bottom:50px;"></div>
</fieldset>
<div style="break-before:column; height:100px; background:green;"></div>
</div>

View file

@ -1,24 +0,0 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Computed float value of flex/grid items</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-containers">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-containers">
<meta name="assert" content="computed float value of flex/grid items should be as specified">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div style="display:flex;">
<div id="flex-item" style="float:left;"></div>
</div>
<div style="display:grid;">
<div id="grid-item" style="float:right;"></div>
</div>
<script>
function getFloatFor(id) {
return window.getComputedStyle(document.getElementById(id)).getPropertyValue("float");
}
test(function() {
assert_equals(getFloatFor("flex-item"), "left");
assert_equals(getFloatFor("grid-item"), "right");
}, "computed style for float");
</script>

View file

@ -0,0 +1,30 @@
<!doctype html>
<link rel="author" title="Xiaocheng Hu" href="xiaochengh@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-font-loading/#font-face-load">
<link rel="help" href="https://crbug.com/1092411">
<meta name="assert" content="Ensure that content of a modal dialog is re-rendered with loaded web font." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
#target {
font: 25px/1 custom-font, monospace;
}
</style>
<dialog><span id=target>0123456789</span></dialog>
<script>
document.querySelector('dialog').showModal();
function raf() {
return new Promise(resolve => requestAnimationFrame(resolve));
}
promise_test(async () => {
await raf();
const face = new FontFace('custom-font', 'url(/fonts/Ahem.ttf)');
document.fonts.add(face);
await face.load();
assert_equals(target.offsetWidth, 250);
}, 'Modal dialog content should be re-rendered with loaded web font');
</script>

View file

@ -0,0 +1,29 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Overflow: parsing invalid scrollbar-gutter declarations</title>
<link rel="author" title="Felipe Erias Morandeira" href="mailto:felipeerias@gmail.com"/>
<link rel="help" href="https://www.w3.org/TR/css-overflow-4/#scollbar-gutter-property"/>
<meta name="assert" content="Parsing invalid scrollbar-gutter declarations">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
<script>
test_invalid_value("scrollbar-gutter", "auto both");
test_invalid_value("scrollbar-gutter", "force auto");
test_invalid_value("scrollbar-gutter", "auto always");
test_invalid_value("scrollbar-gutter", "always stable");
test_invalid_value("scrollbar-gutter", "force");
test_invalid_value("scrollbar-gutter", "both");
test_invalid_value("scrollbar-gutter", "force both");
test_invalid_value("scrollbar-gutter", "");
test_invalid_value("scrollbar-gutter", "0");
test_invalid_value("scrollbar-gutter", "1px");
test_invalid_value("scrollbar-gutter", "3em");
test_invalid_value("scrollbar-gutter", "1 2 3");
test_invalid_value("scrollbar-gutter", "none");
test_invalid_value("scrollbar-gutter", "red");
</script>

View file

@ -0,0 +1,26 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Overflow: parsing valid scrollbar-gutter declarations</title>
<link rel="author" title="Felipe Erias Morandeira" href="mailto:felipeerias@gmail.com"/>
<link rel="help" href="https://www.w3.org/TR/css-overflow-4/#scollbar-gutter-property"/>
<meta name="assert" content="Parsing valid scrollbar-gutter declarations">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
<script>
test_valid_value("scrollbar-gutter", "auto");
test_valid_value("scrollbar-gutter", "stable");
test_valid_value("scrollbar-gutter", "stable both");
test_valid_value("scrollbar-gutter", "stable force");
test_valid_value("scrollbar-gutter", "stable both force");
test_valid_value("scrollbar-gutter", "always");
test_valid_value("scrollbar-gutter", "always both");
test_valid_value("scrollbar-gutter", "always force");
test_valid_value("scrollbar-gutter", "always both force");
test_valid_value("scrollbar-gutter", "force both stable", "stable both force");
test_valid_value("scrollbar-gutter", "force always both", "always both force");
</script>

View file

@ -32,9 +32,8 @@ function drawCanvas(canvasID, color, width) {
context.fillRect(40, 40, width, width);
};
drawCanvas('box-1', 'rgb(50, 100, 150)', '50px');
drawCanvas('box-2', 'rgb(150, 100, 50)', '100px');
drawCanvas('box-1', 'rgb(50, 100, 150)', '50');
drawCanvas('box-2', 'rgb(150, 100, 50)', '100');
</script>
</body>
</html>

View file

@ -36,7 +36,7 @@ registerPaint('box', class {
static get inputArguments() { return ['<color>', '<length>']; }
paint(ctx, geom, properties, args) {
ctx.fillStyle = args[0].toString();
let size = args[1].toString();
let size = parseInt(args[1].toString());
ctx.fillRect(40, 40, size, size);
}
});

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<title>CSS aspect-ratio: picture</title>
<link rel="author" title="Google LLC" href="https://www.google.com/">
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<picture>
<source srcset="support/20x50-green.png">
<img style="width: 100px; aspect-ratio: 1/1;">
</picture>

View file

@ -0,0 +1,26 @@
<!doctype html>
<html class="reftest-wait">
<title>transform-box: view-box, viewport mutated, &lt;text></title>
<link rel="stylesheet" href="/fonts/ahem.css">
<link rel="match" href="reference/greensquare200x200.html">
<link rel="help" href="https://drafts.csswg.org/css-transforms/#transform-box">
<script src="/common/reftest-wait.js"></script>
<script src="/common/rendering-utils.js"></script>
<style>
#target {
transform-box: view-box;
transform: translate(-50%, 0);
}
</style>
<p>There should be a green 200x200 rectangle below, and no red.</p>
<svg width="400" height="200">
<rect width="200" height="200" fill="red"/>
<text id="target" x="100" y="160" fill="green"
font-family="Ahem" font-size="200">X</text>
</svg>
<script>
waitForAtLeastOneFrame().then(() => {
document.querySelector('svg').setAttribute('width', 200);
takeScreenshot();
});
</script>

View file

@ -0,0 +1,26 @@
<!doctype html>
<html class="reftest-wait">
<title>transform-box: view-box, viewport mutated, &lt;foreignObject></title>
<link rel="match" href="reference/greensquare200x200.html">
<link rel="help" href="https://drafts.csswg.org/css-transforms/#transform-box">
<script src="/common/reftest-wait.js"></script>
<script src="/common/rendering-utils.js"></script>
<style>
#target {
transform-box: view-box;
transform: translate(-50%, 0);
}
</style>
<p>There should be a green 200x200 rectangle below, and no red.</p>
<svg width="400" height="200">
<rect width="200" height="200" fill="red"/>
<foreignObject id="target" x="100" width="200" height="100%">
<div style="width: 200px; height: 200px; background-color: green"></div>
</foreignObject>
</svg>
<script>
waitForAtLeastOneFrame().then(() => {
document.querySelector('svg').setAttribute('width', 200);
takeScreenshot();
});
</script>

View file

@ -0,0 +1,30 @@
<!doctype html>
<meta charset="utf-8">
<title>'display' property</title>
<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../resources/testhelper.js"></script>
<script src="resources/testsuite.js"></script>
<body>
<div id="log"></div>
<script>
'use strict';
runPropertyTests('scrollbar-gutter', [
{ syntax: 'auto' },
{ syntax: 'stable' },
{ syntax: 'always' },
]);
runUnsupportedPropertyTests('scrollbar-gutter', [
'stable both',
'stable force',
'stable both force',
'always both',
'always force',
'always both force'
]);
</script>

View file

@ -14,7 +14,7 @@
// Create iframe that is same-origin to the opener.
var iframe = document.createElement("iframe");
iframe.src = host.HTTP_ORIGIN + window.location.pathname.replace(/\/[^\/]*$/, '/') + "split-origin-popup.html";
iframe.src = host.HTTP_ORIGIN + window.location.pathname.replace(/\/[^\/]*$/, '/') + "split-cache-popup.html";
document.body.appendChild(iframe);
window.addEventListener("message", function listener(event) {

View file

@ -2,7 +2,7 @@
<html>
<head>
<meta charset="utf-8">
<title>HTTP Cache - Partioning by top-level origin</title>
<title>HTTP Cache - Partioning by site</title>
<meta name="help" href="https://fetch.spec.whatwg.org/#http-cache-partitions">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
@ -15,19 +15,18 @@
const host = get_host_info();
// We run this entire test four times, varying the following two booleans:
// - is_same_origin_test, which controls whether the popup is same-origin.
// - is_cross_site_test, which controls whether the popup is cross-site.
// - load_resource_in_iframe, which controls whether the popup loads the
// resource in an iframe or the mainframe. Note that the iframe is always
// same-origin to the opener.
function performFullTest(is_same_origin_test, load_resource_in_iframe) {
const POPUP_HTTP_ORIGIN = is_same_origin_test ? host.HTTP_ORIGIN : host.HTTP_NOTSAMESITE_ORIGIN
// resource in an iframe or the top-level frame. Note that the iframe is
// always same-site to the opener.
function performFullTest(is_cross_site_test, load_resource_in_iframe, name) {
const POPUP_HTTP_ORIGIN = is_cross_site_test ? host.HTTP_NOTSAMESITE_ORIGIN : host.HTTP_ORIGIN
const LOCAL_HTTP_ORIGIN = host.HTTP_ORIGIN
const popupBaseURL = POPUP_HTTP_ORIGIN + window.location.pathname.replace(/\/[^\/]*$/, '/') ;
const localBaseURL = LOCAL_HTTP_ORIGIN + window.location.pathname.replace(/\/[^\/]*$/, '/') ;
var test = {
name: "HTTP Cache is partitioned by top-frame origin",
requests: [
{
response_headers: [
@ -45,10 +44,10 @@ function performFullTest(is_same_origin_test, load_resource_in_iframe) {
// If the popup's request was a cache hit, we would only expect 2
// requests to the server. If it was a cache miss, we would expect 3.
// load_resource_in_iframe does not affect the expectation as, even
// though the iframe (if present) is same-origin, we expect a cache miss
// when the popup's mainframe is a different origin.
// though the iframe (if present) is same-site, we expect a cache miss
// when the popup's top-level frame is a different site.
expected_response_headers: [
["server-request-count", is_same_origin_test ? "2" : "3"]
["server-request-count", is_cross_site_test ? "3" : "2"]
],
base_url: localBaseURL
}
@ -69,8 +68,8 @@ function performFullTest(is_same_origin_test, load_resource_in_iframe) {
function popup_fetch() {
return new Promise(function(resolve, reject) {
var relativeUrl = load_resource_in_iframe
? "resources/split-origin-popup-with-iframe.html"
: "resources/split-origin-popup.html";
? "resources/split-cache-popup-with-iframe.html"
: "resources/split-cache-popup.html";
var win = window.open(popupBaseURL + relativeUrl);
// Post a message to initiate the popup's request and give the necessary
@ -118,13 +117,26 @@ function performFullTest(is_same_origin_test, load_resource_in_iframe) {
})
}
promise_test(() => local_fetch().then(popup_fetch).then(local_fetch2).then(check_server_info))
promise_test(() => {
return local_fetch()
.then(popup_fetch)
.then(local_fetch2)
.then(check_server_info)
}, name)
}
performFullTest(true, true);
performFullTest(false, true);
performFullTest(true, false);
performFullTest(false, false);
performFullTest(
false /* is_cross_site_test */, false /* load_resource_in_iframe */,
"HTTP cache is shared between same-site top-level frames");
performFullTest(
true /* is_cross_site_test */, false /* load_resource_in_iframe */,
"HTTP cache is not shared between cross-site top-level frames");
performFullTest(
false /* is_cross_site_test */, true /* load_resource_in_iframe */,
"HTTP cache is shared between same-site frames with same-site top-level frames");
performFullTest(
true /* is_cross_site_test */, true /* load_resource_in_iframe */,
"HTTP cache is not shared between same-site frames with cross-site top-level frames");
</script>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Forced colors mode - background-image.
</title>
<style>
body {
forced-color-adjust: none;
}
div {
height: 20px;
width: 10px;
}
#div2, #div3 {
background-image: url("resources/test-image.jpg");
}
</style>
<body>
The background-image should be reverted in Forced Colors Mode unless the value
is a url() function.
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<div id="div4"></div>
</body>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Forced colors mode - background-image.
</title>
<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties">
<link rel=match href="forced-colors-mode-28-ref.html">
<style>
div {
height: 20px;
width: 10px;
}
#div1 {
background-image: url("resources/test-image.jpg");
background-image: linear-gradient(red, yellow);
}
#div2 {
background-image: linear-gradient(red, yellow);
background-image: url("resources/test-image.jpg");
}
#div3 {
background-image: url("resources/test-image.jpg");
}
#div4 {
background-image: linear-gradient(red, yellow);
}
</style>
<body>
The background-image should be reverted in Forced Colors Mode unless the value
is a url() function.
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<div id="div4"></div>
</body>

View file

@ -0,0 +1,46 @@
<!doctype html>
<title>programatic focus() scrolls selection into view including ancestors</title>
<link rel="author" href="https://mozilla.org" title="Mozilla">
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1644366">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div style="overflow: auto; height: 100px">
<textarea style="overflow: hidden; height: 200px">
Some text
That is surely more
Than 100px tall
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
For sure.
</textarea>
</div>
<script>
promise_test(async function(t) {
await new Promise(resolve => window.addEventListener("load", resolve));
let textarea = document.querySelector("textarea");
textarea.setSelectionRange(textarea.value.length, textarea.value.length);
textarea.focus();
await new Promise(resolve => {
requestAnimationFrame(() => requestAnimationFrame(resolve));
});
assert_not_equals(textarea.parentNode.scrollTop, 0, "Should've scrolled ancestor to show the selection");
});
</script>

View file

@ -1,97 +0,0 @@
<!doctype html>
<title>
legend and float and position: absolute/fixed when the display type of
the fieldset is flex.
</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
body { margin: 0; }
fieldset {
border: 10px solid;
display: flex;
margin: 0;
padding: 20px;
width: 300px;
}
legend { height: 10px; }
#legend1 { float: left; }
#legend2 { float: right; }
#legend3 { position: absolute; }
#legend4 { position: fixed; }
</style>
<fieldset id=fieldset>
<div>div</div>
<legend id=legend1>legend1</legend>
<legend id=legend2>legend2</legend>
<legend id=legend3>legend3</legend>
<legend id=legend4>legend4</legend>
<legend id=legend5>legend5</legend>
</fieldset>
<script>
const fieldset = document.getElementById('fieldset');
const legends = document.getElementsByTagName('legend');
const [legend1, legend2, legend3, legend4, legend5] = legends;
const expectedTop = 0;
const expectedLeft = 10 + 20;
function assert_rendered_legend(legend) {
assert_equals(legend.offsetTop, expectedTop, `${legend.id}.offsetTop`);
assert_equals(legend.offsetLeft, expectedLeft, `${legend.id}.offsetLeft`);
for (const other of legends) {
if (other === legend) {
continue;
}
if (other.offsetTop === expectedTop && other.offsetLeft === expectedLeft) {
assert_unreached(`${other.id} should not be the "rendered legend"`);
}
}
}
test(t => {
assert_rendered_legend(legend5);
}, 'no dynamic changes');
test(t => {
const legend = document.createElement('legend');
t.add_cleanup(() => {
legend.remove();
});
legend.id = 'script-inserted';
legend.textContent = 'script-inserted legend';
fieldset.insertBefore(legend, legend1);
assert_rendered_legend(legend);
legend.remove();
assert_rendered_legend(legend5);
}, 'inserting a new legend and removing it again');
test(t => {
t.add_cleanup(() => {
legend1.id = 'legend1';
legend2.id = 'legend2';
});
legend2.id = '';
assert_rendered_legend(legend2);
legend1.id = '';
assert_rendered_legend(legend1);
legend1.id = 'legend1';
assert_rendered_legend(legend2);
legend2.id = 'legend2';
assert_rendered_legend(legend5);
}, 'dynamic changes to float');
test(t => {
t.add_cleanup(() => {
legend3.id = 'legend3';
legend4.id = 'legend4';
});
legend4.id = '';
assert_rendered_legend(legend4);
legend3.id = '';
assert_rendered_legend(legend3);
legend3.id = 'legend3';
assert_rendered_legend(legend4);
legend4.id = 'legend4';
assert_rendered_legend(legend5);
}, 'dynamic changes to position');
</script>

View file

@ -0,0 +1,17 @@
<!doctype html>
<title>Crash test: asynchronously applying image content to image input</title>
<link rel="author" href="mailto:yuzhehan@chromium.org" title="Yu Han">
<link rel="help" href="https://crbug.com/1096002">
<style>
.content { content: url(data:text/plain,aaa); }
</style>
<input id="input" type="image">
<script>
onload = ()=> {
document.body.offsetTop;
input.setAttribute('class', 'content');
document.body.offsetTop;
input.setAttribute('class', '');
document.body.offsetTop;
}
</script>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="author" title="Joey Arhar" href="mailto:jarhar@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<!-- This behavior is not explicitly specified. -->
<iframe id=frameid name=framename></iframe>
<form id=formid target=framename action="resources/form.html"></form>
<script>
async_test(t => {
frameid.src = 'resources/jsurl-form-submit-iframe.html';
frameid.onload = t.step_func(() => {
assert_equals(
frameid.contentDocument.location.pathname,
'/html/semantics/forms/form-submission-0/resources/jsurl-form-submit-iframe.html');
frameid.onload = t.step_func_done(() => {
assert_equals(
frameid.contentDocument.location.pathname,
'/html/semantics/forms/form-submission-0/resources/form.html');
});
frameid.contentDocument.getElementById('anchorid').click();
});
}, `Verifies that form submissions scheduled inside javascript: urls take precedence over the javascript: url's return value.`);
</script>

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<meta charset="utf-8">
<form id=formid action="form.html"></form>
<a id=anchorid href="javascript:jsurl()">anchor</a>
<script>
function jsurl() {
formid.submit();
return 'jsurl return value';
}
</script>

View file

@ -1 +0,0 @@
import { b } from "./nested-imports-b.js";

View file

@ -1,2 +0,0 @@
import { c } from "./nested-imports-c.js";
export const b = "b";

View file

@ -1,2 +0,0 @@
import { d } from "./nested-imports-d.js";
export const c = "c";

View file

@ -1,3 +0,0 @@
import { e } from "./nested-imports-e.js";
import "./resources/delayed-modulescript.py";
export const d = "d";

View file

@ -1,2 +0,0 @@
import { f } from "./nested-imports-f.js";
export const e = "e";

View file

@ -1,2 +0,0 @@
import { g } from "./nested-imports-g.js";
export const f = "f";

View file

@ -1,2 +0,0 @@
import { h } from "./nested-imports-h.js";
export const g = "g";

View file

@ -1,2 +0,0 @@
import { c } from "./nested-imports-c.js";
export const h = "h";

View file

@ -1,29 +0,0 @@
<!DOCTYPE html>
<title>Test imports under more than 3 levels in different modules</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
setup({ allow_uncaught_exception: true });
window.log = [];
const test_load = async_test("should load all modules successfully");
window.addEventListener(
"load",
test_load.step_func_done((ev) => {
assert_equals(log.length, 2);
assert_equals(log[0], 1);
assert_equals(log[1], 2);
})
);
function unreachable() {
log.push("unexpected");
}
</script>
<script type="module" src="./nested-imports-a.js" onerror="unreachable()"
onload="log.push(1)"></script>
<script type="module" src="./nested-imports-e.js" onerror="unreachable()"
onload="log.push(2)"></script>

View file

@ -191,3 +191,21 @@ dictionary CredentialPropertiesOutput {
partial dictionary AuthenticationExtensionsClientOutputs {
CredentialPropertiesOutput credProps;
};
partial dictionary AuthenticationExtensionsClientInputs {
AuthenticationExtensionsLargeBlobInputs largeBlob;
};
dictionary AuthenticationExtensionsLargeBlobInputs {
boolean read;
ArrayBuffer write;
};
partial dictionary AuthenticationExtensionsClientOutputs {
AuthenticationExtensionsLargeBlobOutputs largeBlob;
};
dictionary AuthenticationExtensionsLargeBlobOutputs {
ArrayBuffer blob;
boolean written;
};

View file

@ -66,6 +66,7 @@ promise_test(async testCase => {
iframes['same-origin-3'].src,
iframes['same-origin-4'].src,
iframes['cross-origin-5'].src,
iframes['same-origin-8'].sec,
windows['same-origin-7'].location.href,
windows['same-origin-12'].location.href,
];
@ -89,11 +90,17 @@ promise_test(async testCase => {
// 2) By closing the window:
windows['cross-origin-9'].close();
await waitForMessage('cross-site-1');
await waitForMessage('same-origin-3');
await waitForMessage('same-origin-7');
try {
const result = await performance.measureMemory();
checkMeasureMemory(result, {
allowed: allowed.concat([
iframes['cross-site-1'].src,
iframes['same-origin-3'].contentWindow.location.href,
windows['same-origin-7'].location.href,
]),
required: [
window.location.href,

View file

@ -0,0 +1,53 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>The initial about:blank respects origin isolation</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script type="module">
import {
insertIframe,
setBothDocumentDomains,
testSameAgentCluster,
testDifferentAgentClusters
} from "./resources/helpers.mjs";
promise_setup(async () => {
await insertAboutBlankIframe();
await insertIframe("{{hosts[][www]}}");
});
// Since the initial about:blank inherits its origin from its parent, it is
// same-origin with the parent, and thus cross-origin with child2.
testSameAgentCluster([self, 0], "parent to about:blank");
testDifferentAgentClusters([0, 1], "about:blank to child2");
testDifferentAgentClusters([1, 0], "child2 to about:blank");
async function insertAboutBlankIframe() {
const iframe = document.createElement("iframe");
document.body.append(iframe);
// Now use document.write() to get the child frame script in there, without
// actually navigating anywhere.
// We need to absolutize the URL to since about:blank doesn't have a base URL.
const scriptURL = (new URL("./resources/child-frame-script.mjs", import.meta.url)).href;
iframe.contentDocument.write(`<script type="module" src="${scriptURL}"></scr` + `ipt>`);
iframe.contentDocument.close();
await new Promise((resolve, reject) => {
// Note that since this code runs during the same event loop turn as the
// contentDocument.write() above, we know that the load/error events will
// not have been fired at this time. (The spec guarantees they are fired
// from queued tasks.)
const script = iframe.contentDocument.querySelector("script");
script.onload = resolve;
script.onerror = () => reject(
new Error("Could not load the child frame script into the about:blank page")
);
});
await setBothDocumentDomains(iframe.contentWindow);
}
</script>

View file

@ -0,0 +1 @@
Origin-Isolation: ?1

View file

@ -0,0 +1,43 @@
import { sendWasmModule } from "./helpers.mjs";
window.onmessage = async (e) => {
// These could come from the parent or siblings.
if (e.data.constructor === WebAssembly.Module) {
e.source.postMessage("WebAssembly.Module message received", "*");
}
// These only come from the parent.
if (e.data.command === "set document.domain") {
document.domain = e.data.newDocumentDomain;
parent.postMessage("document.domain is set", "*");
} else if (e.data.command === "send WASM module") {
const destinationFrameWindow = parent.frames[e.data.indexIntoParentFrameOfDestination];
const whatHappened = await sendWasmModule(destinationFrameWindow);
parent.postMessage(whatHappened, "*");
} else if (e.data.command === "access document") {
const destinationFrameWindow = parent.frames[e.data.indexIntoParentFrameOfDestination];
try {
destinationFrameWindow.document;
parent.postMessage("accessed document successfully", "*");
} catch (e) {
parent.postMessage(e.name, "*");
}
} else if (e.data.command === "access location.href") {
const destinationFrameWindow = parent.frames[e.data.indexIntoParentFrameOfDestination];
try {
destinationFrameWindow.location.href;
parent.postMessage("accessed location.href successfully", "*");
} catch (e) {
parent.postMessage(e.name, "*");
}
}
// We could also receive e.data === "WebAssembly.Module message received",
// but that's handled by await sendWasmModule() above.
};
window.onmessageerror = e => {
e.source.postMessage("messageerror", "*");
};
document.body.textContent = location.href;

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