mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Auto merge of #26008 - servo-wpt-sync:wpt_update_21-03-2020, r=jdm
Sync WPT with upstream (21-03-2020) Automated downstream sync of changes from upstream as of 21-03-2020. [no-wpt-sync] r? @servo-wpt-sync
This commit is contained in:
commit
19d6b7b380
96 changed files with 1039 additions and 357 deletions
|
@ -1,4 +1,4 @@
|
|||
[hit-test-floats-004.html]
|
||||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[background-position-subpixel-at-border.tentative.html]
|
||||
expected: FAIL
|
|
@ -1,7 +1,4 @@
|
|||
[transform-scale-hittest.html]
|
||||
[Hit test within unscaled box]
|
||||
expected: FAIL
|
||||
|
||||
[Hit test intersecting scaled box]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
[no-transition-from-ua-to-blocking-stylesheet.html]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
|
|
@ -39,9 +39,6 @@
|
|||
[fetch(): separate response Content-Type: text/plain;charset=gbk text/html]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[Request: combined response Content-Type: text/html */*]
|
||||
expected: NOTRUN
|
||||
|
||||
|
@ -93,9 +90,6 @@
|
|||
[fetch(): combined response Content-Type: text/plain;charset=gbk text/plain]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[Request: combined response Content-Type: text/html text/plain]
|
||||
expected: NOTRUN
|
||||
|
||||
|
@ -246,9 +240,6 @@
|
|||
[Response: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[Response: combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
|
||||
expected: NOTRUN
|
||||
|
||||
|
@ -327,6 +318,15 @@
|
|||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -38,15 +38,9 @@
|
|||
[separate x/x;charset=windows-1252 text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript; charset=windows-1252 text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[combined text/javascript;charset=windows-1252 x/x text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate x/x;" x/y;\\" text/javascript;charset=windows-1252;" text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -62,3 +56,12 @@
|
|||
[combined text/javascript ]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript error]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript ]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%0B%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20%22nosniFF%22]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[077.html]
|
||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[positionstate.html]
|
||||
[Test setPositionState with negative playback rate]
|
||||
expected: FAIL
|
||||
|
|
@ -8,3 +8,6 @@
|
|||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44057 more errors.\n\tMax AbsError of 1.9900983572006226e+0 at index of 12357.\n\t[12357\]\t-9.9751412868499756e-1\t9.9258422851562500e-1\t1.9900983572006226e+0\t2.0049667323212912e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9985451102256775e+0 at index of 27408.\n\t[27408\]\t-9.9997943639755249e-1\t9.9856567382812500e-1\t1.9985451102256775e+0\t2.0014157932787811e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,3 +11,9 @@
|
|||
[< [buffer-stitching-1\] 2 out of 3 assertions were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t5.1020887923182881e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5714559801668507e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (45.01863889546195 dB) is not greater than or equal to 85.58. Got 45.01863889546195.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[005.html]
|
||||
expected: ERROR
|
||||
[dedicated worker in shared worker in dedicated worker]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
[shared-worker-in-data-url-context.window.html]
|
||||
expected: TIMEOUT
|
||||
[Create a shared worker in a data url frame]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Create a data url shared worker in a data url frame]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -118298,6 +118298,19 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"background-position-subpixel-at-border.tentative.html": [
|
||||
"ad2fa4dc02183b48f76bb8a782e6894704d7b24b",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/css-backgrounds/reference/background-position-subpixel-at-border-ref.tentative.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"background-repeat": {
|
||||
"background-repeat-no-repeat.xht": [
|
||||
"00d428f6ec768f34772964b74ad45415b6bb32a9",
|
||||
|
@ -230822,7 +230835,7 @@
|
|||
},
|
||||
"resize-observer": {
|
||||
"devicepixel.html": [
|
||||
"6ecb8246d14dcfb4de9895f9920b4e30832214b6",
|
||||
"7bada9363e2e832738d431570e9c1576da3b755a",
|
||||
[
|
||||
null,
|
||||
[
|
||||
|
@ -236723,7 +236736,7 @@
|
|||
},
|
||||
"support": {
|
||||
".azure-pipelines.yml": [
|
||||
"44771797606a3128ed60a59c429f68288723ebe5",
|
||||
"fb78944998e33edde5ea614af1a0cf1adc4f02ca",
|
||||
[]
|
||||
],
|
||||
".codecov.yml": [
|
||||
|
@ -281317,6 +281330,10 @@
|
|||
"aa68e23fe09ba6e2c4a2391f9b2ae129037f1dde",
|
||||
[]
|
||||
],
|
||||
"background-position-subpixel-at-border-ref.tentative.html": [
|
||||
"2964ffa4ce4ed6f144c98f97e2a9d583427424df",
|
||||
[]
|
||||
],
|
||||
"background-rounded-image-clip.html": [
|
||||
"2436bedad5022b95f0913d07501e7ebf206f8a51",
|
||||
[]
|
||||
|
@ -281519,6 +281536,14 @@
|
|||
"e45bbbe5c5760d905db4bf015b5b7faa27467c7f",
|
||||
[]
|
||||
],
|
||||
"green1x50.png": [
|
||||
"4540a11478baaeaa40bf8797bfa0d0e382d13777",
|
||||
[]
|
||||
],
|
||||
"green50x1.png": [
|
||||
"1e90474cebb84d29b2ad22e922e2151eee1aa30b",
|
||||
[]
|
||||
],
|
||||
"stripes-100.png": [
|
||||
"cfb6980439ae80abb5a93e392421e8c6d4cfdae2",
|
||||
[]
|
||||
|
@ -284770,7 +284795,7 @@
|
|||
[]
|
||||
],
|
||||
"README.md": [
|
||||
"653f4d933cd0eef271076f02d515cb716ed4659f",
|
||||
"7d333c5bca51454a53f7fd25edb93c5d997abb88",
|
||||
[]
|
||||
],
|
||||
"fixed-stretch-style-over-weight-ref.html": [
|
||||
|
@ -284783,7 +284808,7 @@
|
|||
],
|
||||
"resources": {
|
||||
"variabletest_matching.ttf": [
|
||||
"307af4926cbac28f923feebc69d653894e50f560",
|
||||
"7a09643083b14d0573f88dafca1aaf6fadb9338f",
|
||||
[]
|
||||
]
|
||||
},
|
||||
|
@ -324704,7 +324729,7 @@
|
|||
[]
|
||||
],
|
||||
"structured-clone-battery-of-tests.js": [
|
||||
"ac5104c7fd77808a2ec9dd4486f711cb5e8e414b",
|
||||
"751a0e1a9ea8b549543f2e78551b0d00b4fc6127",
|
||||
[]
|
||||
]
|
||||
},
|
||||
|
@ -326989,19 +327014,19 @@
|
|||
},
|
||||
"tools": {
|
||||
"axisheight.py": [
|
||||
"d588560b650af0d2cb995083f8fff366a542ca44",
|
||||
"abcc492ddb63f98dc8c6e7dbeb54a0d49866931b",
|
||||
[]
|
||||
],
|
||||
"fractions.py": [
|
||||
"42cfe468219ce658cfe3943cd78e38ce70a9cdc7",
|
||||
"b5a1894224d8336e16f70333b5c2c894e41176ac",
|
||||
[]
|
||||
],
|
||||
"largeop.py": [
|
||||
"58ce7aebcf415eed9f5b161dc869dedc0d3e3e61",
|
||||
"f1f52c4304e595cc647d75a2da85e731a28a97ff",
|
||||
[]
|
||||
],
|
||||
"limits.py": [
|
||||
"840a76ffb1a6ac199ff9c655e72262f8955012a2",
|
||||
"029c7b320600210ff6b447e8516394f6e18ce4dd",
|
||||
[]
|
||||
],
|
||||
"math-text.py": [
|
||||
|
@ -327009,11 +327034,11 @@
|
|||
[]
|
||||
],
|
||||
"mathvariant-transforms.py": [
|
||||
"dd2994dd5a77554016eaaa027164a6fdaef3b544",
|
||||
"d43d8c0f146348aa72f9399eaee9030b44423f41",
|
||||
[]
|
||||
],
|
||||
"operator-dictionary.py": [
|
||||
"8af2bd677be0982afa4d5adbf48d6d11b91394ec",
|
||||
"846ea81a979c275e670ea2e18a4e4b98b755c443",
|
||||
[]
|
||||
],
|
||||
"operator-dictionary.xsl": [
|
||||
|
@ -327021,31 +327046,31 @@
|
|||
[]
|
||||
],
|
||||
"percentscaledown.py": [
|
||||
"ea09c4405e48a085d04634638c9186f9dbd18e85",
|
||||
"1571a7e3d85c4db3bb53767d6eb4c347f377baf7",
|
||||
[]
|
||||
],
|
||||
"radicals.py": [
|
||||
"90fe1d9cc1e56448fc206f8cf5f2c4e2ba9d02ab",
|
||||
"cf71cc50cafb03d6927504b8c113f711182f43c6",
|
||||
[]
|
||||
],
|
||||
"scripts.py": [
|
||||
"add16373845fc09c1ea8431c1e23e8beef03537a",
|
||||
"62c5115e902587b8ea18a01ec847178b9939af14",
|
||||
[]
|
||||
],
|
||||
"stacks.py": [
|
||||
"9a4c291e6ea2412b3ac85b297c8ad1eac3d55109",
|
||||
"bd0bf8a117f346629a007239e94255efd010d4ed",
|
||||
[]
|
||||
],
|
||||
"stretchstacks.py": [
|
||||
"7b888f49e70c6fdd07caef792ee03d76897695f6",
|
||||
"28f116622d33152270a320c45d51d0f2e8a106e6",
|
||||
[]
|
||||
],
|
||||
"underover.py": [
|
||||
"df34e7999602be573a1b25bee8debd0663ab3750",
|
||||
"71a31387b14dd84e6b3797fca3208633127209c8",
|
||||
[]
|
||||
],
|
||||
"use-typo-lineheight.py": [
|
||||
"9768979f488e3828dffddc2111e5916546860c47",
|
||||
"48cdd2d6e70410bb7e1b22e4bc1ee08b32018b16",
|
||||
[]
|
||||
],
|
||||
"utils": {
|
||||
|
@ -327054,16 +327079,16 @@
|
|||
[]
|
||||
],
|
||||
"mathfont.py": [
|
||||
"53633c915047413b2a4651ad215f559068bdeb91",
|
||||
"03af20668e7274148c50d0fe182b2127e309dea2",
|
||||
[]
|
||||
],
|
||||
"misc.py": [
|
||||
"d877a915e5294efcff292a730b142052f252fbb2",
|
||||
"0d05346aa51457ac17cb9d167c8221a19436bf68",
|
||||
[]
|
||||
]
|
||||
},
|
||||
"xHeight.py": [
|
||||
"724352bf91679ea9a7e4d862ad43b5707f9cfb7b",
|
||||
"2103a73a114d2e96f842298e6c5701c58976ea4a",
|
||||
[]
|
||||
]
|
||||
}
|
||||
|
@ -328283,6 +328308,14 @@
|
|||
]
|
||||
},
|
||||
"origin-policy": {
|
||||
"bad-server": {
|
||||
"resources": {
|
||||
"subframe-with-bad-header.py": [
|
||||
"c35daa0c2be170d60db19bc2ae8ea24b25e77ef9",
|
||||
[]
|
||||
]
|
||||
}
|
||||
},
|
||||
"content-security": {
|
||||
"resources": {
|
||||
"allow-unsafe-eval-disallow-images.mjs": [
|
||||
|
@ -331168,7 +331201,7 @@
|
|||
]
|
||||
},
|
||||
"idlharness.js": [
|
||||
"4f8ec0d1a663355e38a6425c79383c02342db4ea",
|
||||
"d01da49c2d58959178bac9594d974eb729c0efa7",
|
||||
[]
|
||||
],
|
||||
"idlharness.js.headers": [
|
||||
|
@ -331588,7 +331621,7 @@
|
|||
[]
|
||||
],
|
||||
"testharness.js": [
|
||||
"8d3b3e9dd6bf2a9d50b4e464c82d569370e85496",
|
||||
"63883e15504d78c60344338d8b4e97da2d0109a3",
|
||||
[]
|
||||
],
|
||||
"testharness.js.headers": [
|
||||
|
@ -336250,7 +336283,7 @@
|
|||
[]
|
||||
],
|
||||
"requirements_flake8.txt": [
|
||||
"0a45224016417cddbf59209196380cce0a089edf",
|
||||
"1c4fb7262e5bcf3c3ca59bd013dcd14887abf327",
|
||||
[]
|
||||
],
|
||||
"requirements_mypy.txt": [
|
||||
|
@ -365967,7 +366000,7 @@
|
|||
]
|
||||
],
|
||||
"idlharness.any.js": [
|
||||
"efd2fdeb98dc5093babd24c785145ace9fdc8757",
|
||||
"3517ffc896897c21815c7338035644038bb0e118",
|
||||
[
|
||||
"animation-worklet/idlharness.any.html",
|
||||
{
|
||||
|
@ -365979,8 +366012,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -365994,8 +366032,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
|
@ -382083,56 +382126,56 @@
|
|||
]
|
||||
],
|
||||
"grid-alignment-style-changes-008.html": [
|
||||
"c7e65dcc2fb56db1acf0290d326a4db072594a4d",
|
||||
"1b13b653c8fa403aa5503dfb9c5babc8ee51f2c9",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-block-axis-alignment-auto-margins-001.html": [
|
||||
"a1cc22a41d3f89045eae41e80adb39387464be66",
|
||||
"03beae8db72a4588001880b6e8b7ff3799e60d05",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-block-axis-alignment-auto-margins-002.html": [
|
||||
"052836c9e9f8069012dbc1e8f0b75c5e4dbd3563",
|
||||
"077c7a18ff06207f4002c566b71af14ef445c936",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-block-axis-alignment-auto-margins-003.html": [
|
||||
"6ff7e3d423e6dfcc708083598753fc99ac8b6b8a",
|
||||
"552070e808416afb8ccf3b9a0009ada0fe1c7f21",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-block-axis-alignment-auto-margins-004.html": [
|
||||
"6d80fac7bdb2c265c9a643720b1df5dee3691e8c",
|
||||
"20e9500e1d4f348c9ab651c4b1aa7f741e1e34ca",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-block-axis-alignment-auto-margins-005.html": [
|
||||
"5f3d2fa8e23c862e45637b30582adad05c387d97",
|
||||
"98f87f8fd9008cc1b0bd76eeab3991a0c902d32e",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-block-axis-alignment-auto-margins-006.html": [
|
||||
"566a878d42b75bcf1701cdd78b8ab6679d6fd2ab",
|
||||
"ee64491930e5d1d64f5dc5d0016f3b952c001e8c",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-block-axis-alignment-auto-margins-007.html": [
|
||||
"d9b5632f12a49c378f0b0c00d0df2c77fca57edc",
|
||||
"d9b9484bee75c4d8f54da4db093af73df0dce48d",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -382300,7 +382343,7 @@
|
|||
]
|
||||
],
|
||||
"grid-container-baseline-001.html": [
|
||||
"d352977f9318395d0fa0c882bc6e1b9754da29ac",
|
||||
"73b3c76b599265d1fe20c0fcf1d55fa763a98fb2",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -382335,49 +382378,49 @@
|
|||
]
|
||||
],
|
||||
"grid-inline-axis-alignment-auto-margins-001.html": [
|
||||
"d1fb13aa491739a8ccf391d8c065c2c117a48ac9",
|
||||
"932c7f95896ba884b3c85d4f509ac5a78b9fd641",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-inline-axis-alignment-auto-margins-002.html": [
|
||||
"f17afa71e3ee859dc5fb33ac6886d9db6e4d1203",
|
||||
"7ea7800cd26a426d2a0a82071e174bc1aaf566ec",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-inline-axis-alignment-auto-margins-003.html": [
|
||||
"6500a2961f35d3b31062ba86ea3a395c97e24c7c",
|
||||
"243b524001244e4960e80705614aab3ac29ee622",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-inline-axis-alignment-auto-margins-004.html": [
|
||||
"af9c27e95a19f71f1410106da8ab60581f426b44",
|
||||
"8cdaacca78dda656d05c7bc694f88c3980b2f49b",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-inline-axis-alignment-auto-margins-005.html": [
|
||||
"fd9e696a55e17dc12079df698860b30b192d149d",
|
||||
"dcf8bef1c9b25588080f7b30612115cc1aac5115",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-inline-axis-alignment-auto-margins-006.html": [
|
||||
"4492f9b1ebbe7cbc6eadecd9cde2c1de1afd6192",
|
||||
"7f064c9bb416727e25791cce5be933bb48872982",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-inline-axis-alignment-auto-margins-007.html": [
|
||||
"7954e88f987f1ab5bcc4acd45b67ac04b811d558",
|
||||
"2b5acdfe029ec3c2c8b423c0b367f758a22bb504",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -403982,6 +404025,15 @@
|
|||
}
|
||||
]
|
||||
],
|
||||
"caretnavigation.html": [
|
||||
"defe7fecfc2850355fe21da8a6d14ed6c5265885",
|
||||
[
|
||||
null,
|
||||
{
|
||||
"testdriver": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"createlink.html": [
|
||||
"b67357e684a4894abf8d050419d622db658d601b",
|
||||
[
|
||||
|
@ -417208,10 +417260,12 @@
|
|||
]
|
||||
],
|
||||
"feature-policy-nested-header-policy-disallowed-for-all.https.sub.html": [
|
||||
"f15b43576f2cac9b3245a9a52bc825c8d6b2f693",
|
||||
"6194a33b1d763b3a0bfe98f09f78f9be2dae9c8c",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"idlharness.window.js": [
|
||||
|
@ -420374,7 +420428,7 @@
|
|||
},
|
||||
"cors-rfc1918": {
|
||||
"idlharness.tentative.any.js": [
|
||||
"88468dc19a38a64e6ebdb19b4e92ddf23a3247fc",
|
||||
"1dad943072589a40fd3d685c7cb4f5201a3073d5",
|
||||
[
|
||||
"fetch/cors-rfc1918/idlharness.tentative.any.html",
|
||||
{
|
||||
|
@ -420390,8 +420444,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -420409,8 +420468,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -420428,8 +420492,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -420447,8 +420516,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
@ -445735,7 +445809,7 @@
|
|||
]
|
||||
],
|
||||
"positionstate.html": [
|
||||
"9033a7be5ce5909e0de9d73e8e6aa02c84387e4d",
|
||||
"9141091a90655fb9009ef5ad131f0824376827b5",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -460073,6 +460147,13 @@
|
|||
},
|
||||
"origin-policy": {
|
||||
"bad-server": {
|
||||
"bad-headers.https.html": [
|
||||
"127aa41cef8761d8a331933302bebfa23670ae8d",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"manifest-404.https.html": [
|
||||
"51436be6766423aeade1c1eb3133fc096bc6a103",
|
||||
[
|
||||
|
@ -462564,7 +462645,7 @@
|
|||
]
|
||||
],
|
||||
"pointerevent_touch-action-button-none-test_touch.html": [
|
||||
"ea4b4f961562576b622c57e750b4ee568314fb26",
|
||||
"42bcb7b843294928ae90d4a563e7e69e12c4d79f",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -474104,14 +474185,14 @@
|
|||
]
|
||||
],
|
||||
"observe.html": [
|
||||
"58f200463df1ff9def0eb8337dd067068f470a1e",
|
||||
"35c517a79698d1f24d8e9e888a3188001b4bb8b2",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"svg.html": [
|
||||
"fe8d4282a905ce9451d58e7dfeee90d7bec4066d",
|
||||
"b05a10c82e8054d2ade6b0b0e86317660086d283",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -475507,7 +475588,7 @@
|
|||
]
|
||||
],
|
||||
"idlharness.https.any.js": [
|
||||
"b55c741df39e4766afd438daa9037b216b7780ad",
|
||||
"44bffcf59e6bf6e03389352e5da76ee0b48e34b8",
|
||||
[
|
||||
"server-timing/idlharness.https.any.html",
|
||||
{
|
||||
|
@ -475519,8 +475600,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -475534,8 +475620,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
|
@ -477626,6 +477717,15 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"declarative": {
|
||||
"declarative-shadow-dom.tentative.html": [
|
||||
"792d4bf4b3ecd0b8a611cccdae5bc2e726486f25",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
]
|
||||
},
|
||||
"event-composed-path-after-dom-mutation.html": [
|
||||
"fd129e036af711b1fa4f9a42fabcc344200fc2d6",
|
||||
[
|
||||
|
@ -488265,7 +488365,7 @@
|
|||
]
|
||||
},
|
||||
"idlharness.window.js": [
|
||||
"928c8c90f0ff4ed99fdec8183cb129bbbea82f3e",
|
||||
"f6a74b8a3a7ac579d1246938eb7419774d0ad821",
|
||||
[
|
||||
"uievents/idlharness.window.html",
|
||||
{
|
||||
|
@ -488277,8 +488377,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
|
@ -491050,10 +491155,12 @@
|
|||
]
|
||||
],
|
||||
"silent-ignore.html": [
|
||||
"88ef5092a146606026a7c40eccbc1410038b62bf",
|
||||
"a04c648bd181c24af4e63e8d3cb5ad6ca706654a",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
{
|
||||
"testdriver": true
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[hit-test-floats-004.html]
|
||||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -2,6 +2,3 @@
|
|||
[Hit test intersecting scaled box]
|
||||
expected: FAIL
|
||||
|
||||
[Hit test within unscaled box]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
[no-transition-from-ua-to-blocking-stylesheet.html]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
expected: FAIL
|
||||
|
|
@ -312,21 +312,21 @@
|
|||
[fetch(): separate response Content-Type: text/plain ]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<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 */*;charset=gbk]
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,9 +56,12 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript; charset=windows-1252 text/javascript]
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 text/javascript]
|
||||
[separate text/javascript error]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript ]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20%22nosniFF%22]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[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,6 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[077.html]
|
||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||
expected: FAIL
|
||||
|
4
tests/wpt/metadata/mediasession/positionstate.html.ini
Normal file
4
tests/wpt/metadata/mediasession/positionstate.html.ini
Normal file
|
@ -0,0 +1,4 @@
|
|||
[positionstate.html]
|
||||
[Test setPositionState with negative playback rate]
|
||||
expected: FAIL
|
||||
|
|
@ -77,3 +77,6 @@
|
|||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44057 more errors.\n\tMax AbsError of 1.9900983572006226e+0 at index of 12357.\n\t[12357\]\t-9.9751412868499756e-1\t9.9258422851562500e-1\t1.9900983572006226e+0\t2.0049667323212912e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9985451102256775e+0 at index of 27408.\n\t[27408\]\t-9.9997943639755249e-1\t9.9856567382812500e-1\t1.9985451102256775e+0\t2.0014157932787811e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -245,3 +245,6 @@
|
|||
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t1.0347855872000000e+10\t5.6332010030746460e-1\t1.0347855871436680e+10\t1.8369406427693130e+10\t9.0957000000000003e-5\n\t[31081\]\t4.5671119549274438e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 1.0347855871436680e+10 at index of 31080.\n\tMax RelError of 1.8369406427693130e+10 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t5.1020887923182881e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5714559801668507e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
5
tests/wpt/metadata/webmessaging/with-ports/018.html.ini
Normal file
5
tests/wpt/metadata/webmessaging/with-ports/018.html.ini
Normal file
|
@ -0,0 +1,5 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[005.html]
|
||||
expected: ERROR
|
||||
[dedicated worker in shared worker in dedicated worker]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
[shared-worker-in-data-url-context.window.html]
|
||||
expected: TIMEOUT
|
||||
[Create a shared worker in a data url frame]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Create a data url shared worker in a data url frame]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -629,8 +629,8 @@ jobs:
|
|||
channel: stable
|
||||
- template: tools/ci/azure/update_hosts.yml
|
||||
- template: tools/ci/azure/update_manifest.yml
|
||||
# --exclude is a workaround for https://github.com/web-platform-tests/wpt/issues/18634
|
||||
- script: no_proxy='*' ./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 /inert/inert-retargeting.tentative.html --exclude /inert/inert-retargeting-iframe.tentative.html
|
||||
# --exclude is a workaround for https://github.com/web-platform-tests/wpt/issues/18634 + https://github.com/web-platform-tests/wpt/issues/22175
|
||||
- script: no_proxy='*' ./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 /inert/inert-retargeting.tentative.html --exclude /inert/inert-retargeting-iframe.tentative.html --exclude /pointerevents/pointerevent_pointercapture-not-lost-in-chorded-buttons.html
|
||||
displayName: 'Run tests'
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish results'
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
// META: timeout=long
|
||||
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Backgrounds: Subpixel positions adjacent to the borders</title>
|
||||
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#background-position">
|
||||
<link rel="match" href="reference/background-position-subpixel-at-border-ref.tentative.html">
|
||||
<style>
|
||||
#no-repeat-y-bottom {
|
||||
position: absolute;
|
||||
top: 200.5px;
|
||||
left: 8px;
|
||||
width: 150px;
|
||||
height: 37.5px;
|
||||
border-width: 0px 0px 1.25px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.5);
|
||||
border-bottom-color: transparent;
|
||||
box-sizing: border-box;
|
||||
background-color: lightgrey;
|
||||
background-image: url("resources/green50x1.png");
|
||||
background-position: bottom -1.25px left 0px;
|
||||
background-repeat: repeat-x;
|
||||
padding: 2.5px 2.5px 1.25px 2.5px;
|
||||
}
|
||||
#no-repeat-y-top {
|
||||
position: absolute;
|
||||
top: 160.25px;
|
||||
left: 8px;
|
||||
width: 150px;
|
||||
height: 37.5px;
|
||||
border-width: 1.25px 0px 0px 0px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.5);
|
||||
border-top-color: transparent;
|
||||
box-sizing: border-box;
|
||||
background-color: lightgrey;
|
||||
background-image: url("resources/green50x1.png");
|
||||
background-position: top -1.25px left 0px;
|
||||
background-repeat: repeat-x;
|
||||
padding: 1.25px 2.5px 2.5px 2.5px;
|
||||
}
|
||||
#no-repeat-x-right {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 200.5px;
|
||||
width: 37.5px;
|
||||
height: 150px;
|
||||
border-width: 0px 1.25px 0px 0px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.5);
|
||||
border-right-color: transparent;
|
||||
box-sizing: border-box;
|
||||
background-color: lightgrey;
|
||||
background-image: url("resources/green1x50.png");
|
||||
background-position: right -1.25px top 0px;
|
||||
background-repeat: repeat-y;
|
||||
padding: 2.5px 1.25px 2.5px 2.5px;
|
||||
}
|
||||
#no-repeat-x-left {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 160.25px;
|
||||
width: 37.5px;
|
||||
height: 150px;
|
||||
border-width: 0px 0px 0px 1.25px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.5);
|
||||
border-left-color: transparent;
|
||||
box-sizing: border-box;
|
||||
background-color: lightgrey;
|
||||
background-image: url("resources/green1x50.png");
|
||||
background-position: left -1.25px top 0px;
|
||||
background-repeat: repeat-y;
|
||||
padding: 2.5px 2.5px 2.5px 1.25px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="no-repeat-y-top">
|
||||
</div>
|
||||
<div id="no-repeat-y-bottom">
|
||||
</div>
|
||||
<div id="no-repeat-x-right">
|
||||
</div>
|
||||
<div id="no-repeat-x-left">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,87 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Backgrounds: Subpixel positions adjacent to the borders reference</title>
|
||||
<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
|
||||
<style>
|
||||
#no-repeat-y-bottom {
|
||||
position: absolute;
|
||||
top: 201px;
|
||||
left: 8px;
|
||||
width: 150px;
|
||||
height: 37px;
|
||||
border-width: 0px 0px 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.5);
|
||||
border-bottom-color: transparent;
|
||||
box-sizing: border-box;
|
||||
background-color: lightgrey;
|
||||
background-image: url("../resources/green50x1.png");
|
||||
background-position: bottom -1px left 0px;
|
||||
background-repeat: repeat-x;
|
||||
padding: 3px 3px 1px 3px;
|
||||
}
|
||||
#no-repeat-y-top {
|
||||
position: absolute;
|
||||
top: 160px;
|
||||
left: 8px;
|
||||
width: 150px;
|
||||
height: 38px;
|
||||
border-width: 1px 0px 0px 0px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.5);
|
||||
border-top-color: transparent;
|
||||
box-sizing: border-box;
|
||||
background-color: lightgrey;
|
||||
background-image: url("../resources/green50x1.png");
|
||||
background-position: top -1px left 0px;
|
||||
background-repeat: repeat-x;
|
||||
padding: 1px 3px 3px 3px;
|
||||
}
|
||||
#no-repeat-x-right {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 201px;
|
||||
width: 37px;
|
||||
height: 150px;
|
||||
border-width: 0px 1px 0px 0px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.5);
|
||||
border-right-color: transparent;
|
||||
box-sizing: border-box;
|
||||
background-color: lightgrey;
|
||||
background-image: url("../resources/green1x50.png");
|
||||
background-position: right -1px top 0px;
|
||||
background-repeat: repeat-y;
|
||||
padding: 3px 1px 3px 3px;
|
||||
}
|
||||
#no-repeat-x-left {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 160px;
|
||||
width: 38px;
|
||||
height: 150px;
|
||||
border-width: 0px 0px 0px 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(0,0,0,0.5);
|
||||
border-left-color: transparent;
|
||||
box-sizing: border-box;
|
||||
background-color: lightgrey;
|
||||
background-image: url("../resources/green1x50.png");
|
||||
background-position: left -1px top 0px;
|
||||
background-repeat: repeat-y;
|
||||
padding: 3px 3px 3px 1px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="no-repeat-y-top">
|
||||
</div>
|
||||
<div id="no-repeat-y-bottom">
|
||||
</div>
|
||||
<div id="no-repeat-x-right">
|
||||
</div>
|
||||
<div id="no-repeat-x-left">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 151 B |
Binary file not shown.
After Width: | Height: | Size: 148 B |
|
@ -35,12 +35,12 @@ Using the **Variable Test Axis Matching** font, [reference tests](https://web-pl
|
|||
|
||||
## Font Glyphs Reference
|
||||
|
||||
The following table explains the relationship between the M, N, O, P variation axis controlled glyphs and the non-scaled glyphs used as references.
|
||||
The following table explains the relationship between the M, N, O, P variation axis controlled glyphs and the non-scaled glyphs used as references. The values are specified as OpenType axis parameter values. CSS values are mapped to to those values, for example from CSS font-weight values straight to `wght`, for width from percentages straight to `wdth`. For `slnt` the CSS values are positive clockwise, but the OpenType values are positive turning counterclockwise. Here the mapping is inverted, i.e. the CSS value is multiple by -1. Compare the note in [the CSS font style property](https://drafts.csswg.org/css-fonts/#font-style-prop).
|
||||
|
||||
| Bar Length in FUnits | 200 | 400 | 600 | 800 | 1000 | 1200 | 1400 | 1600 | 1800
|
||||
| :---: | :---: |:---: |:---: |:---: |:---: |:---: |:---: |:---: |:---: |
|
||||
| Glyph **N**, Style, `slnt` | -90.00% | -67.50% | -45.00% | -20.00% | 0.00% | 20.00% | 45.00% | 67.50% | 90.00%
|
||||
| Glyph **M**, Stretch Axis `wdth` | 50% | 62.50% | 75% | 87.50% | 100% | 112.50% | 125% | 150% | 200%
|
||||
| Glyph **N**, Style, `slnt` | 90 | 67.5 | 45 | 20 | 0.00 | -20 | -45 | -67.5 | -90
|
||||
| Glyph **M**, Stretch Axis `wdth` | 50 | 62.5 | 75 | 87.5 | 100 | 112.5 | 125 | 150 | 200
|
||||
| Glyph **O**, Style, `ital` | 0 | 0.125 | 0.25 | 0.375 | 0.5 | 0.625 | 0.75 | 0.875 | 1
|
||||
| Glyph **P**, Weight, `wght` | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
|
||||
| **Ref Glyphs for:** | | | | | | | | |
|
||||
|
|
Binary file not shown.
|
@ -16,6 +16,7 @@
|
|||
background: grey;
|
||||
justify-items: baseline;
|
||||
font-family: Ahem;
|
||||
text-orientation: sideways;
|
||||
line-height: 1;
|
||||
}
|
||||
#container > div { writing-mode: vertical-lr; }
|
||||
|
@ -40,15 +41,15 @@
|
|||
<script>
|
||||
function runTest() {
|
||||
let before = {
|
||||
item1: {"data-offset-x": 5 },
|
||||
item1: {"data-offset-x": 2 },
|
||||
item2: {"data-offset-x": 30 },
|
||||
item3: {"data-offset-x": 0 }
|
||||
};
|
||||
|
||||
let after = {
|
||||
item1: {"data-offset-x": 10 },
|
||||
item1: {"data-offset-x": 4 },
|
||||
item2: {"data-offset-x": 0 },
|
||||
item3: {"data-offset-x": 5 }
|
||||
item3: {"data-offset-x": 2 }
|
||||
};
|
||||
|
||||
evaluateStyleChangeMultiple("before", before);
|
||||
|
|
|
@ -35,13 +35,16 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-y", "75");
|
||||
item2.setAttribute("data-offset-y", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
grid.style.height = "300px";
|
||||
|
||||
item1.setAttribute("data-offset-y", "35");
|
||||
item2.setAttribute("data-offset-y", "160");
|
||||
checkLayout('#grid');
|
||||
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -35,13 +35,15 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-y", "75");
|
||||
item2.setAttribute("data-offset-y", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
item1.style.height = "100px";
|
||||
|
||||
item1.setAttribute("data-offset-y", "50");
|
||||
item2.setAttribute("data-offset-y", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -36,13 +36,15 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-y", "75");
|
||||
item2.setAttribute("data-offset-y", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
item1.style.height = "100px";
|
||||
|
||||
item1.setAttribute("data-offset-y", "50");
|
||||
item2.setAttribute("data-offset-y", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -36,13 +36,15 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-y", "75");
|
||||
item2.setAttribute("data-offset-y", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
grid.style.height = "300px";
|
||||
|
||||
item1.setAttribute("data-offset-y", "35");
|
||||
item2.setAttribute("data-offset-y", "160");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -34,13 +34,15 @@
|
|||
<div id="item2">XXXXX</div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-y", "90");
|
||||
item2.setAttribute("data-offset-y", "345");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
item2.style.fontSize = "40px";
|
||||
|
||||
item1.setAttribute("data-offset-y", "90");
|
||||
item2.setAttribute("data-offset-y", "330");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -34,13 +34,15 @@
|
|||
<div id="item2">XXXXX</div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-y", "95");
|
||||
item2.setAttribute("data-offset-y", "345");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
grid.style.fontSize = "40px";
|
||||
|
||||
item1.setAttribute("data-offset-y", "80");
|
||||
item2.setAttribute("data-offset-y", "330");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -35,13 +35,15 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-y", "75");
|
||||
item2.setAttribute("data-offset-y", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
grid.style.height = "300px";
|
||||
|
||||
item1.setAttribute("data-offset-y", "35");
|
||||
item2.setAttribute("data-offset-y", "160");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -70,24 +70,24 @@
|
|||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-y="40"></div>
|
||||
</div>
|
||||
|
||||
<div class="wrapper" style="writing-mode: vertical-lr;">
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
|
||||
<div class="wrapper" style="writing-mode: vertical-lr; text-orientation: sideways;">
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
<div class="grid">
|
||||
<div class="i1"></div>
|
||||
<div class="i2" data-offset-x="0"></div>
|
||||
<div class="i3"></div>
|
||||
</div>
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
</div>
|
||||
|
||||
<div class="wrapper" style="writing-mode: vertical-lr;">
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
|
||||
<div class="wrapper" style="writing-mode: vertical-lr; text-orientation: sideways;">
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
<div class="grid">
|
||||
<div class="i1"></div>
|
||||
<div class="i2" style="writing-mode: horizontal-tb;" data-offset-x="0"></div>
|
||||
<div class="i3"></div>
|
||||
</div>
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
</div>
|
||||
|
||||
<div class="wrapper" style="writing-mode: vertical-lr; text-orientation: sideways;">
|
||||
|
@ -110,24 +110,24 @@
|
|||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
</div>
|
||||
|
||||
<div class="wrapper" style="writing-mode: vertical-rl;">
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
|
||||
<div class="wrapper" style="writing-mode: vertical-rl; text-orientation: sideways;">
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
<div class="grid">
|
||||
<div class="i1"></div>
|
||||
<div class="i2" data-offset-x="75"></div>
|
||||
<div class="i3"></div>
|
||||
</div>
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
</div>
|
||||
|
||||
<div class="wrapper" style="writing-mode: vertical-rl;">
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
|
||||
<div class="wrapper" style="writing-mode: vertical-rl; text-orientation: sideways;">
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
<div class="grid">
|
||||
<div class="i1"></div>
|
||||
<div class="i2" style="writing-mode: horizontal-tb;" data-offset-x="75"></div>
|
||||
<div class="i3"></div>
|
||||
</div>
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
|
||||
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
|
||||
</div>
|
||||
|
||||
<div class="wrapper" style="writing-mode: vertical-rl; text-orientation: sideways;">
|
||||
|
|
|
@ -35,13 +35,17 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-x", "75");
|
||||
item2.setAttribute("data-offset-x", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
grid.style.width = "300px";
|
||||
|
||||
item1.setAttribute("data-offset-x", "35");
|
||||
item2.setAttribute("data-offset-x", "160");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
|
||||
done();
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -35,13 +35,15 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-x", "75");
|
||||
item2.setAttribute("data-offset-x", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
item1.style.width = "100px";
|
||||
|
||||
item1.setAttribute("data-offset-x", "50");
|
||||
item2.setAttribute("data-offset-x", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -36,13 +36,15 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-x", "75");
|
||||
item2.setAttribute("data-offset-x", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
item1.style.width = "100px";
|
||||
|
||||
item1.setAttribute("data-offset-x", "50");
|
||||
item2.setAttribute("data-offset-x", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -36,13 +36,15 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-x", "75");
|
||||
item2.setAttribute("data-offset-x", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
grid.style.width = "300px";
|
||||
|
||||
item1.setAttribute("data-offset-x", "35");
|
||||
item2.setAttribute("data-offset-x", "160");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -45,8 +45,6 @@ document.fonts.ready.then(() => {
|
|||
|
||||
item1.setAttribute("data-offset-x", "50");
|
||||
item2.setAttribute("data-offset-x", "275");
|
||||
checkLayout('#grid', false);
|
||||
|
||||
done();
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -44,8 +44,6 @@ document.fonts.ready.then(() => {
|
|||
|
||||
item1.setAttribute("data-offset-x", "50");
|
||||
item2.setAttribute("data-offset-x", "325");
|
||||
checkLayout('#grid', false);
|
||||
|
||||
done();
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -35,13 +35,15 @@
|
|||
<div id="item2"></div>
|
||||
</div>
|
||||
<script>
|
||||
document.fonts.ready.then(() => {
|
||||
item1.setAttribute("data-offset-x", "75");
|
||||
item2.setAttribute("data-offset-x", "300");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', false);
|
||||
|
||||
grid.style.width = "300px";
|
||||
|
||||
item1.setAttribute("data-offset-x", "35");
|
||||
item2.setAttribute("data-offset-x", "160");
|
||||
checkLayout('#grid');
|
||||
checkLayout('#grid', true);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Caret navigation</title>
|
||||
|
||||
<link rel="stylesheet" href="../support/reset.css">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/testdriver.js"></script>
|
||||
<script src="/resources/testdriver-vendor.js"></script>
|
||||
<script src="/resources/testdriver-actions.js"></script>
|
||||
|
||||
<script>
|
||||
const KEY_CODE_MAP = {
|
||||
'ArrowLeft': '\uE012',
|
||||
'ArrowUp': '\uE013',
|
||||
'ArrowRight': '\uE014',
|
||||
'ArrowDown': '\uE015',
|
||||
};
|
||||
|
||||
/**
|
||||
* Send key event to the target element using test driver. Supports human
|
||||
* friendly key names for common keyboard scroll operations e.g., arrow keys,
|
||||
* page keys, etc.
|
||||
* @param {Node} target
|
||||
* @param {string} key
|
||||
* @returns {Promise}
|
||||
*/
|
||||
function keyPress(target, key) {
|
||||
const code = KEY_CODE_MAP[key];
|
||||
|
||||
let actions = new test_driver.Actions()
|
||||
.keyDown(code)
|
||||
.keyUp(code);
|
||||
|
||||
return actions.send();
|
||||
}
|
||||
</script>
|
||||
|
||||
<div id="container">
|
||||
<div contenteditable data-title="Move with ArrowLeft to BR following a div">
|
||||
<div>line 1</div>
|
||||
<br>
|
||||
<div class="caret">line 2</div>
|
||||
</div>
|
||||
<div contenteditable data-title="Move with ArrowLeft to BR following an img">
|
||||
<img style="display:block;width:100px;height:100px">
|
||||
<br>
|
||||
<div class="caret">line 2</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const container = document.getElementById("container");
|
||||
|
||||
for (const test of container.children) {
|
||||
promise_test(async t => {
|
||||
test.focus();
|
||||
getSelection().collapse(test.querySelector(".caret"));
|
||||
await keyPress(test, "ArrowLeft");
|
||||
|
||||
const range = getSelection().getRangeAt(0);
|
||||
|
||||
assert_equals(range.commonAncestorContainer.localName, "div");
|
||||
assert_equals(range.startOffset, 3);
|
||||
assert_equals(range.commonAncestorContainer.childNodes[range.startOffset].localName, "br");
|
||||
}, test.dataset.title);
|
||||
}
|
||||
</script>
|
|
@ -1,4 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<meta name="timeout" content="long">
|
||||
<body>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// META: global=window,worker
|
||||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
// META: timeout=long
|
||||
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -592,3 +592,17 @@ structuredCloneBatteryOfTests.push({
|
|||
},
|
||||
requiresDocument: true
|
||||
});
|
||||
|
||||
check('ObjectPrototype must lose its exotic-ness when cloned',
|
||||
() => Object.prototype,
|
||||
(copy, original) => {
|
||||
assert_not_equals(copy, original);
|
||||
assert_true(copy instanceof Object);
|
||||
|
||||
const newProto = { some: 'proto' };
|
||||
// Must not throw:
|
||||
Object.setPrototypeOf(copy, newProto);
|
||||
|
||||
assert_equals(Object.getPrototypeOf(copy), newProto);
|
||||
}
|
||||
);
|
||||
|
|
|
@ -6,7 +6,8 @@ import fontforge
|
|||
verticalArrowCodePoint = 0x21A8
|
||||
v1 = 5 * mathfont.em
|
||||
v2 = 14 * mathfont.em
|
||||
f = mathfont.create("axisheight%d-verticalarrow%d" % (v1, v2))
|
||||
f = mathfont.create("axisheight%d-verticalarrow%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v1
|
||||
f.math.MinConnectorOverlap = 0
|
||||
mathfont.createSquareGlyph(f, verticalArrowCodePoint)
|
||||
|
|
|
@ -5,7 +5,8 @@ import fontforge
|
|||
|
||||
v1 = 7 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-axisheight%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("fraction-axisheight%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v1
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
@ -20,7 +21,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 5 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-denominatordisplaystylegapmin%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("fraction-denominatordisplaystylegapmin%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = 0
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = v1
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
@ -35,7 +37,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 6 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-denominatordisplaystyleshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2))
|
||||
f = mathfont.create("fraction-denominatordisplaystyleshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v2
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = v1
|
||||
|
@ -50,7 +53,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 4 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-denominatorgapmin%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("fraction-denominatorgapmin%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = 0
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
@ -65,7 +69,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 3 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-denominatorshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2))
|
||||
f = mathfont.create("fraction-denominatorshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v2
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
@ -80,7 +85,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 8 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-numeratordisplaystylegapmin%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("fraction-numeratordisplaystylegapmin%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = 0
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
@ -95,7 +101,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 2 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-numeratordisplaystyleshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2))
|
||||
f = mathfont.create("fraction-numeratordisplaystyleshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v2
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
@ -110,7 +117,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 9 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-numeratorgapmin%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("fraction-numeratorgapmin%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = 0
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
@ -125,7 +133,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 11 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("fraction-numeratorshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2))
|
||||
f = mathfont.create("fraction-numeratorshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v2
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
@ -139,7 +148,8 @@ f.math.FractionRuleThickness = v2
|
|||
mathfont.save(f)
|
||||
|
||||
v1 = 10 * mathfont.em
|
||||
f = mathfont.create("fraction-rulethickness%d" % v1)
|
||||
f = mathfont.create("fraction-rulethickness%d" % v1,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = 0
|
||||
f.math.FractionDenominatorDisplayStyleGapMin = 0
|
||||
f.math.FractionDenominatorDisplayStyleShiftDown = 0
|
||||
|
|
|
@ -5,7 +5,8 @@ import fontforge
|
|||
|
||||
nAryWhiteVerticalBarCodePoint = 0x2AFF
|
||||
v1 = 5 * mathfont.em
|
||||
f = mathfont.create("largeop-displayoperatorminheight%d" % v1)
|
||||
f = mathfont.create("largeop-displayoperatorminheight%d" % v1,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.DisplayOperatorMinHeight = v1
|
||||
mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint)
|
||||
g = f.createChar(-1, "uni2AFF.display")
|
||||
|
@ -15,8 +16,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 2 * mathfont.em
|
||||
v2 = 3 * mathfont.em
|
||||
f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2))
|
||||
f.copyright = "Copyright (c) 2018 Igalia S.L."
|
||||
f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2),
|
||||
"Copyright (c) 2018 Igalia S.L.")
|
||||
f.math.DisplayOperatorMinHeight = v1
|
||||
mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint)
|
||||
g = f.createChar(-1, "uni2AFF.display")
|
||||
|
@ -33,8 +34,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 7 * mathfont.em
|
||||
v2 = 5 * mathfont.em
|
||||
f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2))
|
||||
f.copyright = "Copyright (c) 2020 Igalia S.L."
|
||||
f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2),
|
||||
"Copyright (c) 2020 Igalia S.L.")
|
||||
f.math.DisplayOperatorMinHeight = v1
|
||||
f.math.MinConnectorOverlap = 0
|
||||
mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint)
|
||||
|
|
|
@ -6,7 +6,8 @@ import fontforge
|
|||
nArySumCodePoint = 0x2211 # largeop operator
|
||||
|
||||
v = 3 * mathfont.em
|
||||
f = mathfont.create("limits-lowerlimitbaselinedropmin%d" % v)
|
||||
f = mathfont.create("limits-lowerlimitbaselinedropmin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, nArySumCodePoint)
|
||||
f.math.LowerLimitBaselineDropMin = v
|
||||
f.math.LowerLimitGapMin = 0
|
||||
|
@ -23,7 +24,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 11 * mathfont.em
|
||||
f = mathfont.create("limits-lowerlimitgapmin%d" % v)
|
||||
f = mathfont.create("limits-lowerlimitgapmin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, nArySumCodePoint)
|
||||
f.math.LowerLimitBaselineDropMin = 0
|
||||
f.math.LowerLimitGapMin = v
|
||||
|
@ -40,7 +42,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 5 * mathfont.em
|
||||
f = mathfont.create("limits-upperlimitbaselinerisemin%d" % v)
|
||||
f = mathfont.create("limits-upperlimitbaselinerisemin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, nArySumCodePoint)
|
||||
f.math.LowerLimitBaselineDropMin = 0
|
||||
f.math.LowerLimitGapMin = 0
|
||||
|
@ -57,7 +60,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 7 * mathfont.em
|
||||
f = mathfont.create("limits-upperlimitgapmin%d" % v)
|
||||
f = mathfont.create("limits-upperlimitgapmin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, nArySumCodePoint)
|
||||
f.math.LowerLimitBaselineDropMin = 0
|
||||
f.math.LowerLimitGapMin = 0
|
||||
|
|
|
@ -64,7 +64,7 @@ mathvariantTransforms["auto"] = mathvariantTransforms["italic"]
|
|||
for mathvariant in mathvariantTransforms:
|
||||
if mathvariant == "auto":
|
||||
continue
|
||||
font = mathfont.create("mathvariant-%s" % mathvariant)
|
||||
font = mathfont.create("mathvariant-%s" % mathvariant, "Copyright (c) 2016 MathML Association")
|
||||
for baseChar in mathvariantTransforms[mathvariant]:
|
||||
if baseChar not in font:
|
||||
mathfont.createGlyphFromValue(font, baseChar)
|
||||
|
|
|
@ -96,7 +96,7 @@ for form in ["infix", "prefix", "suffix"]:
|
|||
operatorDictionary[key] = value
|
||||
|
||||
# Create a WOFF font with glyphs for all the operator strings.
|
||||
font = mathfont.create("operators")
|
||||
font = mathfont.create("operators", "Copyright (c) 2019 Igalia S.L.")
|
||||
|
||||
# Set parameters for largeop and stretchy tests.
|
||||
font.math.DisplayOperatorMinHeight = 2 * mathfont.em
|
||||
|
|
|
@ -5,17 +5,20 @@ import fontforge
|
|||
|
||||
v1 = 80
|
||||
v2 = 40
|
||||
f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown%d" % (v1, v2))
|
||||
f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown%d" % (v1, v2),
|
||||
"Copyright (c) 2019 Igalia S.L.")
|
||||
f.math.ScriptPercentScaleDown = v1
|
||||
f.math.ScriptScriptPercentScaleDown = v2
|
||||
mathfont.save(f)
|
||||
|
||||
f = mathfont.create("scriptpercentscaledown0-scriptscriptpercentscaledown%d" % v2)
|
||||
f = mathfont.create("scriptpercentscaledown0-scriptscriptpercentscaledown%d" % v2,
|
||||
"Copyright (c) 2019 Igalia S.L.")
|
||||
f.math.ScriptPercentScaleDown = 0
|
||||
f.math.ScriptScriptPercentScaleDown = v2
|
||||
mathfont.save(f)
|
||||
|
||||
f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown0" % v1)
|
||||
f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown0" % v1,
|
||||
"Copyright (c) 2019 Igalia S.L.")
|
||||
f.math.ScriptPercentScaleDown = v1
|
||||
f.math.ScriptScriptPercentScaleDown = 0
|
||||
mathfont.save(f)
|
||||
|
|
|
@ -20,7 +20,8 @@ def createStretchyRadical(aFont):
|
|||
|
||||
v1 = 25
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("radical-degreebottomraisepercent%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("radical-degreebottomraisepercent%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
createStretchyRadical(f)
|
||||
f.math.RadicalDegreeBottomRaisePercent = v1
|
||||
f.math.RadicalDisplayStyleVerticalGap = 0
|
||||
|
@ -33,7 +34,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 7 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("radical-displaystyleverticalgap%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("radical-displaystyleverticalgap%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
createStretchyRadical(f)
|
||||
f.math.RadicalDegreeBottomRaisePercent = 0
|
||||
f.math.RadicalDisplayStyleVerticalGap = v1
|
||||
|
@ -46,7 +48,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 3 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("radical-extraascender%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("radical-extraascender%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
createStretchyRadical(f)
|
||||
f.math.RadicalDegreeBottomRaisePercent = 0
|
||||
f.math.RadicalDisplayStyleVerticalGap = 0
|
||||
|
@ -59,7 +62,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 5 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("radical-kernafterdegreeminus%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("radical-kernafterdegreeminus%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
createStretchyRadical(f)
|
||||
f.math.RadicalDegreeBottomRaisePercent = 0
|
||||
f.math.RadicalDisplayStyleVerticalGap = 0
|
||||
|
@ -72,7 +76,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 4 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("radical-kernbeforedegree%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("radical-kernbeforedegree%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
createStretchyRadical(f)
|
||||
f.math.RadicalDegreeBottomRaisePercent = 0
|
||||
f.math.RadicalDisplayStyleVerticalGap = 0
|
||||
|
@ -84,7 +89,8 @@ f.math.RadicalVerticalGap = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 8 * mathfont.em
|
||||
f = mathfont.create("radical-rulethickness%d" % v)
|
||||
f = mathfont.create("radical-rulethickness%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
createStretchyRadical(f)
|
||||
f.math.RadicalDegreeBottomRaisePercent = 0
|
||||
f.math.RadicalDisplayStyleVerticalGap = 0
|
||||
|
@ -97,7 +103,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 6 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("radical-verticalgap%d-rulethickness%d" % (v1, v2))
|
||||
f = mathfont.create("radical-verticalgap%d-rulethickness%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
createStretchyRadical(f)
|
||||
f.math.RadicalDegreeBottomRaisePercent = 0
|
||||
f.math.RadicalDisplayStyleVerticalGap = 0
|
||||
|
|
|
@ -4,7 +4,8 @@ from utils import mathfont
|
|||
import fontforge
|
||||
|
||||
v = 3 * mathfont.em
|
||||
f = mathfont.create("scripts-spaceafterscript%d" % v)
|
||||
f = mathfont.create("scripts-spaceafterscript%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = v
|
||||
f.math.SubSuperscriptGapMin = 0
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
@ -18,7 +19,8 @@ f.math.SuperscriptShiftUpCramped = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 7 * mathfont.em
|
||||
f = mathfont.create("scripts-superscriptshiftup%d" % v)
|
||||
f = mathfont.create("scripts-superscriptshiftup%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = 0
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
@ -32,7 +34,8 @@ f.math.SuperscriptShiftUpCramped = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 5 * mathfont.em
|
||||
f = mathfont.create("scripts-superscriptshiftupcramped%d" % v)
|
||||
f = mathfont.create("scripts-superscriptshiftupcramped%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = 0
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
@ -46,7 +49,8 @@ f.math.SuperscriptShiftUpCramped = v
|
|||
mathfont.save(f)
|
||||
|
||||
v = 6 * mathfont.em
|
||||
f = mathfont.create("scripts-subscriptshiftdown%d" % v)
|
||||
f = mathfont.create("scripts-subscriptshiftdown%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = 0
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
@ -60,7 +64,8 @@ f.math.SuperscriptShiftUpCramped = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 11 * mathfont.em
|
||||
f = mathfont.create("scripts-subsuperscriptgapmin%d" % v)
|
||||
f = mathfont.create("scripts-subsuperscriptgapmin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = v
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
@ -75,7 +80,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 11 * mathfont.em
|
||||
v2 = 3 * mathfont.em
|
||||
f = mathfont.create("scripts-subsuperscriptgapmin%d-superscriptbottommaxwithsubscript%d" % (v1, v2))
|
||||
f = mathfont.create("scripts-subsuperscriptgapmin%d-superscriptbottommaxwithsubscript%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = v1
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
@ -89,7 +95,8 @@ f.math.SuperscriptShiftUpCramped = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 4 * mathfont.em
|
||||
f = mathfont.create("scripts-subscripttopmax%d" % v)
|
||||
f = mathfont.create("scripts-subscripttopmax%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = 0
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
@ -103,7 +110,8 @@ f.math.SuperscriptShiftUpCramped = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 8 * mathfont.em
|
||||
f = mathfont.create("scripts-superscriptbottommin%d" % v)
|
||||
f = mathfont.create("scripts-superscriptbottommin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = 0
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
@ -117,7 +125,8 @@ f.math.SuperscriptShiftUpCramped = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 9 * mathfont.em
|
||||
f = mathfont.create("scripts-subscriptbaselinedropmin%d" % v)
|
||||
f = mathfont.create("scripts-subscriptbaselinedropmin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = 0
|
||||
f.math.SubscriptBaselineDropMin = v
|
||||
|
@ -131,7 +140,8 @@ f.math.SuperscriptShiftUpCramped = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 10 * mathfont.em
|
||||
f = mathfont.create("scripts-superscriptbaselinedropmax%d" % v)
|
||||
f = mathfont.create("scripts-superscriptbaselinedropmax%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.SpaceAfterScript = 0
|
||||
f.math.SubSuperscriptGapMin = 0
|
||||
f.math.SubscriptBaselineDropMin = 0
|
||||
|
|
|
@ -5,7 +5,8 @@ import fontforge
|
|||
|
||||
v1 = 5 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("stack-bottomdisplaystyleshiftdown%d-axisheight%d" % (v1, v2))
|
||||
f = mathfont.create("stack-bottomdisplaystyleshiftdown%d-axisheight%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v2
|
||||
f.math.StackBottomDisplayStyleShiftDown = v1
|
||||
f.math.StackBottomShiftDown = 0
|
||||
|
@ -17,7 +18,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 6 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("stack-bottomshiftdown%d-axisheight%d" % (v1, v2))
|
||||
f = mathfont.create("stack-bottomshiftdown%d-axisheight%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v2
|
||||
f.math.StackBottomDisplayStyleShiftDown = 0
|
||||
f.math.StackBottomShiftDown = v1
|
||||
|
@ -28,7 +30,8 @@ f.math.StackTopShiftUp = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 4 * mathfont.em
|
||||
f = mathfont.create("stack-displaystylegapmin%d" % v)
|
||||
f = mathfont.create("stack-displaystylegapmin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = 0
|
||||
f.math.StackBottomDisplayStyleShiftDown = 0
|
||||
f.math.StackBottomShiftDown = 0
|
||||
|
@ -39,7 +42,8 @@ f.math.StackTopShiftUp = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 8 * mathfont.em
|
||||
f = mathfont.create("stack-gapmin%d" % v)
|
||||
f = mathfont.create("stack-gapmin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = 0
|
||||
f.math.StackBottomDisplayStyleShiftDown = 0
|
||||
f.math.StackBottomShiftDown = 0
|
||||
|
@ -51,7 +55,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 3 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("stack-topdisplaystyleshiftup%d-axisheight%d" % (v1, v2))
|
||||
f = mathfont.create("stack-topdisplaystyleshiftup%d-axisheight%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v2
|
||||
f.math.StackBottomDisplayStyleShiftDown = 0
|
||||
f.math.StackBottomShiftDown = 0
|
||||
|
@ -63,7 +68,8 @@ mathfont.save(f)
|
|||
|
||||
v1 = 9 * mathfont.em
|
||||
v2 = 1 * mathfont.em
|
||||
f = mathfont.create("stack-topshiftup%d-axisheight%d" % (v1, v2))
|
||||
f = mathfont.create("stack-topshiftup%d-axisheight%d" % (v1, v2),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
f.math.AxisHeight = v2
|
||||
f.math.StackBottomDisplayStyleShiftDown = 0
|
||||
f.math.StackBottomShiftDown = 0
|
||||
|
|
|
@ -6,7 +6,8 @@ import fontforge
|
|||
arrowCodePoint = 0x2192 # horizontal stretch operator
|
||||
|
||||
v = 3 * mathfont.em
|
||||
f = mathfont.create("stretchstack-bottomshiftdown%d" % v)
|
||||
f = mathfont.create("stretchstack-bottomshiftdown%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, arrowCodePoint)
|
||||
f.math.LowerLimitBaselineDropMin = 0
|
||||
f.math.LowerLimitGapMin = 0
|
||||
|
@ -23,7 +24,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 11 * mathfont.em
|
||||
f = mathfont.create("stretchstack-gapbelowmin%d" % v)
|
||||
f = mathfont.create("stretchstack-gapbelowmin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, arrowCodePoint)
|
||||
f.math.LowerLimitBaselineDropMin = 0
|
||||
f.math.LowerLimitGapMin = 0
|
||||
|
@ -40,7 +42,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 5 * mathfont.em
|
||||
f = mathfont.create("stretchstack-topshiftup%d" % v)
|
||||
f = mathfont.create("stretchstack-topshiftup%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, arrowCodePoint)
|
||||
f.math.LowerLimitBaselineDropMin = 0
|
||||
f.math.LowerLimitGapMin = 0
|
||||
|
@ -57,7 +60,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 7 * mathfont.em
|
||||
f = mathfont.create("stretchstack-gapabovemin%d" % v)
|
||||
f = mathfont.create("stretchstack-gapabovemin%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, arrowCodePoint)
|
||||
f.math.LowerLimitBaselineDropMin = 0
|
||||
f.math.LowerLimitGapMin = 0
|
||||
|
|
|
@ -8,7 +8,8 @@ degreeCodePoint = 0xB0 # nonaccent operator
|
|||
accentBaseHeight = 4 * mathfont.em
|
||||
|
||||
v = 3 * mathfont.em
|
||||
f = mathfont.create("underover-accentbaseheight%d-overbarextraascender%d" % (accentBaseHeight, v))
|
||||
f = mathfont.create("underover-accentbaseheight%d-overbarextraascender%d" % (accentBaseHeight, v),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, breveCodePoint)
|
||||
mathfont.createSquareGlyph(f, degreeCodePoint)
|
||||
f.math.AccentBaseHeight = accentBaseHeight
|
||||
|
@ -27,7 +28,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 11 * mathfont.em
|
||||
f = mathfont.create("underover-accentbaseheight%d-overbarverticalgap%d" % (accentBaseHeight, v))
|
||||
f = mathfont.create("underover-accentbaseheight%d-overbarverticalgap%d" % (accentBaseHeight, v),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, breveCodePoint)
|
||||
mathfont.createSquareGlyph(f, degreeCodePoint)
|
||||
f.math.AccentBaseHeight = accentBaseHeight
|
||||
|
@ -46,7 +48,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 5 * mathfont.em
|
||||
f = mathfont.create("underover-accentbaseheight%d-underbarextradescender%d" % (accentBaseHeight, v))
|
||||
f = mathfont.create("underover-accentbaseheight%d-underbarextradescender%d" % (accentBaseHeight, v),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, breveCodePoint)
|
||||
mathfont.createSquareGlyph(f, degreeCodePoint)
|
||||
f.math.AccentBaseHeight = accentBaseHeight
|
||||
|
@ -65,7 +68,8 @@ f.math.UpperLimitGapMin = 0
|
|||
mathfont.save(f)
|
||||
|
||||
v = 7 * mathfont.em
|
||||
f = mathfont.create("underover-accentbaseheight%d-underbarverticalgap%d" % (accentBaseHeight, v))
|
||||
f = mathfont.create("underover-accentbaseheight%d-underbarverticalgap%d" % (accentBaseHeight, v),
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
mathfont.createSquareGlyph(f, breveCodePoint)
|
||||
mathfont.createSquareGlyph(f, degreeCodePoint)
|
||||
f.math.AccentBaseHeight = accentBaseHeight
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
from __future__ import print_function
|
||||
from utils.misc import MathMLAssociationCopyright
|
||||
import fontforge
|
||||
|
||||
font = fontforge.font()
|
||||
|
@ -12,7 +11,7 @@ name = "font-lineheight%d-typolineheight%d" % (winHeight, typoLineHeight)
|
|||
font.fontname = name
|
||||
font.familyname = name
|
||||
font.fullname = name
|
||||
font.copyright = MathMLAssociationCopyright
|
||||
font.copyright = "Copyright (c) 2016 MathML Association"
|
||||
|
||||
glyph = font.createChar(ord(" "), "space")
|
||||
glyph.width = 1000
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
from __future__ import print_function
|
||||
import fontforge
|
||||
from misc import MathMLAssociationCopyright
|
||||
|
||||
em = 1000
|
||||
|
||||
def create(aName):
|
||||
def create(aName, aCopyRight):
|
||||
print("Generating %s.woff..." % aName, end="")
|
||||
mathFont = fontforge.font()
|
||||
mathFont.fontname = aName
|
||||
mathFont.familyname = aName
|
||||
mathFont.fullname = aName
|
||||
mathFont.copyright = MathMLAssociationCopyright
|
||||
mathFont.copyright = aCopyRight
|
||||
mathFont.encoding = "UnicodeFull"
|
||||
|
||||
# Create a space character. Also force the creation of some MATH subtables
|
||||
|
|
|
@ -8,7 +8,6 @@ except ImportError:
|
|||
|
||||
UnicodeXMLURL = "https://mathml-refresh.github.io/xml-entities/unicode.xml"
|
||||
InlineAxisOperatorsURL = "https://mathml-refresh.github.io/mathml-core/tables/inline-axis-operators.txt"
|
||||
MathMLAssociationCopyright = "Copyright (c) 2016 MathML Association"
|
||||
|
||||
def downloadWithProgressBar(url, outputDirectory="./", forceDownload=False):
|
||||
|
||||
|
|
|
@ -4,7 +4,8 @@ from utils import mathfont
|
|||
import fontforge
|
||||
|
||||
v = mathfont.em / 2
|
||||
f = mathfont.create("xheight%d" % v)
|
||||
f = mathfont.create("xheight%d" % v,
|
||||
"Copyright (c) 2016 MathML Association")
|
||||
g = f.createChar(ord('x'))
|
||||
mathfont.drawRectangleGlyph(g, mathfont.em, v, 0)
|
||||
assert f.xHeight == v, "Bad x-height value!"
|
||||
|
|
|
@ -42,16 +42,12 @@ test(() => {
|
|||
}, 'Test setPositionState with zero duration');
|
||||
|
||||
test(() => {
|
||||
assert_throws_js(
|
||||
TypeError,
|
||||
_ => {
|
||||
window.navigator.mediaSession.setPositionState({
|
||||
duration: 60.9,
|
||||
position: 10.1,
|
||||
playbackRate: -2.0
|
||||
});
|
||||
});
|
||||
}, 'Test setPositionState throws a TypeError if playback rate is negative');
|
||||
}, 'Test setPositionState with negative playback rate');
|
||||
|
||||
test(() => {
|
||||
assert_throws_js(
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE HTML>
|
||||
<meta charset="utf-8">
|
||||
<title>Origin-Policy malformed headers must cause network errors</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../resources/origin-policy-test-runner.js"></script>
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
[
|
||||
``,
|
||||
`latest`,
|
||||
`allowed, preferred`,
|
||||
`"1"`,
|
||||
`allowed="1"`,
|
||||
`allowed=latest`,
|
||||
`allowed=()`,
|
||||
`allowed=("")`,
|
||||
`allowed=("1" ?0)`,
|
||||
`allowed=("1" 42)`,
|
||||
`allowed=("1" 2.5)`,
|
||||
`allowed=("1" :cHJldGVuZCB0aGlzIGlzIGJpbmFyeSBjb250ZW50Lg==:)`,
|
||||
`preferred=("1")`,
|
||||
`preferred=latest`,
|
||||
`preferred=""`,
|
||||
`preferred=?0, allowed=(latest)`,
|
||||
`preferred=latest-from-network, allowed=("1" ?0)`,
|
||||
`preferred="", allowed=(latest)`,
|
||||
`preferred=latest-from-network, allowed=("1", "")`,
|
||||
].forEach(runTest);
|
||||
|
||||
function runTest(header) {
|
||||
async_test(t => {
|
||||
const iframe = document.createElement("iframe");
|
||||
iframe.src = "resources/subframe-with-bad-header.py?header=" + encodeURIComponent(header);
|
||||
|
||||
iframe.onload = t.step_func_done(() => {
|
||||
// The loaded result must be cross-origin since it's a network error.
|
||||
// Accessing the document property of a cross-origin Window throws a
|
||||
// "SecurityError" DOMException.
|
||||
assert_throws_dom("SecurityError", () => iframe.contentWindow.document);
|
||||
});
|
||||
iframe.onerror = t.unreached_func("Iframe loads must not error");
|
||||
|
||||
document.body.append(iframe);
|
||||
}, header);
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,13 @@
|
|||
def main(request, response):
|
||||
"""Send a response with the Origin-Policy header given in the query string.
|
||||
"""
|
||||
header = request.GET.first("header")
|
||||
|
||||
response.headers.set("Origin-Policy", header)
|
||||
response.headers.set("Content-Type", "text/html")
|
||||
|
||||
return """
|
||||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Origin policy bad header subframe</title>
|
||||
"""
|
|
@ -13,7 +13,7 @@
|
|||
<script src="pointerevent_support.js"></script>
|
||||
<style>
|
||||
#target0 {
|
||||
height: 150px;
|
||||
height: 100px;
|
||||
width: 200px;
|
||||
overflow-y: auto;
|
||||
background: black;
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
function observeSizes() {
|
||||
let ro = new ResizeObserver( entries => {
|
||||
for (entry of entries) {
|
||||
let size = entry.devicePixelContentBoxSize;
|
||||
let size = entry.devicePixelContentBoxSize[0];
|
||||
if (entry.target == canvas2D) {
|
||||
let canvas2D = document.querySelector("#canvas2D");
|
||||
let ctx = canvas2D.getContext("2d");
|
||||
|
|
|
@ -254,13 +254,13 @@ function test8() {
|
|||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 0, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 0, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -276,13 +276,13 @@ function test8() {
|
|||
assert_equals(entries[0].contentRect.height, 90, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 0, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 0, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 90,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 90,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 90,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 90,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 90,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 90,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 90,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 90,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -322,13 +322,13 @@ function test9() {
|
|||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 0, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 0, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -346,13 +346,13 @@ function test9() {
|
|||
assert_equals(entries[0].contentRect.height, 92, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 4, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 4, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 92,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 92,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 92,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 92,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
|
||||
"target border-box block size");
|
||||
}
|
||||
}
|
||||
|
@ -379,13 +379,13 @@ function test10() {
|
|||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 0, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 0, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -400,13 +400,13 @@ function test10() {
|
|||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 4, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 4, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 108,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 108,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 108,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 108,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -449,13 +449,13 @@ function test11() {
|
|||
assert_equals(entries[0].target, t, "target is t");
|
||||
assert_equals(entries[0].contentRect.width, 50, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 50, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 50,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -468,13 +468,13 @@ function test11() {
|
|||
assert_equals(entries[0].target, t, "target is t");
|
||||
assert_equals(entries[0].contentRect.width, 75, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 50, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 75,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 75,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 75,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 75,
|
||||
"target border-box block size");
|
||||
}
|
||||
}
|
||||
|
@ -505,9 +505,9 @@ function test12() {
|
|||
assert_equals(entries[0].target, t, "target is t");
|
||||
assert_equals(entries[0].contentRect.width, 50, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 50,
|
||||
"target content-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -546,9 +546,9 @@ function test13() {
|
|||
assert_equals(entries[0].target, t, "target is t");
|
||||
assert_equals(entries[0].contentRect.width, 50, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 50,
|
||||
"target content-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -561,9 +561,9 @@ function test13() {
|
|||
assert_equals(entries[0].target, t, "target is t");
|
||||
assert_equals(entries[0].contentRect.width, 50, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
},
|
||||
}
|
||||
|
@ -593,13 +593,13 @@ function test14() {
|
|||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 0, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 0, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -615,13 +615,13 @@ function test14() {
|
|||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 4, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 4, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 108,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 108,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 108,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 108,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -662,13 +662,13 @@ function test15() {
|
|||
assert_equals(entries[0].target, t, "target is t");
|
||||
assert_equals(entries[0].contentRect.width, 50, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -679,13 +679,13 @@ function test15() {
|
|||
notify: entries => {
|
||||
assert_equals(entries[0].contentRect.width, 0, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 0, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 0,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 0,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 0,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 0,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 0,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 0,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 0,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 0,
|
||||
"target border-box block size");
|
||||
}
|
||||
}
|
||||
|
@ -750,13 +750,13 @@ function test17() {
|
|||
assert_equals(entries[0].contentRect.height, 30, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 5, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 5, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 40,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 40,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 30,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 30,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 60,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 60,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -774,13 +774,13 @@ function test17() {
|
|||
assert_equals(entries[0].contentRect.height, 20, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 10, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 10, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 30,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 30,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 20,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 20,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 60,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 60,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -797,13 +797,13 @@ function test17() {
|
|||
assert_equals(entries[0].contentRect.height, 28, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 10, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 10, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 38,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 38,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 28,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 28,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 60,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 60,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -818,13 +818,13 @@ function test17() {
|
|||
assert_equals(entries[0].contentRect.height, 28, "target height");
|
||||
assert_equals(entries[0].contentRect.top, 10, "target top padding");
|
||||
assert_equals(entries[0].contentRect.left, 10, "target left padding");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 38,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 38,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 28,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 28,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 60,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 60,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
|
||||
"target border-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -864,17 +864,17 @@ function test18() {
|
|||
assert_equals(entries[0].target, t, "target is t");
|
||||
assert_equals(entries[0].contentRect.width, 50, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
|
||||
"target border-box block size");
|
||||
assert_equals(entries[0].devicePixelContentBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].devicePixelContentBoxSize[0].inlineSize, 50,
|
||||
"target device-pixel-content-box inline size");
|
||||
assert_equals(entries[0].devicePixelContentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].devicePixelContentBoxSize[0].blockSize, 100,
|
||||
"target device-pixel-content-box block size");
|
||||
}
|
||||
},
|
||||
|
@ -887,17 +887,17 @@ function test18() {
|
|||
assert_equals(entries[0].target, t, "target is t");
|
||||
assert_equals(entries[0].contentRect.width, 50, "target width");
|
||||
assert_equals(entries[0].contentRect.height, 100, "target height");
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
|
||||
"target content-box inline size");
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
|
||||
"target content-box block size");
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 50,
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
|
||||
"target border-box inline size");
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 100,
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
|
||||
"target border-box block size");
|
||||
assert_equals(entries[0].devicePixelContentBoxSize.inlineSize, 150,
|
||||
assert_equals(entries[0].devicePixelContentBoxSize[0].inlineSize, 150,
|
||||
"target device-pixel-content-box inline size");
|
||||
assert_equals(entries[0].devicePixelContentBoxSize.blockSize, 300,
|
||||
assert_equals(entries[0].devicePixelContentBoxSize[0].blockSize, 300,
|
||||
"target device-pixel-content-box block size");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -387,8 +387,8 @@ function test12() {
|
|||
assert_equals(entries.length, 1);
|
||||
assert_equals(entries[0].contentRect.width, 45);
|
||||
assert_equals(entries[0].contentRect.height, 10);
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 45);
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 10);
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 45);
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 10);
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
@ -417,10 +417,10 @@ function test13() {
|
|||
assert_equals(entries.length, 1);
|
||||
assert_equals(entries[0].contentRect.width, 20);
|
||||
assert_equals(entries[0].contentRect.height, 20);
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 20);
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 20);
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 20);
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
@ -440,10 +440,10 @@ function test14() {
|
|||
assert_equals(entries.length, 1);
|
||||
assert_equals(entries[0].contentRect.width, 50);
|
||||
assert_equals(entries[0].contentRect.height, 20);
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 50);
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 50);
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 50);
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 50);
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 20);
|
||||
return true; // Delay next step
|
||||
}
|
||||
},
|
||||
|
@ -455,10 +455,10 @@ function test14() {
|
|||
assert_equals(entries.length, 1);
|
||||
assert_equals(entries[0].contentRect.width, 15);
|
||||
assert_equals(entries[0].contentRect.height, 20);
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 15);
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 15);
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 15);
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 15);
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 20);
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
@ -486,10 +486,10 @@ function test15() {
|
|||
assert_equals(entries.length, 1);
|
||||
assert_equals(entries[0].contentRect.width, 360);
|
||||
assert_equals(entries[0].contentRect.height, 30);
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 360);
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 30);
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 360);
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 30);
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 360);
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 30);
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 360);
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 30);
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
@ -512,12 +512,12 @@ function test16() {
|
|||
assert_equals(entries.length, 1);
|
||||
assert_equals(entries[0].contentRect.width, 50);
|
||||
assert_equals(entries[0].contentRect.height, 20);
|
||||
assert_equals(entries[0].contentBoxSize.inlineSize, 50);
|
||||
assert_equals(entries[0].contentBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize.inlineSize, 50);
|
||||
assert_equals(entries[0].borderBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].devicePixelContentBoxSize.inlineSize, 50);
|
||||
assert_equals(entries[0].devicePixelContentBoxSize.blockSize, 20);
|
||||
assert_equals(entries[0].contentBoxSize[0].inlineSize, 50);
|
||||
assert_equals(entries[0].contentBoxSize[0].blockSize, 20);
|
||||
assert_equals(entries[0].borderBoxSize[0].inlineSize, 50);
|
||||
assert_equals(entries[0].borderBoxSize[0].blockSize, 20);
|
||||
assert_equals(entries[0].devicePixelContentBoxSize[0].inlineSize, 50);
|
||||
assert_equals(entries[0].devicePixelContentBoxSize[0].blockSize, 20);
|
||||
return true; // Delay next step
|
||||
}
|
||||
},
|
||||
|
|
|
@ -2749,7 +2749,7 @@ IdlInterface.prototype.test_object = function(desc)
|
|||
var expected_typeof;
|
||||
if (this.name == "HTMLAllCollection")
|
||||
{
|
||||
// Willful violation of JS. :(
|
||||
// Result of [[IsHTMLDDA]] slot
|
||||
expected_typeof = "undefined";
|
||||
} else if (this.members.some(function(member) { return member.legacycaller; }))
|
||||
{
|
||||
|
@ -2922,7 +2922,7 @@ IdlInterface.prototype.test_interface_of = function(desc, obj, exception, expect
|
|||
{
|
||||
if (this.name == "Document" && member.name == "all")
|
||||
{
|
||||
// Willful violation of JS :(
|
||||
// Result of [[IsHTMLDDA]] slot
|
||||
assert_equals(typeof property, "undefined");
|
||||
}
|
||||
else
|
||||
|
|
|
@ -1484,7 +1484,7 @@ policies and contribution forms [3].
|
|||
return function (object, property_name, description)
|
||||
{
|
||||
assert(typeof object === "object" || typeof object === "function" ||
|
||||
// Willful violation of JS. :(
|
||||
// Or has [[IsHTMLDDA]] slot
|
||||
String(object) === "[object HTMLAllCollection]",
|
||||
name, description,
|
||||
"provided value is not an object");
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
// META: timeout=long
|
||||
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -0,0 +1,117 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Declarative Shadow DOM</title>
|
||||
<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
|
||||
<link rel="help" href="https://github.com/whatwg/dom/issues/831">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<div id="host">
|
||||
<template shadowroot="open">
|
||||
<slot id="s1" name="slot1"></slot>
|
||||
</template>
|
||||
<div id="c1" slot="slot1"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
test(() => {
|
||||
const host = document.querySelector('#host');
|
||||
const c1 = host.querySelector('#c1');
|
||||
assert_true(!!c1);
|
||||
assert_equals(host.querySelector('#s1'), null, "Should be inside shadow root");
|
||||
assert_equals(host.querySelector('template'), null, "No leftover template node");
|
||||
assert_true(!!host.shadowRoot,"No shadow root found");
|
||||
const s1 = host.shadowRoot.querySelector('#s1');
|
||||
assert_equals(c1.assignedSlot, s1);
|
||||
assert_array_equals(s1.assignedNodes(), [c1]);
|
||||
}, 'Declarative Shadow DOM: Basic test');
|
||||
|
||||
test(() => {
|
||||
const div = document.createElement('div');
|
||||
div.innerHTML = `
|
||||
<div id="host">
|
||||
<template shadowroot="open">
|
||||
<slot id="s1" name="slot1"></slot>
|
||||
</template>
|
||||
<div id="c1" slot="slot1"></div>
|
||||
</div>
|
||||
`;
|
||||
const host = div.querySelector('#host');
|
||||
const c1 = host.querySelector('#c1');
|
||||
assert_true(!!c1);
|
||||
assert_equals(host.querySelector('#s1'), null, "Should be inside shadow root");
|
||||
assert_equals(host.querySelector('template'), null, "No leftover template node");
|
||||
assert_true(!!host.shadowRoot,"No shadow root found");
|
||||
const s1 = host.shadowRoot.querySelector('#s1');
|
||||
assert_equals(c1.assignedSlot, s1);
|
||||
assert_array_equals(s1.assignedNodes(), [c1]);
|
||||
}, 'Declarative Shadow DOM: Fragment parser basic test');
|
||||
|
||||
test(() => {
|
||||
const div = document.createElement('div');
|
||||
div.innerHTML = `
|
||||
<div id="host">
|
||||
<template shadowroot="invalid">
|
||||
</template>
|
||||
</div>
|
||||
`;
|
||||
const host = div.querySelector('#host');
|
||||
assert_equals(host.shadowRoot, null, "Shadow root was found");
|
||||
const tmpl = host.querySelector('template');
|
||||
assert_true(!!tmpl,"Template should still be present");
|
||||
const shadowrootAttr = tmpl.getAttribute('shadowroot');
|
||||
assert_equals(shadowrootAttr,"invalid","'shadowroot' attribute should still be present");
|
||||
}, 'Declarative Shadow DOM: Invalid shadow root attribute');
|
||||
|
||||
test(() => {
|
||||
const div = document.createElement('div');
|
||||
div.innerHTML = `
|
||||
<div id="host">
|
||||
<template shadowroot="closed">
|
||||
</template>
|
||||
</div>
|
||||
`;
|
||||
const host = div.querySelector('#host');
|
||||
assert_equals(host.shadowRoot, null, "Closed shadow root");
|
||||
assert_equals(host.querySelector('template'), null, "No template - converted to shadow root");
|
||||
}, 'Declarative Shadow DOM: Closed shadow root attribute');
|
||||
|
||||
test(() => {
|
||||
const div = document.createElement('div');
|
||||
div.innerHTML = `
|
||||
<div id="host">
|
||||
<template shadowroot="open">
|
||||
<slot id="s1" name="slot1"></slot>
|
||||
</div>
|
||||
`;
|
||||
const host = div.querySelector('#host');
|
||||
assert_equals(host.querySelector('#s1'), null, "Should be inside shadow root");
|
||||
assert_equals(host.querySelector('template'), null, "No leftover template node");
|
||||
assert_true(!!host.shadowRoot,"No shadow root found");
|
||||
const s1 = host.shadowRoot.querySelector('#s1');
|
||||
assert_true(!!s1,"Slot should be inside the shadow root");
|
||||
}, 'Declarative Shadow DOM: Missing closing tag');
|
||||
|
||||
test(() => {
|
||||
const div = document.createElement('div');
|
||||
div.innerHTML = `
|
||||
<div id="host">
|
||||
<template shadowroot="open" shadowrootdelegatesfocus>
|
||||
</template>
|
||||
</div>
|
||||
`;
|
||||
var host = div.querySelector('#host');
|
||||
assert_true(!!host.shadowRoot,"No shadow root found");
|
||||
assert_true(host.shadowRoot.delegatesFocus,"delegatesFocus should be true");
|
||||
div.innerHTML = `
|
||||
<div id="host">
|
||||
<template shadowroot="open">
|
||||
</template>
|
||||
</div>
|
||||
`;
|
||||
host = div.querySelector('#host');
|
||||
assert_true(!!host.shadowRoot,"No shadow root found");
|
||||
assert_false(host.shadowRoot.delegatesFocus,"delegatesFocus should be false without the shadowrootdelegatesfocus attribute");
|
||||
}, 'Declarative Shadow DOM: delegates focus attribute');
|
||||
|
||||
</script>
|
|
@ -1,4 +1,4 @@
|
|||
flake8==3.7.9
|
||||
pycodestyle==2.5.0
|
||||
pyflakes==2.1.1
|
||||
pep8-naming==0.9.1
|
||||
pep8-naming==0.10.0
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
// META: timeout=long
|
||||
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<meta charset='utf-8'/>
|
||||
<title>Vibration API: test that calls to vibrate() are silently ignored when the device cannot vibrate</title>
|
||||
<link rel='author' title='Robin Berjon' href='mailto:robin@berjon.com'/>
|
||||
<link rel='help' href='http://www.w3.org/TR/vibration/#methods'/>
|
||||
<link rel='help' href='https://w3c.github.io/vibration/#dfn-perform-vibration'/>
|
||||
<meta name='flags' content='dom, no-vibrator'/>
|
||||
<meta name='assert' content='If the device does not provide a vibration mechanism, or it is disabled, the user agent must silently ignore any invocations of the vibrate() method.'/>
|
||||
</head>
|
||||
|
@ -16,13 +16,20 @@
|
|||
supporting this API but running on a device that cannot vibrate must silently ignore the
|
||||
call (we test that it doesn't throw).
|
||||
</p>
|
||||
<button type="button" id="button">Click here if the device doesn't support vibration</button>
|
||||
<div id='log'></div>
|
||||
<script src='/resources/testharness.js'></script>
|
||||
<script src='/resources/testharnessreport.js'></script>
|
||||
<script src='/resources/testdriver.js'></script>
|
||||
<script src='/resources/testdriver-vendor.js'></script>
|
||||
<script>
|
||||
if (undefined !== navigator.vibrate) {
|
||||
test(function () {
|
||||
async_test(function (t) {
|
||||
var target = document.getElementById('button');
|
||||
target.addEventListener("click", t.step_func_done(function() {
|
||||
assert_true(navigator.vibrate(1000), "vibrate() returns true when vibration is not supported");
|
||||
}));
|
||||
test_driver.click(target).catch(t.unreached_func("click failed"));
|
||||
}, "Calling vibrate returns true");
|
||||
}
|
||||
</script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue