mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Update web-platform-tests to revision 43ef1ad9afcc9d9d922a5a96bc12b4eaf950960b
This commit is contained in:
parent
c6a3dcb90d
commit
720d8a12b8
108 changed files with 1609 additions and 244 deletions
|
@ -0,0 +1,8 @@
|
||||||
|
[url-charset.window.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[Blob charset should override any auto-detected charset.]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[Blob charset should override <meta charset>.]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[hit-test-floats-003.html]
|
[hit-test-floats-004.html]
|
||||||
[Miss float below something else]
|
[Miss float below something else]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-005.html]
|
|
||||||
[Miss clipped float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -11,36 +11,9 @@
|
||||||
[[data-expected-height\] 2]
|
[[data-expected-height\] 2]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[[data-expected-height\] 4]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 1]
|
[[data-expected-height\] 1]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[[data-expected-height\] 10]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 2]
|
[[data-expected-height\] 2]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[[data-expected-height\] 5]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 6]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 9]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 8]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 13]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 12]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[[data-expected-height\] 11]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[background-attachment-353.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[grid-flex-item-005.html]
|
||||||
|
expected: FAIL
|
|
@ -2,6 +2,3 @@
|
||||||
[Hit test intersecting scaled box]
|
[Hit test intersecting scaled box]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Hit test within unscaled box]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[CaretPosition-001.html]
|
|
||||||
[Element at (400, 100)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[client-props-root.html]
|
||||||
|
[client* properties on the root element]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[matchMedia-display-none-iframe.html]
|
||||||
|
expected: ERROR
|
|
@ -1,2 +0,0 @@
|
||||||
[HTMLMediaElement.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -312,24 +312,24 @@
|
||||||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: */* text/html]
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*]
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/plain */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,3 @@
|
||||||
[separate text/javascript x/x]
|
[separate text/javascript x/x]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[separate text/javascript error]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_2.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_3.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[cross-origin-objects-on-new-window.html]
|
||||||
|
expected: TIMEOUT
|
|
@ -1,4 +1,5 @@
|
||||||
[embedded-opener-remove-frame.html]
|
[embedded-opener-remove-frame.html]
|
||||||
|
expected: CRASH
|
||||||
[opener of discarded nested browsing context]
|
[opener of discarded nested browsing context]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
[iframe_sandbox_popups_escaping-1.html]
|
[iframe_sandbox_popups_escaping-1.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-2.html]
|
[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]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
[iframe_sandbox_popups_escaping-3.html]
|
[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]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-1.html]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[077.html]
|
||||||
|
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[module-static-import-delayed.html]
|
|
||||||
[document.write in an imported module]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[ignore-opens-during-unload.window.html]
|
[ignore-opens-during-unload.window.html]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[document.open should bail out when ignore-opens-during-unload is greater than 0 during visibilitychange event (open(parent) while unloading parent and child)]
|
[document.open should bail out when ignore-opens-during-unload is greater than 0 during visibilitychange event (open(parent) while unloading parent and child)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
|
|
@ -3,3 +3,6 @@
|
||||||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[namespace-object-class-string.any.html]
|
[toStringTag.any.html]
|
||||||
[Object.prototype.toString applied after deleting @@toStringTag]
|
[Object.prototype.toString applied after deleting @@toStringTag]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
[namespace-object-class-string.any.worker.html]
|
[toStringTag.any.worker.html]
|
||||||
[Object.prototype.toString applied after deleting @@toStringTag]
|
[Object.prototype.toString applied after deleting @@toStringTag]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[Worker-constructor.html]
|
||||||
|
expected: ERROR
|
8
tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini
Normal file
8
tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
[url-charset.window.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[Blob charset should override any auto-detected charset.]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[Blob charset should override <meta charset>.]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -10591,6 +10591,34 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"css-pseudo": {
|
"css-pseudo": {
|
||||||
|
"active-selection-001-manual.html": [
|
||||||
|
"55001fe379f0dafe1f4690bbe8fb4a115bb0623c",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-002-manual.html": [
|
||||||
|
"01cec72b2d4dfeab99fc2a6f8afd3b701a698b30",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-003-manual.html": [
|
||||||
|
"c56a301ef3a475530cce9b4b01a008577f6bd88a",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-004-manual.html": [
|
||||||
|
"ac7ba7da327df4705c3b71bdebcbb9cc08a4c5ae",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"grammar-error-002-manual.html": [
|
"grammar-error-002-manual.html": [
|
||||||
"3cec3df0adb41f5a7345458dee3090175f85f285",
|
"3cec3df0adb41f5a7345458dee3090175f85f285",
|
||||||
[
|
[
|
||||||
|
@ -118242,6 +118270,19 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"background-attachment-353.html": [
|
||||||
|
"c5ac06c0f57f25a390c29d05622b1fbb09b667eb",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"background-attachment-local": {
|
"background-attachment-local": {
|
||||||
"attachment-local-clipping-color-1.html": [
|
"attachment-local-clipping-color-1.html": [
|
||||||
"8cb76ee89c941bb0b78ad90106981a888b46244f",
|
"8cb76ee89c941bb0b78ad90106981a888b46244f",
|
||||||
|
@ -139183,6 +139224,19 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"grid-flex-item-005.html": [
|
||||||
|
"95c57d1429e5de2a138571435134152c2c33561b",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"image-items-flake-001.html": [
|
"image-items-flake-001.html": [
|
||||||
"90319f1ad83d26d414d8ddcd4a9ab59042a4bd62",
|
"90319f1ad83d26d414d8ddcd4a9ab59042a4bd62",
|
||||||
[
|
[
|
||||||
|
@ -162116,6 +162170,71 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"css-pseudo": {
|
"css-pseudo": {
|
||||||
|
"active-selection-011.html": [
|
||||||
|
"57335dc52d9ce2460e3d6db867bd41fea778e1dd",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-011-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-012.html": [
|
||||||
|
"e40b0d2a0d2a94e64e8d79be33f3c51b89182aed",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-012-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-014.html": [
|
||||||
|
"1bc244c800a82050d20acf28aa978dd478fb7fa4",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-014-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-016.html": [
|
||||||
|
"e5a56afe02280bc5eae0821ee8135aeab6e0401e",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-016-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"active-selection-018.html": [
|
||||||
|
"ee7871c9503d45a3e0a0fbcff7e368d4557e33c3",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-pseudo/reference/active-selection-011-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"active-selection-021.html": [
|
"active-selection-021.html": [
|
||||||
"2061385d6c564c32ff2e36fc096df5b633d7ec2a",
|
"2061385d6c564c32ff2e36fc096df5b633d7ec2a",
|
||||||
[
|
[
|
||||||
|
@ -163386,7 +163505,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"selection-intercharacter-011.html": [
|
"selection-intercharacter-011.html": [
|
||||||
"70ab69fb492070103f2d5caa6a8f60035f0392e8",
|
"a8f02b10e0fc59264e79e0e94264451eb75366eb",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
[
|
[
|
||||||
|
@ -163399,7 +163518,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"selection-intercharacter-012.html": [
|
"selection-intercharacter-012.html": [
|
||||||
"a04fc33e2fe918f8555583d9da2c48197037dc82",
|
"8dc665b77c9529f18d65b06042f7ec14d3e57084",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
[
|
[
|
||||||
|
@ -247827,7 +247946,7 @@
|
||||||
},
|
},
|
||||||
"support": {
|
"support": {
|
||||||
".azure-pipelines.yml": [
|
".azure-pipelines.yml": [
|
||||||
"215f3d8ffd8e2e3ef2d2abdde4e2a6e7b5058fe2",
|
"cbd7b33b5d421e8dda64adfd8e25383e82173a5b",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
".codecov.yml": [
|
".codecov.yml": [
|
||||||
|
@ -270919,7 +271038,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"cookie_helper.py": [
|
"cookie_helper.py": [
|
||||||
"cf48f26eed1661b8e0f85a4ea8029b2f0b8d2e2d",
|
"b88b25c701639dfdf92596c6523bf310fe8dcca1",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"empty_sw.js": [
|
"empty_sw.js": [
|
||||||
|
@ -291915,6 +292034,10 @@
|
||||||
"70437d7bda2b56a921b523d4a81ca4df7be4321d",
|
"70437d7bda2b56a921b523d4a81ca4df7be4321d",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
|
"100x100-gr-rr.png": [
|
||||||
|
"dfd0593e3c4ef9b6c75622e6d7dffca3ff114b36",
|
||||||
|
[]
|
||||||
|
],
|
||||||
"100x100-green-with-red-corners.png": [
|
"100x100-green-with-red-corners.png": [
|
||||||
"a193937c0d017b4b497a68874468fa92123f223e",
|
"a193937c0d017b4b497a68874468fa92123f223e",
|
||||||
[]
|
[]
|
||||||
|
@ -306155,6 +306278,22 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"reference": {
|
"reference": {
|
||||||
|
"active-selection-011-ref.html": [
|
||||||
|
"5c5fb091b85bb4a8d7d7025aac4caeafd34ed65f",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"active-selection-012-ref.html": [
|
||||||
|
"2faa69510d8bc4f867301955be306b53d2a4ed7b",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"active-selection-014-ref.html": [
|
||||||
|
"4a9dd309a0141d6b3950e73ff17ffdd468e14955",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"active-selection-016-ref.html": [
|
||||||
|
"cd80adb3c3be45234bb3e89f42086dd30432cdb9",
|
||||||
|
[]
|
||||||
|
],
|
||||||
"active-selection-021-ref.html": [
|
"active-selection-021-ref.html": [
|
||||||
"7790a3fad8a36f1709fea6a4155ed5af0f3c49d7",
|
"7790a3fad8a36f1709fea6a4155ed5af0f3c49d7",
|
||||||
[]
|
[]
|
||||||
|
@ -306176,11 +306315,11 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"selection-intercharacter-011-ref.html": [
|
"selection-intercharacter-011-ref.html": [
|
||||||
"b0c60408f760b562b98fcb4ff2682fb1e3638452",
|
"b3fa3531b3ed9c1bbb83f7ed5349d3ba792cebcf",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"selection-intercharacter-012-ref.html": [
|
"selection-intercharacter-012-ref.html": [
|
||||||
"38650c90b4096ddac99543aeca2405ac4f288969",
|
"3ead305bfb8eaf08424b789f40efa73c26d8dfe3",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"selection-textarea-011-ref.html": [
|
"selection-textarea-011-ref.html": [
|
||||||
|
@ -306200,6 +306339,14 @@
|
||||||
"100x100-red.png": [
|
"100x100-red.png": [
|
||||||
"57bf3ddc5213d06e0975de38f330ffb7c441b268",
|
"57bf3ddc5213d06e0975de38f330ffb7c441b268",
|
||||||
[]
|
[]
|
||||||
|
],
|
||||||
|
"select-custom.cur": [
|
||||||
|
"0a1f5dd51458223ce9213487ebcea627cdf75a4d",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"select-custom.png": [
|
||||||
|
"344aacee6afe29536d1263a3a24cb47a7f7b8786",
|
||||||
|
[]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textpath-selection-011-ref.html": [
|
"textpath-selection-011-ref.html": [
|
||||||
|
@ -325866,7 +326013,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"long-wav.py": [
|
"long-wav.py": [
|
||||||
"8af2aca8a959b39c7cbd91704e9228a119f2b2d8",
|
"be7df7b83d8723ffd8c977d3f4b5c42a23d7918a",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"partial-script.py": [
|
"partial-script.py": [
|
||||||
|
@ -325928,6 +326075,22 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"focus": {
|
||||||
|
"support": {
|
||||||
|
"focus-restoration-in-different-site-iframes-inner.html": [
|
||||||
|
"903b0c02858520dd1d3af7f95b82033fc5509585",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"focus-restoration-in-different-site-iframes-other.html": [
|
||||||
|
"b302b90938789e2090b99bb0c223080c68962e37",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"focus-restoration-in-different-site-iframes-outer.sub.html": [
|
||||||
|
"91ffed1107580585831313347ebd04ed3dd75d8d",
|
||||||
|
[]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"fonts": {
|
"fonts": {
|
||||||
"AD.woff": [
|
"AD.woff": [
|
||||||
"3df8ea8efdabd11bc45fdcc6d4f3fec771be6650",
|
"3df8ea8efdabd11bc45fdcc6d4f3fec771be6650",
|
||||||
|
@ -329919,7 +330082,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"dispatcher.py": [
|
"dispatcher.py": [
|
||||||
"2f1cf1bd4cf4f4d229de09bfb6da369f6b18adc2",
|
"2617361b0b369bd9efd3aedd42a88f8f46906fe3",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"executor.html": [
|
"executor.html": [
|
||||||
|
@ -335890,7 +336053,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"download_stash.py": [
|
"download_stash.py": [
|
||||||
"95256a2457aeb40dea30f5d43e713bca09f45c1f",
|
"a95fe37dd88e7db829edf3d260d3bdc3b7a7460e",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"iframe-that-checks-contentDocument.html": [
|
"iframe-that-checks-contentDocument.html": [
|
||||||
|
@ -339660,7 +339823,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"geolocation-API.idl": [
|
"geolocation-API.idl": [
|
||||||
"e8dd1526fd071eb0ffe32f21d624d41c0ccfd1cd",
|
"8bce6413816583e40feb941c4903d7be9346c8a2",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"geolocation-sensor.idl": [
|
"geolocation-sensor.idl": [
|
||||||
|
@ -340293,7 +340456,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"lint.ignore": [
|
"lint.ignore": [
|
||||||
"40b7cb2c2180de0227a5803f4fd6b69ee8dc2c78",
|
"e52c2ae457638a90404fe8e4e200962314b6d441",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"loading": {
|
"loading": {
|
||||||
|
@ -350123,7 +350286,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"pr_preview.py": [
|
"pr_preview.py": [
|
||||||
"ba5997f68a615f49322ac009a15aebf0a5a071f3",
|
"2396e9b8aee8a166c3b9321c7e9ec2e8f9b549c0",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"run_tc.py": [
|
"run_tc.py": [
|
||||||
|
@ -350204,7 +350367,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"test_pr_preview.py": [
|
"test_pr_preview.py": [
|
||||||
"2d9966fc8cf4187913adce8609ee750ade1b9797",
|
"13aef50866312998855e8c46579e8a4d8443dc24",
|
||||||
[]
|
[]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -356545,7 +356708,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"browser.py": [
|
"browser.py": [
|
||||||
"6db3415a480c7e62dca111652c388aa83471d1da",
|
"6abe151948438beaf4cd252b44d63d751587b1ec",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"commands.json": [
|
"commands.json": [
|
||||||
|
@ -356598,7 +356761,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"test_install.py": [
|
"test_install.py": [
|
||||||
"7d55d419c1401aca559b92b0aedfdfb83c6c1bc5",
|
"d1abbed142eb5af606e606057786092dd1f01a7d",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"test_markdown.py": [
|
"test_markdown.py": [
|
||||||
|
@ -376292,7 +376455,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"setSinkId.https.html": [
|
"setSinkId.https.html": [
|
||||||
"b1f703a9350bf557f0d38911a09c09a9d02eaa3a",
|
"80e2832e970c0696e132e14d7fd1d8ae2d456d03",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -395154,6 +395317,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"grid-place-content-001.html": [
|
||||||
|
"49bb63928be72401c588eb1816f5a1ce1d0aade3",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"grid-row-axis-alignment-positioned-items-001.html": [
|
"grid-row-axis-alignment-positioned-items-001.html": [
|
||||||
"b76e808da5f7156ee2206d8aecb36990df502037",
|
"b76e808da5f7156ee2206d8aecb36990df502037",
|
||||||
[
|
[
|
||||||
|
@ -411687,6 +411857,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"client-props-root.html": [
|
||||||
|
"875522ec7c18a5a5ffc84eb71a9aa50382e10733",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"cssom-getBoundingClientRect-001.html": [
|
"cssom-getBoundingClientRect-001.html": [
|
||||||
"7d96540adfe95205a770c232473e0c1268e609e2",
|
"7d96540adfe95205a770c232473e0c1268e609e2",
|
||||||
[
|
[
|
||||||
|
@ -436131,6 +436308,15 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"focus": {
|
||||||
|
"focus-restoration-in-different-site-iframes.html": [
|
||||||
|
"3de05455651aef8e37e99aa33877c4e5905103ac",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
"forced-colors-mode": {
|
"forced-colors-mode": {
|
||||||
"forced-colors-mode-03.html": [
|
"forced-colors-mode-03.html": [
|
||||||
"ebe42e4e7502a327849fe2c65924480e00de4399",
|
"ebe42e4e7502a327849fe2c65924480e00de4399",
|
||||||
|
@ -439111,6 +439297,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"window-open-invalid-url.html": [
|
||||||
|
"cabc143b9db769c254631702260ffa5f16a619b7",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"window-open-noopener.html": [
|
"window-open-noopener.html": [
|
||||||
"c3c706605492c5c81bc296054eb98c280492527f",
|
"c3c706605492c5c81bc296054eb98c280492527f",
|
||||||
[
|
[
|
||||||
|
@ -457306,7 +457499,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"property.https.html": [
|
"property.https.html": [
|
||||||
"67aebb5838bb5de62e8628836655f2a480b48b2d",
|
"625fc94117768b792a27c148f609ccccef61507b",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{
|
{
|
||||||
|
@ -476695,6 +476888,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"move-transformed.html": [
|
||||||
|
"c9cdb9954b7002940559d8417e62afe69916428f",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"multi-clip-visual-rect.html": [
|
"multi-clip-visual-rect.html": [
|
||||||
"36475d4c826c11807e9c0a7fbf4457c33c92c2c0",
|
"36475d4c826c11807e9c0a7fbf4457c33c92c2c0",
|
||||||
[
|
[
|
||||||
|
@ -476813,6 +477013,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"transform-change.html": [
|
||||||
|
"fd9657a71455629f856e53b8fa20aec1a3008e73",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"transform.html": [
|
"transform.html": [
|
||||||
"7ac1c8cafde664f6a39c9d0a88e0a5d76753d85f",
|
"7ac1c8cafde664f6a39c9d0a88e0a5d76753d85f",
|
||||||
[
|
[
|
||||||
|
@ -479370,7 +479577,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"MediaDevices-getUserMedia.https.html": [
|
"MediaDevices-getUserMedia.https.html": [
|
||||||
"693f3bd11cfaa6be7ca21bae110467c265be5a07",
|
"f410b262cf5b419d8e056a805a46c518ea45c493",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -479526,7 +479733,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"idlharness.https.window.js": [
|
"idlharness.https.window.js": [
|
||||||
"b10e8dbb046d656e4b06c3572fb4ee069c9e0897",
|
"ee5fb483c120ca273e61cefb7bc7d8be906c3355",
|
||||||
[
|
[
|
||||||
"mediacapture-streams/idlharness.https.window.html",
|
"mediacapture-streams/idlharness.https.window.html",
|
||||||
{
|
{
|
||||||
|
@ -516648,6 +516855,43 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"toStringTag.any.js": [
|
||||||
|
"9c0d346bc7e1e193e16df6d211a578e5ac9509a4",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"jsshell": true,
|
||||||
|
"script_metadata": [
|
||||||
|
[
|
||||||
|
"global",
|
||||||
|
"window,dedicatedworker,jsshell"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"wasm/jsapi/constructor/toStringTag.any.html",
|
||||||
|
{
|
||||||
|
"script_metadata": [
|
||||||
|
[
|
||||||
|
"global",
|
||||||
|
"window,dedicatedworker,jsshell"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"wasm/jsapi/constructor/toStringTag.any.worker.html",
|
||||||
|
{
|
||||||
|
"script_metadata": [
|
||||||
|
[
|
||||||
|
"global",
|
||||||
|
"window,dedicatedworker,jsshell"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
"validate.any.js": [
|
"validate.any.js": [
|
||||||
"8b4f4582ab2987732d404994899e9a77662e2a32",
|
"8b4f4582ab2987732d404994899e9a77662e2a32",
|
||||||
[
|
[
|
||||||
|
@ -517762,17 +518006,6 @@
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"namespace-object-class-string.any.js": [
|
|
||||||
"2f63aca2c55e5b404b72474a43a9631dd3ae57be",
|
|
||||||
[
|
|
||||||
"wasm/jsapi/namespace-object-class-string.any.html",
|
|
||||||
{}
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"wasm/jsapi/namespace-object-class-string.any.worker.html",
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"proto-from-ctor-realm.html": [
|
"proto-from-ctor-realm.html": [
|
||||||
"72931cca77cf2af6e06616af32b4608fb02d38c0",
|
"72931cca77cf2af6e06616af32b4608fb02d38c0",
|
||||||
[
|
[
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[hit-test-floats-003.html]
|
[hit-test-floats-004.html]
|
||||||
[Miss float below something else]
|
[Miss float below something else]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-005.html]
|
|
||||||
[Miss clipped float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
[[data-expected-height\] 3]
|
[[data-expected-height\] 3]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[[data-expected-height\] 4]
|
[[data-expected-height\] 1]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[[data-expected-height\] 2]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[background-attachment-353.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[grid-flex-item-005.html]
|
||||||
|
expected: FAIL
|
|
@ -2,6 +2,3 @@
|
||||||
[Hit test intersecting scaled box]
|
[Hit test intersecting scaled box]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Hit test within unscaled box]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[CaretPosition-001.html]
|
|
||||||
[Element at (400, 100)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[client-props-root.html]
|
||||||
|
[client* properties on the root element]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[matchMedia-display-none-iframe.html]
|
||||||
|
expected: ERROR
|
|
@ -1,2 +0,0 @@
|
||||||
[HTMLMediaElement.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -312,24 +312,24 @@
|
||||||
[fetch(): separate response Content-Type: text/plain ]
|
[fetch(): separate response Content-Type: text/plain ]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: */* text/html]
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*]
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/plain */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,3 @@
|
||||||
[separate text/javascript x/x]
|
[separate text/javascript x/x]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[separate text/javascript error]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,6 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_2.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_3.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[cross-origin-objects-on-new-window.html]
|
||||||
|
expected: TIMEOUT
|
|
@ -1,4 +1,5 @@
|
||||||
[embedded-opener-remove-frame.html]
|
[embedded-opener-remove-frame.html]
|
||||||
|
expected: CRASH
|
||||||
[opener and "removed" embedded documents]
|
[opener and "removed" embedded documents]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-1.html]
|
[iframe_sandbox_popups_escaping-1.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-2.html]
|
[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]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-3.html]
|
[iframe_sandbox_popups_escaping-3.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[iframe_sandbox_popups_nonescaping-1.html]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: FAIL
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[077.html]
|
||||||
|
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[module-static-import-delayed.html]
|
|
||||||
[document.write in an imported module]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[ignore-opens-during-unload.window.html]
|
[ignore-opens-during-unload.window.html]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[ignore-opens-during-unload]
|
[ignore-opens-during-unload]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -4,3 +4,6 @@
|
||||||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
[toStringTag.any.html]
|
||||||
|
[Object.prototype.toString applied after deleting @@toStringTag]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[@@toStringTag exists on the namespace object with the appropriate descriptor]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Object.prototype.toString applied after modifying the namespace object's @@toStringTag]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
||||||
|
[toStringTag.any.worker.html]
|
||||||
|
[Object.prototype.toString applied after deleting @@toStringTag]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[@@toStringTag exists on the namespace object with the appropriate descriptor]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Object.prototype.toString applied after modifying the namespace object's @@toStringTag]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[Worker-constructor.html]
|
||||||
|
expected: ERROR
|
|
@ -611,7 +611,7 @@ jobs:
|
||||||
- template: tools/ci/azure/update_hosts.yml
|
- template: tools/ci/azure/update_hosts.yml
|
||||||
- template: tools/ci/azure/update_manifest.yml
|
- template: tools/ci/azure/update_manifest.yml
|
||||||
# --exclude is a workaround for https://github.com/web-platform-tests/wpt/issues/18995 + https://github.com/web-platform-tests/wpt/issues/20887 + https://github.com/web-platform-tests/wpt/issues/22175 + https://github.com/web-platform-tests/wpt/issues/23630
|
# --exclude is a workaround for https://github.com/web-platform-tests/wpt/issues/18995 + https://github.com/web-platform-tests/wpt/issues/20887 + https://github.com/web-platform-tests/wpt/issues/22175 + https://github.com/web-platform-tests/wpt/issues/23630
|
||||||
- script: ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --this-chunk=$(System.JobPositionInPhase) --total-chunks=$(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info safari --exclude /pointerevents/pointerevent_pointercapture-not-lost-in-chorded-buttons.html --exclude /pointerevents/pointerevent_pointercapture_in_frame.html --exclude /web-share/share-sharePromise-internal-slot.https.html --exclude /webdriver/tests/perform_actions/pointer_tripleclick.py
|
- script: ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --this-chunk=$(System.JobPositionInPhase) --total-chunks=$(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info --channel stable safari --exclude /pointerevents/pointerevent_pointercapture-not-lost-in-chorded-buttons.html --exclude /pointerevents/pointerevent_pointercapture_in_frame.html --exclude /web-share/share-sharePromise-internal-slot.https.html --exclude /webdriver/tests/perform_actions/pointer_tripleclick.py
|
||||||
displayName: 'Run tests'
|
displayName: 'Run tests'
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
displayName: 'Publish results'
|
displayName: 'Publish results'
|
||||||
|
|
|
@ -17,6 +17,8 @@ promise_test(t => promise_rejects_dom(t, "NotFoundError", audio.setSinkId("nonex
|
||||||
"setSinkId fails with NotFoundError on made up deviceid");
|
"setSinkId fails with NotFoundError on made up deviceid");
|
||||||
|
|
||||||
promise_test(async t => {
|
promise_test(async t => {
|
||||||
|
const stream = await navigator.mediaDevices.getUserMedia({audio:true});
|
||||||
|
stream.getAudioTracks()[0].stop();
|
||||||
const list = await navigator.mediaDevices.enumerateDevices();
|
const list = await navigator.mediaDevices.enumerateDevices();
|
||||||
const outputDevicesList = list.filter(({kind}) => kind == "audiooutput");
|
const outputDevicesList = list.filter(({kind}) => kind == "audiooutput");
|
||||||
assert_not_equals(outputDevicesList.length, 0,
|
assert_not_equals(outputDevicesList.length, 0,
|
||||||
|
|
|
@ -18,52 +18,76 @@
|
||||||
# Used to set cookies from an HTTP response header context.
|
# Used to set cookies from an HTTP response header context.
|
||||||
#
|
#
|
||||||
# The response has 200 status and content-type: text/plain; charset=<charset>
|
# The response has 200 status and content-type: text/plain; charset=<charset>
|
||||||
import cgi, encodings, os, re, sys, urllib
|
import encodings, re
|
||||||
|
|
||||||
|
from six import PY3
|
||||||
|
|
||||||
|
from six.moves.urllib.parse import parse_qs, quote
|
||||||
|
|
||||||
|
from wptserve.utils import isomorphic_decode, isomorphic_encode
|
||||||
|
|
||||||
# NOTE: These are intentionally very lax to permit testing
|
# NOTE: These are intentionally very lax to permit testing
|
||||||
DISALLOWED_IN_COOKIE_NAME_RE = re.compile(r'[;\0-\x1f\x7f]');
|
DISALLOWED_IN_COOKIE_NAME_RE = re.compile(br'[;\0-\x1f\x7f]')
|
||||||
DISALLOWED_IN_HEADER_RE = re.compile(r'[\0-\x1f\x7f]');
|
DISALLOWED_IN_HEADER_RE = re.compile(br'[\0-\x1f\x7f]')
|
||||||
|
|
||||||
# Ensure common charset names do not end up with different
|
# Ensure common charset names do not end up with different
|
||||||
# capitalization or punctuation
|
# capitalization or punctuation
|
||||||
CHARSET_OVERRIDES = {
|
CHARSET_OVERRIDES = {
|
||||||
encodings.codecs.lookup(charset).name: charset
|
encodings.codecs.lookup(charset).name: charset
|
||||||
for charset in ('utf-8', 'iso-8859-1',)
|
for charset in (u'utf-8', u'iso-8859-1',)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def quote_str(cookie_str):
|
||||||
|
if PY3:
|
||||||
|
return isomorphic_encode(quote(isomorphic_decode(cookie_str), u'', encoding=u'iso-8859-1'))
|
||||||
|
else:
|
||||||
|
return quote(cookie_str, b'')
|
||||||
|
|
||||||
|
def parse_qs_str(query_str):
|
||||||
|
if PY3:
|
||||||
|
args = parse_qs(isomorphic_decode(query_str), keep_blank_values=True, encoding=u'iso-8859-1')
|
||||||
|
binary_args = {}
|
||||||
|
for key, val in args.items():
|
||||||
|
binary_args[isomorphic_encode(key)] = [isomorphic_encode(x) for x in val]
|
||||||
|
return binary_args
|
||||||
|
else:
|
||||||
|
return parse_qs(query_str, keep_blank_values=True)
|
||||||
|
|
||||||
def main(request, response):
|
def main(request, response):
|
||||||
assert request.method in (
|
assert request.method in (
|
||||||
'GET',
|
u'GET',
|
||||||
'POST',
|
u'POST',
|
||||||
), 'request method was neither GET nor POST: %r' % request.method
|
), u'request method was neither GET nor POST: %r' % request.method
|
||||||
qd = (request.url.split('#')[0].split('?', 1) + [''])[1]
|
qd = (isomorphic_encode(request.url).split(b'#')[0].split(b'?', 1) + [b''])[1]
|
||||||
if request.method == 'POST':
|
if request.method == u'POST':
|
||||||
qd += '&' + request.body
|
qd += b'&' + request.body
|
||||||
args = cgi.parse_qs(qd, keep_blank_values = True)
|
args = parse_qs_str(qd)
|
||||||
charset = encodings.codecs.lookup(args.get('charset', ['utf-8'])[-1]).name
|
|
||||||
|
charset = encodings.codecs.lookup([isomorphic_decode(x) for x in args.get(b'charset', [u'utf-8'])][-1]).name
|
||||||
charset = CHARSET_OVERRIDES.get(charset, charset)
|
charset = CHARSET_OVERRIDES.get(charset, charset)
|
||||||
headers = [('content-type', 'text/plain; charset=' + charset)]
|
headers = [(b'content-type', b'text/plain; charset=' + isomorphic_encode(charset))]
|
||||||
body = []
|
body = []
|
||||||
if request.method == 'POST':
|
if request.method == u'POST':
|
||||||
for set_cookie in args.get('set-cookie', []):
|
for set_cookie in args.get(b'set-cookie', []):
|
||||||
if '=' in set_cookie.split(';', 1)[0]:
|
if b'=' in set_cookie.split(b';', 1)[0]:
|
||||||
name, rest = set_cookie.split('=', 1)
|
name, rest = set_cookie.split(b'=', 1)
|
||||||
assert re.search(
|
assert re.search(
|
||||||
DISALLOWED_IN_COOKIE_NAME_RE,
|
DISALLOWED_IN_COOKIE_NAME_RE,
|
||||||
name
|
name
|
||||||
) is None, 'name had disallowed characters: %r' % name
|
) is None, b'name had disallowed characters: %r' % name
|
||||||
else:
|
else:
|
||||||
rest = set_cookie
|
rest = set_cookie
|
||||||
assert re.search(
|
assert re.search(
|
||||||
DISALLOWED_IN_HEADER_RE,
|
DISALLOWED_IN_HEADER_RE,
|
||||||
rest
|
rest
|
||||||
) is None, 'rest had disallowed characters: %r' % rest
|
) is None, b'rest had disallowed characters: %r' % rest
|
||||||
headers.append(('set-cookie', set_cookie))
|
headers.append((b'set-cookie', set_cookie))
|
||||||
body.append('set-cookie=' + urllib.quote(set_cookie, ''))
|
body.append(b'set-cookie=' + quote_str(set_cookie))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
cookie = request.headers.get('cookie')
|
cookie = request.headers.get(b'cookie')
|
||||||
if cookie is not None:
|
if cookie is not None:
|
||||||
body.append('cookie=' + urllib.quote(cookie, ''))
|
body.append(b'cookie=' + quote_str(cookie))
|
||||||
body = '\r\n'.join(body)
|
body = b'\r\n'.join(body)
|
||||||
headers.append(('content-length', str(len(body))))
|
headers.append((b'content-length', len(body)))
|
||||||
return 200, headers, body
|
return 200, headers, body
|
||||||
|
|
|
@ -0,0 +1,131 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Background and Borders Test: 'background-attachment: local' and 'overflow: hidden'</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-attachment">
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
More info:
|
||||||
|
|
||||||
|
Re: [css3-background] background-attachment: local
|
||||||
|
http://lists.w3.org/Archives/Public/www-style/2013May/0542.html
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<meta content="" name="flags">
|
||||||
|
<meta content="This test checks that when an element has 'background-attachment: local', then the background image is fixed with regard to what is the element's scrollable area and not to its viewport. In this test, what would be the scrollable area for the div#target element is where the red area of its background image 100x100-gr-rr.png is and such area is clipped due to 'overflow: hidden'." name="assert">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div#control
|
||||||
|
{
|
||||||
|
background-color: red;
|
||||||
|
border: solid green;
|
||||||
|
border-width: 50px 0 0 50px;
|
||||||
|
height: 50px;
|
||||||
|
margin-bottom: -100px;
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#target
|
||||||
|
{
|
||||||
|
background-attachment: local;
|
||||||
|
background-image: url("support/100x100-gr-rr.png");
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
font-family: Ahem;
|
||||||
|
font-size: 100px;
|
||||||
|
line-height: 1;
|
||||||
|
height: 100px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square and <strong>no red</strong>.
|
||||||
|
|
||||||
|
<div id="control"></div>
|
||||||
|
|
||||||
|
<div id="target"> <br> </div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
div#control is
|
||||||
|
|
||||||
|
(0px, 0px) (100px, 0px)
|
||||||
|
+.......................+
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| green area |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| green area |
|
||||||
|
| |
|
||||||
|
| +........+|
|
||||||
|
| green | red ||
|
||||||
|
| area | area ||
|
||||||
|
| | ||
|
||||||
|
| +........+|
|
||||||
|
+.......................+
|
||||||
|
(0px, 100px) (100px, 100px)
|
||||||
|
|
||||||
|
|
||||||
|
= = = = = = =
|
||||||
|
|
||||||
|
|
||||||
|
div#target with background-position: top left
|
||||||
|
|
||||||
|
(0px, 0px) (100px, 0px)
|
||||||
|
+.......................+
|
||||||
|
| +........+ |
|
||||||
|
| | green | red |
|
||||||
|
| | area | area |
|
||||||
|
| | | |
|
||||||
|
| +........+ |
|
||||||
|
| |
|
||||||
|
| red area |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| red area |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
+.......................+
|
||||||
|
(0px, 100px) (100px, 100px)
|
||||||
|
|
||||||
|
|
||||||
|
= = = = = = =
|
||||||
|
|
||||||
|
|
||||||
|
div#target with background-position: center
|
||||||
|
|
||||||
|
(0px, 0px) (100px, 0px)
|
||||||
|
+.......................+
|
||||||
|
| |
|
||||||
|
| transparent area |
|
||||||
|
| | overflowed
|
||||||
|
| | area
|
||||||
|
| transparent area | |
|
||||||
|
| | V
|
||||||
|
| +...........| ...........+
|
||||||
|
| | +........+| |
|
||||||
|
| transpa- | | green || red |
|
||||||
|
| rent | | area || area |
|
||||||
|
| area | | || |
|
||||||
|
| | +........+| |
|
||||||
|
+.......................+ |
|
||||||
|
| |
|
||||||
|
| red area | <-- overflowed
|
||||||
|
| | <-- area
|
||||||
|
| red area |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
+.........................+
|
||||||
|
|
||||||
|
-->
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
|
@ -0,0 +1,15 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="help" href="https://crbug.com/1108928">
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
|
||||||
|
<p>Test passes if there is a filled green square.</p>
|
||||||
|
<div id="target">
|
||||||
|
<div style="display: flex; flex-direction: column">
|
||||||
|
<div style="display: grid; height: 0; flex: 1; grid-template-rows: minmax(100px, 200%);">
|
||||||
|
<div style="background: green;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
document.body.offsetTop;
|
||||||
|
document.getElementById('target').style.width = '100px';
|
||||||
|
</script>
|
|
@ -0,0 +1,139 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>CSS Grid Layout Test: Grid containers support 'place-content'</title>
|
||||||
|
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-align" title="10.5. Aligning the Grid: the 'justify-content' and 'align-content' properties">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-align-3/#align-justify-content" title="5.1. The 'justify-content' and 'align-content' Properties">
|
||||||
|
<meta name="assert" content="This test checks that the 'justify-content' and 'align-content' properties, set using their 'place-content' shorthand, work well in grid containers.">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
||||||
|
<style>
|
||||||
|
.grid {
|
||||||
|
display: inline-grid;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: top;
|
||||||
|
border: 10px solid black;
|
||||||
|
margin: 5px;
|
||||||
|
font: 40px/1 Ahem;
|
||||||
|
color: cyan;
|
||||||
|
}
|
||||||
|
.small {
|
||||||
|
padding: 40px;
|
||||||
|
}
|
||||||
|
.big {
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
.content-box.small {
|
||||||
|
width: 0px;
|
||||||
|
height: 0px;
|
||||||
|
}
|
||||||
|
.content-box.big {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
.border-box {
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
.start {
|
||||||
|
place-content: start;
|
||||||
|
}
|
||||||
|
.center {
|
||||||
|
place-content: center;
|
||||||
|
}
|
||||||
|
.end {
|
||||||
|
place-content: end;
|
||||||
|
}
|
||||||
|
.space-between {
|
||||||
|
place-content: space-between;
|
||||||
|
}
|
||||||
|
.space-around {
|
||||||
|
place-content: space-around;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/check-layout-th.js"></script>
|
||||||
|
<div id="log"></div>
|
||||||
|
|
||||||
|
<h3>Small content area</h3>
|
||||||
|
|
||||||
|
<pre>box-sizing: content-box</pre>
|
||||||
|
|
||||||
|
<div class="grid small content-box start">
|
||||||
|
<div data-offset-x="40" data-offset-y="40">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid small content-box center">
|
||||||
|
<div data-offset-x="20" data-offset-y="20">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid small content-box end">
|
||||||
|
<div data-offset-x="0" data-offset-y="0">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid small content-box space-between">
|
||||||
|
<div data-offset-x="40" data-offset-y="40">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid small content-box space-around">
|
||||||
|
<div data-offset-x="20" data-offset-y="20">X</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<pre>box-sizing: border-box</pre>
|
||||||
|
|
||||||
|
<div class="grid small border-box start">
|
||||||
|
<div data-offset-x="40" data-offset-y="40">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid small border-box center">
|
||||||
|
<div data-offset-x="20" data-offset-y="20">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid small border-box end">
|
||||||
|
<div data-offset-x="0" data-offset-y="0">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid small border-box space-between">
|
||||||
|
<div data-offset-x="40" data-offset-y="40">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid small border-box space-around">
|
||||||
|
<div data-offset-x="20" data-offset-y="20">X</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Big content area</h3>
|
||||||
|
|
||||||
|
<pre>box-sizing: content-box</pre>
|
||||||
|
|
||||||
|
<div class="grid big content-box start">
|
||||||
|
<div data-offset-x="0" data-offset-y="0">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid big content-box center">
|
||||||
|
<div data-offset-x="20" data-offset-y="20">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid big content-box end">
|
||||||
|
<div data-offset-x="40" data-offset-y="40">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid big content-box space-between">
|
||||||
|
<div data-offset-x="0" data-offset-y="0">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid big content-box space-around">
|
||||||
|
<div data-offset-x="20" data-offset-y="20">X</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<pre>box-sizing: border-box</pre>
|
||||||
|
|
||||||
|
<div class="grid border-box start">
|
||||||
|
<div data-offset-x="0" data-offset-y="0">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid big border-box center">
|
||||||
|
<div data-offset-x="20" data-offset-y="20">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid big border-box end">
|
||||||
|
<div data-offset-x="40" data-offset-y="40">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid big border-box space-between">
|
||||||
|
<div data-offset-x="0" data-offset-y="0">X</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid big border-box space-around">
|
||||||
|
<div data-offset-x="20" data-offset-y="20">X</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.fonts.ready.then(() => {
|
||||||
|
checkLayout('.grid');
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,37 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection and color (basic)</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
|
||||||
|
<meta content="interact" name="flags">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
color: red;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>Instructions: Select a few or all characters from the words "Text sample" using a variety of methods:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Select by dragging (leftwardedly or rightwardedly) the mouse across the characters.
|
||||||
|
<li>Select by using shift + keyboard arrows when keyboard navigation / caret browsing is enabled.
|
||||||
|
<li>Double click a word to select it.
|
||||||
|
<li>Triple click the text to select it.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Test passes if, in every case, the selected characters become green <em>and</em> if there is no background color for the characters selection.
|
||||||
|
|
||||||
|
<div>Text sample</div>
|
|
@ -0,0 +1,47 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection and background-color (basic)</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
|
||||||
|
<meta content="interact" name="flags">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
background-color: red;
|
||||||
|
color: aqua;
|
||||||
|
display: inline;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
background-color: green;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Chromium 77.0.3855.0 creates a background-color #334C00 or rgb(51, 76, 0)
|
||||||
|
and not a green (#008000 or rgb(0, 128, 0)) background color.
|
||||||
|
|
||||||
|
Issue 1018450: background-color of ::selection should be painted as specified
|
||||||
|
https://bugs.chromium.org/p/chromium/issues/detail?id=1018450
|
||||||
|
*/
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>Instructions: Select a few or all characters from the words "Text sample" using a variety of methods:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Select by dragging (leftwardedly or rightwardedly) the mouse across the characters.
|
||||||
|
<li>Select by using shift + keyboard arrows when keyboard navigation / caret browsing is enabled.
|
||||||
|
<li>Double click a word to select it.
|
||||||
|
<li>Triple click the text to select it.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Test passes if, in every case, the background color of selected characters become green <em>and</em> if text color of selected characters remains aqua.
|
||||||
|
|
||||||
|
<div>Text sample</div>
|
|
@ -0,0 +1,42 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection and cursor (basic)</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
|
||||||
|
<meta content="interact should" name="flags">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
cursor: auto;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
cursor: url("support/select-custom.cur"), help;
|
||||||
|
}
|
||||||
|
|
||||||
|
img
|
||||||
|
{
|
||||||
|
vertical-align: -1em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>Instructions: Select a few or all characters from the words "Text sample" using a variety of methods:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Select by dragging (leftwardedly or rightwardedly) the mouse across the characters.
|
||||||
|
<li>Select by using shift + keyboard arrows when keyboard navigation / caret browsing is enabled.
|
||||||
|
<li>Double click a word to select it.
|
||||||
|
<li>Triple click the text to select it.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Test passes if, in every case, the cursor becomes <img src="support/select-custom.png" width="32" height="32" alt="Image download support must be enabled"> when hovering anywhere over the selection of "Text sample" <em>and</em> if the background color and color of the selected text are the same as when selecting text from these instructions.
|
||||||
|
|
||||||
|
<div>Text sample</div>
|
|
@ -0,0 +1,36 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection and text-decoration (basic)</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
|
||||||
|
<meta content="interact should" name="flags">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
text-decoration: fuchsia underline dotted;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>Instructions: Select a few or all characters from the words "Text sample" using a variety of methods:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Select by dragging (leftwardedly or rightwardedly) the mouse across the characters.
|
||||||
|
<li>Select by using shift + keyboard arrows when keyboard navigation / caret browsing is enabled.
|
||||||
|
<li>Double click a word to select it.
|
||||||
|
<li>Triple click the text to select it.
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Test passes if, in every case, the selected glyphs of "Text sample" are underlined with a fuchsia dotted line <em>and</em> if the background color and color of the selected text are the same as when selecting text from these instructions.
|
||||||
|
|
||||||
|
<div>Text sample</div>
|
|
@ -0,0 +1,43 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection and color (basic)</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
<link rel="match" href="reference/active-selection-011-ref.html">
|
||||||
|
|
||||||
|
<meta content="" name="flags">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
color: red;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function startTest()
|
||||||
|
{
|
||||||
|
var targetRange = document.createRange();
|
||||||
|
/* We first create an empty range */
|
||||||
|
targetRange.selectNodeContents(document.getElementById("test"));
|
||||||
|
/* Then we set the range boundaries to the children of div#test */
|
||||||
|
window.getSelection().addRange(targetRange);
|
||||||
|
/* Finally, we now select such range of content */
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<body onload="startTest();">
|
||||||
|
|
||||||
|
<p>Test passes if each glyph of "Selected Text" is green and <strong>not red</strong> while background color of each glyph of "Selected Text" is white.
|
||||||
|
|
||||||
|
<div id="test">Selected Text</div>
|
|
@ -0,0 +1,51 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection and background-color (basic)</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
<link rel="match" href="reference/active-selection-012-ref.html">
|
||||||
|
|
||||||
|
<meta content="" name="flags">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
background-color: red;
|
||||||
|
color: fuchsia;
|
||||||
|
display: inline;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
background-color: green;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Chromium 77.0.3855.0 and above create a background-color #334C00 or
|
||||||
|
rgb(51, 76, 0) and not a green (#008000 or rgb(0, 128, 0)) background
|
||||||
|
color.
|
||||||
|
*/
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function startTest()
|
||||||
|
{
|
||||||
|
var targetRange = document.createRange();
|
||||||
|
/* We first create an empty range */
|
||||||
|
targetRange.selectNodeContents(document.getElementById("test"));
|
||||||
|
/* Then we set the range boundaries to the children of div#test */
|
||||||
|
window.getSelection().addRange(targetRange);
|
||||||
|
/* Finally, we now select such range of content */
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<body onload="startTest();">
|
||||||
|
|
||||||
|
<p>Test passes if the background color of each glyph of "Selected Text" is green and <strong>not red</strong> while each glyph of "Selected Text" is fuchsia.
|
||||||
|
|
||||||
|
<div id="test">Selected Text</div>
|
|
@ -0,0 +1,55 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection and text-decoration</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-painting">
|
||||||
|
<link rel="match" href="reference/active-selection-014-ref.html">
|
||||||
|
|
||||||
|
<meta content="should" name="flags">
|
||||||
|
<meta name="assert" content="This test checks that 'text-decoration' applies to highlight pseudo-element. Since neither 'color' nor 'background-color' has been specified by the pseudo-element selector in this test, then OS-default highlight colors should be used. The consequence of this is that the highlight color determines also the color of the underline.">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
"
|
||||||
|
The element's own text decorations (both line decorations
|
||||||
|
and emphasis marks) are thus drawn in the pseudo-element's
|
||||||
|
own color when that is not currentColor, regardless of
|
||||||
|
their original color or fill specifications.
|
||||||
|
"
|
||||||
|
coming from
|
||||||
|
https://www.w3.org/TR/css-pseudo-4/#highlight-painting
|
||||||
|
-->
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function startTest()
|
||||||
|
{
|
||||||
|
var targetRange = document.createRange();
|
||||||
|
/* We first create an empty range */
|
||||||
|
targetRange.selectNodeContents(document.getElementById("test"));
|
||||||
|
/* Then we set the range boundaries to the children of div#test */
|
||||||
|
window.getSelection().addRange(targetRange);
|
||||||
|
/* Finally, we now select such range of content */
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<body onload="startTest();">
|
||||||
|
|
||||||
|
<p>Test passes if each glyph of "Selected Text" is underlined and if color and background color of "Selected Text" are the OS-default highlight colors. The underline color must also be the same as the highlight color of "Selected Text".
|
||||||
|
|
||||||
|
<div id="test">Selected Text</div>
|
|
@ -0,0 +1,46 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection of partial text and color</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
<link rel="match" href="reference/active-selection-016-ref.html">
|
||||||
|
|
||||||
|
<meta content="" name="flags">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
background-color: white;
|
||||||
|
color: white;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function startTest()
|
||||||
|
{
|
||||||
|
var targetRange = document.createRange();
|
||||||
|
/* We first create an empty range */
|
||||||
|
targetRange.setStart(document.getElementById("test").childNodes[0], 5);
|
||||||
|
/*
|
||||||
|
Then we set the start boundary of the range inside div#test to
|
||||||
|
*/
|
||||||
|
targetRange.setEnd(document.getElementById("test").childNodes[0], 9);
|
||||||
|
/* And we set the end boundary of the range inside div#test right */
|
||||||
|
window.getSelection().addRange(targetRange);
|
||||||
|
/* Finally, we now select such range of content */
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<body onload="startTest();">
|
||||||
|
|
||||||
|
<div id="test">FAIL PASS FAIL</div>
|
|
@ -0,0 +1,60 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Pseudo-Elements Test: active selection, color and background-color</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
||||||
|
<link rel="match" href="reference/active-selection-011-ref.html">
|
||||||
|
|
||||||
|
<meta content="" name="flags">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
color: green;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
span
|
||||||
|
{
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
div::selection
|
||||||
|
{
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
This div::selection rule is necessary. Without it,
|
||||||
|
"Selected Text" would be using the OS-default
|
||||||
|
highlight colors for ::selection
|
||||||
|
because neither color nor background-color would have
|
||||||
|
been specified by the author.
|
||||||
|
*/
|
||||||
|
|
||||||
|
span::selection
|
||||||
|
{
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function startTest()
|
||||||
|
{
|
||||||
|
var targetRange = document.createRange();
|
||||||
|
/* We first create an empty range */
|
||||||
|
targetRange.selectNodeContents(document.getElementById("parent"));
|
||||||
|
/* Then we set the range boundaries to the children of div#parent */
|
||||||
|
window.getSelection().addRange(targetRange);
|
||||||
|
/* Finally, we now select such range of content */
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<body onload="startTest();">
|
||||||
|
|
||||||
|
<p>Test passes if each glyph of "Selected Text" is green and if there is <strong>no red</strong>.
|
||||||
|
|
||||||
|
<div id="parent">Selected Text <span>FAIL</span></div>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Reftest Reference</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
color: green;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>Test passes if each glyph of "Selected Text" is green and <strong>not red</strong> while background color of each glyph of "Selected Text" is white.
|
||||||
|
|
||||||
|
<div>Selected Text</div>
|
|
@ -0,0 +1,21 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Reftest Reference</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
background-color: green;
|
||||||
|
color: fuchsia;
|
||||||
|
display: inline;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>Test passes if the background color of each glyph of "Selected Text" is green and <strong>not red</strong> while each glyph of "Selected Text" is fuchsia.
|
||||||
|
|
||||||
|
<div>Selected Text</div>
|
|
@ -0,0 +1,47 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Reftest Reference</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
background-color: Highlight;
|
||||||
|
color: HighlightText;
|
||||||
|
display: inline;
|
||||||
|
font-size: 300%;
|
||||||
|
text-decoration: HighlightText underline;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
"
|
||||||
|
The element's own text decorations (both line decorations
|
||||||
|
and emphasis marks) are thus drawn in the pseudo-element's
|
||||||
|
own color when that is not currentColor, regardless of
|
||||||
|
their original color or fill specifications.
|
||||||
|
"
|
||||||
|
coming from
|
||||||
|
https://www.w3.org/TR/css-pseudo-4/#highlight-painting
|
||||||
|
|
||||||
|
Highlight
|
||||||
|
Background of item(s) selected in a control.
|
||||||
|
https://www.w3.org/TR/css-color-4/#valdef-system-color-highlight
|
||||||
|
|
||||||
|
HighlightText
|
||||||
|
Text of item(s) selected in a control.
|
||||||
|
https://www.w3.org/TR/css-color-4/#valdef-system-color-highlighttext
|
||||||
|
|
||||||
|
CSS4 Color Module
|
||||||
|
5.2 System Colors
|
||||||
|
https://www.w3.org/TR/css-color-4/#css-system-colors
|
||||||
|
-->
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Test passes if each glyph of "Selected Text" is underlined and if color and background color of "Selected Text" are the OS-default highlight colors. The underline color must also be the same as the highlight color of "Selected Text".
|
||||||
|
|
||||||
|
<div id="test">Selected Text</div>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
|
||||||
|
<title>CSS Reftest Reference</title>
|
||||||
|
|
||||||
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
div
|
||||||
|
{
|
||||||
|
color: white;
|
||||||
|
font-size: 300%;
|
||||||
|
}
|
||||||
|
|
||||||
|
span
|
||||||
|
{
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div>FAIL <span>PASS</span></div>
|
|
@ -9,13 +9,16 @@
|
||||||
<style>
|
<style>
|
||||||
div
|
div
|
||||||
{
|
{
|
||||||
background-color: yellow;
|
|
||||||
display: inline-block;
|
|
||||||
font-size: 48px;
|
font-size: 48px;
|
||||||
letter-spacing: 1em;
|
letter-spacing: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span
|
span#yellow
|
||||||
|
{
|
||||||
|
background-color: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
span#orange
|
||||||
{
|
{
|
||||||
background-color: orange;
|
background-color: orange;
|
||||||
}
|
}
|
||||||
|
@ -23,4 +26,4 @@
|
||||||
|
|
||||||
<p>Test passes if the background of characters "c" and "t" is orange (and only those 2 characters) and if the space between those 2 characters is also orange.
|
<p>Test passes if the background of characters "c" and "t" is orange (and only those 2 characters) and if the space between those 2 characters is also orange.
|
||||||
|
|
||||||
<div>Sele<span>ct</span>ed Text</div>
|
<div><span id="yellow">Sele<span id="orange">ct</span>ed</span></div>
|
||||||
|
|
|
@ -9,13 +9,16 @@
|
||||||
<style>
|
<style>
|
||||||
div
|
div
|
||||||
{
|
{
|
||||||
background-color: yellow;
|
|
||||||
display: inline-block;
|
|
||||||
font-size: 48px;
|
font-size: 48px;
|
||||||
letter-spacing: 1em;
|
letter-spacing: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span
|
span#yellow
|
||||||
|
{
|
||||||
|
background-color: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.orange
|
||||||
{
|
{
|
||||||
background-color: orange;
|
background-color: orange;
|
||||||
}
|
}
|
||||||
|
@ -23,4 +26,4 @@
|
||||||
|
|
||||||
<p>Test passes if the background of characters "c" and "t" is orange and if the space between those 2 characters is yellow (and not orange).
|
<p>Test passes if the background of characters "c" and "t" is orange and if the space between those 2 characters is yellow (and not orange).
|
||||||
|
|
||||||
<div>Sele<span>c</span> <span>t</span>ed Text</div>
|
<div><span id="yellow">Sele<span class="orange">c</span> <span class="orange">t</span>ed</span></div>
|
||||||
|
|
|
@ -46,4 +46,4 @@
|
||||||
|
|
||||||
<p>Test passes if the background of characters "c" and "t" is orange (and only those 2 characters) and if the space between those 2 characters is also orange.
|
<p>Test passes if the background of characters "c" and "t" is orange (and only those 2 characters) and if the space between those 2 characters is also orange.
|
||||||
|
|
||||||
<div id="test">Sele<span>ct</span>ed Text</div>
|
<div id="test">Sele<span>ct</span>ed</div>
|
||||||
|
|
|
@ -46,4 +46,4 @@
|
||||||
|
|
||||||
<p>Test passes if the background of characters "c" and "t" is orange and if the space between those 2 characters is yellow (and not orange).
|
<p>Test passes if the background of characters "c" and "t" is orange and if the space between those 2 characters is yellow (and not orange).
|
||||||
|
|
||||||
<div id="test">Sele<span>c</span> <span>t</span>ed Text</div>
|
<div id="test">Sele<span>c</span> <span>t</span>ed</div>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 326 B |
Binary file not shown.
After Width: | Height: | Size: 337 B |
|
@ -0,0 +1,29 @@
|
||||||
|
<!doctype html>
|
||||||
|
<title>client* on the scrolling element</title>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/cssom-view/#extension-to-the-element-interface">
|
||||||
|
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1654769">
|
||||||
|
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
|
||||||
|
<link rel="author" title="Mozilla" href="https://mozilla.org">
|
||||||
|
<script src=/resources/testharness.js></script>
|
||||||
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
/* Ensure the width of the root element's box is smaller than the viewport. */
|
||||||
|
margin: 5px;
|
||||||
|
/* Remove the scrollbars so that we can test {Width, Height}. */
|
||||||
|
scrollbar-width: none;
|
||||||
|
/* Would love to add a border but https://github.com/w3c/csswg-drafts/issues/5363 */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div style="height: 200vh; width: 200vw"></div>
|
||||||
|
<script>
|
||||||
|
test(function() {
|
||||||
|
scrollTo(100, 100);
|
||||||
|
assert_equals(document.documentElement.clientTop, 0, "Client top doesn't depend on scrolling");
|
||||||
|
assert_equals(document.documentElement.clientLeft, 0, "Client left doesn't depend on scrolling");
|
||||||
|
assert_equals(document.documentElement.clientWidth, window.innerWidth, "Without scrollbars, client width should match viewport width");
|
||||||
|
assert_equals(document.documentElement.clientHeight, window.innerHeight, "Without scrollbars, client height should match viewport height");
|
||||||
|
}, "client* properties on the root element");
|
||||||
|
</script>
|
|
@ -118,12 +118,11 @@ def main(request, response):
|
||||||
bytes_remaining_to_send -= len(initial_write)
|
bytes_remaining_to_send -= len(initial_write)
|
||||||
|
|
||||||
while bytes_remaining_to_send > 0:
|
while bytes_remaining_to_send > 0:
|
||||||
if not response.writer.flush():
|
|
||||||
break
|
|
||||||
|
|
||||||
to_send = b'\x00' * min(bytes_remaining_to_send, sample_rate)
|
to_send = b'\x00' * min(bytes_remaining_to_send, sample_rate)
|
||||||
bytes_remaining_to_send -= len(to_send)
|
bytes_remaining_to_send -= len(to_send)
|
||||||
|
|
||||||
response.writer.write(to_send)
|
if not response.writer.write(to_send):
|
||||||
|
break
|
||||||
|
|
||||||
# Throttle the stream
|
# Throttle the stream
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!doctype html>
|
||||||
|
<meta charset=utf-8>
|
||||||
|
<title>Test focus restoration</title>
|
||||||
|
<script src=/resources/testharness.js></script>
|
||||||
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
<script>
|
||||||
|
setup({explicit_done:true});
|
||||||
|
window.onmessage = function(e) {
|
||||||
|
test(function() {
|
||||||
|
assert_equals(e.data, "outerlog:log:bodyfocus,inputfocus,inputblur,bodyblur,bodyfocus,inputfocus,", 'Check log');
|
||||||
|
}, "Check result");
|
||||||
|
w.close();
|
||||||
|
done();
|
||||||
|
};
|
||||||
|
var w = window.open("support/focus-restoration-in-different-site-iframes-outer.sub.html");
|
||||||
|
</script>
|
|
@ -0,0 +1,37 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Inner document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Inner</h1>
|
||||||
|
<input type="text">
|
||||||
|
<script>
|
||||||
|
window.onmessage = function(e) {
|
||||||
|
if (e.data == "getlog") {
|
||||||
|
parent.postMessage(log, "*");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let log = "log:";
|
||||||
|
let input = document.getElementsByTagName("input")[0];
|
||||||
|
input.onfocus = function() {
|
||||||
|
log += "inputfocus,"
|
||||||
|
}
|
||||||
|
input.onblur = function() {
|
||||||
|
log += "inputblur,"
|
||||||
|
}
|
||||||
|
document.body.onfocus = function() {
|
||||||
|
log += "bodyfocus,"
|
||||||
|
}
|
||||||
|
document.body.onblur = function() {
|
||||||
|
log += "bodyblur,"
|
||||||
|
}
|
||||||
|
window.onload = function() {
|
||||||
|
input.focus();
|
||||||
|
parent.postMessage("start", "*");
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<script>
|
||||||
|
window.onload = function() {
|
||||||
|
opener.postMessage("other", "*");
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -0,0 +1,39 @@
|
||||||
|
<!doctype html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Focus restoration outer</title>
|
||||||
|
<script>
|
||||||
|
let other = null;
|
||||||
|
let log = "outerlog:";
|
||||||
|
function getLog() {
|
||||||
|
return log;
|
||||||
|
}
|
||||||
|
window.onmessage = function(e) {
|
||||||
|
if (e.data == "start") {
|
||||||
|
other = window.open("focus-restoration-in-different-site-iframes-other.html", "otherwindow", "resizable=yes");
|
||||||
|
} else if (e.data == "other") {
|
||||||
|
other.close();
|
||||||
|
setTimeout(function() {
|
||||||
|
document.getElementsByTagName("iframe")[0].contentWindow.postMessage("getlog", "*");
|
||||||
|
}, 2000);
|
||||||
|
} else {
|
||||||
|
setTimeout(function() {
|
||||||
|
opener.postMessage(getLog() + e.data, "*");
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
window.onload = function() {
|
||||||
|
document.getElementsByTagName("iframe")[0].onfocus = function() {
|
||||||
|
log += "iframefocus,";
|
||||||
|
}
|
||||||
|
document.getElementsByTagName("iframe")[0].onblur = function() {
|
||||||
|
log += "iframeblur,";
|
||||||
|
}
|
||||||
|
document.body.onfocus = function() {
|
||||||
|
log += "bodyfocus,";
|
||||||
|
}
|
||||||
|
document.body.onblur = function() {
|
||||||
|
log += "bodyblur,";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<iframe src="http://{{hosts[alt][www]}}:{{ports[http][0]}}/focus/support/focus-restoration-in-different-site-iframes-inner.html">
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!doctype html>
|
||||||
|
<meta charset=utf-8>
|
||||||
|
<title>window.open() with an invalid URL</title>
|
||||||
|
<script src=/resources/testharness.js></script>
|
||||||
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
<script>
|
||||||
|
test(() => {
|
||||||
|
assert_throws_dom("SyntaxError", () => window.open("https://example.com\u0000mozilla.org"));
|
||||||
|
}, "Window.open should throw SyntaxError when an invalid url is passed as the first parameter");
|
||||||
|
</script>
|
|
@ -23,12 +23,10 @@ let property= [
|
||||||
["focus" , w => w.focus() ] ,
|
["focus" , w => w.focus() ] ,
|
||||||
["frames" , w => w.frames ] ,
|
["frames" , w => w.frames ] ,
|
||||||
["indexed" , w => w[0] ] ,
|
["indexed" , w => w[0] ] ,
|
||||||
["indexed" , w => w[0] = "" ] ,
|
|
||||||
["length" , w => w.length ] ,
|
["length" , w => w.length ] ,
|
||||||
["location" , w => w.location ] ,
|
["location" , w => w.location ] ,
|
||||||
["location" , w => w.location = "#" ] ,
|
["location" , w => w.location = "#" ] ,
|
||||||
["named" , w => w["test"] ] ,
|
["named" , w => w["test"] ] ,
|
||||||
["named" , w => w["test"] = "" ] ,
|
|
||||||
["opener" , w => w.opener ] ,
|
["opener" , w => w.opener ] ,
|
||||||
["opener" , w => w.opener = "" ] ,
|
["opener" , w => w.opener = "" ] ,
|
||||||
["postMessage" , w => w.postMessage("") ] ,
|
["postMessage" , w => w.postMessage("") ] ,
|
||||||
|
|
|
@ -9,17 +9,12 @@ def main(request, response):
|
||||||
return b''
|
return b''
|
||||||
|
|
||||||
uuid = request.GET[b'uuid']
|
uuid = request.GET[b'uuid']
|
||||||
stashed = request.server.stash.take(uuid)
|
|
||||||
if stashed is None:
|
|
||||||
stashed = []
|
|
||||||
|
|
||||||
if request.method == u'POST':
|
if request.method == u'POST':
|
||||||
stashed.append(request.body)
|
return request.server.stash.put(uuid, request.body)
|
||||||
ret = b'done'
|
|
||||||
else:
|
else:
|
||||||
if len(stashed) == 0:
|
body = request.server.stash.take(uuid)
|
||||||
ret = b'not ready'
|
if body is None:
|
||||||
|
return b'not ready'
|
||||||
else:
|
else:
|
||||||
ret = stashed.pop(0)
|
return body
|
||||||
request.server.stash.put(uuid, stashed)
|
|
||||||
return ret;
|
|
||||||
|
|
|
@ -22,7 +22,6 @@ def main(request, response):
|
||||||
single_delay = finish_delay / count
|
single_delay = finish_delay / count
|
||||||
for i in range(count): # pylint: disable=unused-variable
|
for i in range(count): # pylint: disable=unused-variable
|
||||||
time.sleep(single_delay)
|
time.sleep(single_delay)
|
||||||
response.writer.write_content(u"\n")
|
if not response.writer.write_content(b"\n"):
|
||||||
if not response.writer.flush():
|
|
||||||
return
|
return
|
||||||
request.server.stash.put(token, True)
|
request.server.stash.put(token, True)
|
||||||
|
|
|
@ -14,8 +14,8 @@ interface Geolocation {
|
||||||
optional PositionOptions options = {});
|
optional PositionOptions options = {});
|
||||||
|
|
||||||
long watchPosition(PositionCallback successCallback,
|
long watchPosition(PositionCallback successCallback,
|
||||||
optional PositionErrorCallback errorCallback,
|
optional PositionErrorCallback errorCallback,
|
||||||
optional PositionOptions options = {});
|
optional PositionOptions options = {});
|
||||||
|
|
||||||
void clearWatch(long watchId);
|
void clearWatch(long watchId);
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<title>Layout Instability: shift of a transformed container</title>
|
||||||
|
<link rel="help" href="https://wicg.github.io/layout-instability/" />
|
||||||
|
<style>
|
||||||
|
body { margin: 0; }
|
||||||
|
#transformed { position: relative; transform: translateX(20px); width: 100px; height: 100px; }
|
||||||
|
</style>
|
||||||
|
<div id="transformed"></div>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="resources/util.js"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
promise_test(async () => {
|
||||||
|
const watcher = new ScoreWatcher;
|
||||||
|
|
||||||
|
// Wait for the initial render to complete.
|
||||||
|
await waitForAnimationFrames(2);
|
||||||
|
|
||||||
|
document.querySelector("#transformed").style = "top: 50px";
|
||||||
|
|
||||||
|
const expectedScore = computeExpectedScore(100 * (100 + 50), 50);
|
||||||
|
|
||||||
|
await watcher.promise;
|
||||||
|
assert_equals(watcher.score, expectedScore);
|
||||||
|
}, 'Move transformed container');
|
||||||
|
|
||||||
|
</script>
|
|
@ -0,0 +1,33 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<title>Layout Instability: transform change</title>
|
||||||
|
<link rel="help" href="https://wicg.github.io/layout-instability/" />
|
||||||
|
<style>
|
||||||
|
body { margin: 0; }
|
||||||
|
#transformed { position: relative; transform: translateX(20px); width: 100px; height: 100px; }
|
||||||
|
#child { width: 400px; height: 400px; }
|
||||||
|
</style>
|
||||||
|
<div id="transformed">
|
||||||
|
<div id="child"></div>
|
||||||
|
</div>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="resources/util.js"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
promise_test(async () => {
|
||||||
|
const watcher = new ScoreWatcher;
|
||||||
|
|
||||||
|
// Wait for the initial render to complete.
|
||||||
|
await waitForAnimationFrames(2);
|
||||||
|
|
||||||
|
// Modify the transform, for which no shift should be reported.
|
||||||
|
document.querySelector("#transformed").style = "transform: translateY(100px)";
|
||||||
|
// Change size of child, for which no shift should be reported, either.
|
||||||
|
document.querySelector("#child").style = "width: 300px";
|
||||||
|
|
||||||
|
await waitForAnimationFrames(2);
|
||||||
|
// No shift should be reported.
|
||||||
|
assert_equals(watcher.score, 0);
|
||||||
|
}, 'transform change');
|
||||||
|
|
||||||
|
</script>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue