Update web-platform-tests to revision 26e8a76d7fbea0721468e791a325444ac9939a4f

This commit is contained in:
WPT Sync Bot 2018-03-21 21:10:50 -04:00
parent 1c2bed5a69
commit 6b4026ce2f
89 changed files with 889 additions and 258 deletions

View file

@ -1,2 +0,0 @@
[Blob-slice.html]
type: testharness

View file

@ -5,3 +5,4 @@
[Invalid bits argument: "hello"] [Invalid bits argument: "hello"]
expected: FAIL expected: FAIL

View file

@ -1,2 +0,0 @@
[Determining-Encoding.html]
type: testharness

View file

@ -14947,6 +14947,12 @@
{} {}
] ]
], ],
"payment-request/show-method-postmessage-manual.https.html": [
[
"/payment-request/show-method-postmessage-manual.https.html",
{}
]
],
"payment-request/updateWith-method-pmi-handling-manual.https.html": [ "payment-request/updateWith-method-pmi-handling-manual.https.html": [
[ [
"/payment-request/updateWith-method-pmi-handling-manual.https.html", "/payment-request/updateWith-method-pmi-handling-manual.https.html",
@ -181215,6 +181221,18 @@
{} {}
] ]
], ],
"svg/extensibility/foreignObject/stacking-context.html": [
[
"/svg/extensibility/foreignObject/stacking-context.html",
[
[
"/svg/extensibility/foreignObject/stacking-context-expected.html",
"=="
]
],
{}
]
],
"svg/foreignobject/position-svg-root-in-foreign-object.html": [ "svg/foreignobject/position-svg-root-in-foreign-object.html": [
[ [
"/svg/foreignobject/position-svg-root-in-foreign-object.html", "/svg/foreignobject/position-svg-root-in-foreign-object.html",
@ -272787,6 +272805,21 @@
{} {}
] ]
], ],
"generic-sensor/OWNERS": [
[
{}
]
],
"generic-sensor/generic-sensor-feature-policy-test.sub.js": [
[
{}
]
],
"generic-sensor/generic-sensor-tests.js": [
[
{}
]
],
"geolocation-API/OWNERS": [ "geolocation-API/OWNERS": [
[ [
{} {}
@ -285407,6 +285440,11 @@
{} {}
] ]
], ],
"interfaces/webvtt.idl": [
[
{}
]
],
"interfaces/webxr.idl": [ "interfaces/webxr.idl": [
[ [
{} {}
@ -287187,6 +287225,11 @@
{} {}
] ]
], ],
"payment-request/show-method-postmessage-iframe.html": [
[
{}
]
],
"performance-timeline/OWNERS": [ "performance-timeline/OWNERS": [
[ [
{} {}
@ -290307,6 +290350,11 @@
{} {}
] ]
], ],
"resource-timing/resources/multi_redirect.py": [
[
{}
]
],
"resource-timing/resources/nested.css": [ "resource-timing/resources/nested.css": [
[ [
{} {}
@ -290467,21 +290515,6 @@
{} {}
] ]
], ],
"sensors/OWNERS": [
[
{}
]
],
"sensors/generic-sensor-feature-policy-test.sub.js": [
[
{}
]
],
"sensors/generic-sensor-tests.js": [
[
{}
]
],
"server-timing/resources/blue.png": [ "server-timing/resources/blue.png": [
[ [
{} {}
@ -293547,6 +293580,11 @@
{} {}
] ]
], ],
"svg/extensibility/foreignObject/stacking-context-expected.html": [
[
{}
]
],
"svg/foreignobject/position-svg-root-in-foreign-object-ref.html": [ "svg/foreignobject/position-svg-root-in-foreign-object-ref.html": [
[ [
{} {}
@ -314271,6 +314309,12 @@
{} {}
] ]
], ],
"css/css-scroll-snap/scroll-snap-type-proximity.html": [
[
"/css/css-scroll-snap/scroll-snap-type-proximity.html",
{}
]
],
"css/css-scroll-snap/scrollTo-scrollBy-snaps.html": [ "css/css-scroll-snap/scrollTo-scrollBy-snaps.html": [
[ [
"/css/css-scroll-snap/scrollTo-scrollBy-snaps.html", "/css/css-scroll-snap/scrollTo-scrollBy-snaps.html",
@ -325771,6 +325815,18 @@
{} {}
] ]
], ],
"generic-sensor/SensorErrorEvent-constructor.https.html": [
[
"/generic-sensor/SensorErrorEvent-constructor.https.html",
{}
]
],
"generic-sensor/idlharness.https.html": [
[
"/generic-sensor/idlharness.https.html",
{}
]
],
"geolocation-API/PositionOptions.https.html": [ "geolocation-API/PositionOptions.https.html": [
[ [
"/geolocation-API/PositionOptions.https.html", "/geolocation-API/PositionOptions.https.html",
@ -329311,6 +329367,12 @@
{} {}
] ]
], ],
"html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js": [
[
"/html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.html",
{}
]
],
"html/infrastructure/terminology/plugins/text-plain.html": [ "html/infrastructure/terminology/plugins/text-plain.html": [
[ [
"/html/infrastructure/terminology/plugins/text-plain.html", "/html/infrastructure/terminology/plugins/text-plain.html",
@ -359239,6 +359301,12 @@
{} {}
] ]
], ],
"resource-timing/resource_TAO_cross_origin_redirect_chain.html": [
[
"/resource-timing/resource_TAO_cross_origin_redirect_chain.html",
{}
]
],
"resource-timing/resource_TAO_match_origin.htm": [ "resource-timing/resource_TAO_match_origin.htm": [
[ [
"/resource-timing/resource_TAO_match_origin.htm", "/resource-timing/resource_TAO_match_origin.htm",
@ -359395,6 +359463,12 @@
{} {}
] ]
], ],
"resource-timing/resource_timing_cross_origin_redirect_chain.html": [
[
"/resource-timing/resource_timing_cross_origin_redirect_chain.html",
{}
]
],
"resource-timing/resource_timing_same_origin_redirect.html": [ "resource-timing/resource_timing_same_origin_redirect.html": [
[ [
"/resource-timing/resource_timing_same_origin_redirect.html", "/resource-timing/resource_timing_same_origin_redirect.html",
@ -359773,18 +359847,6 @@
{} {}
] ]
], ],
"sensors/SensorErrorEvent-constructor.https.html": [
[
"/sensors/SensorErrorEvent-constructor.https.html",
{}
]
],
"sensors/idlharness.https.html": [
[
"/sensors/idlharness.https.html",
{}
]
],
"server-timing/cross_origin.html": [ "server-timing/cross_origin.html": [
[ [
"/server-timing/cross_origin.html", "/server-timing/cross_origin.html",
@ -363067,6 +363129,12 @@
{} {}
] ]
], ],
"svg/extensibility/foreignObject/containing-block.html": [
[
"/svg/extensibility/foreignObject/containing-block.html",
{}
]
],
"svg/extensibility/foreignObject/properties.svg": [ "svg/extensibility/foreignObject/properties.svg": [
[ [
"/svg/extensibility/foreignObject/properties.svg", "/svg/extensibility/foreignObject/properties.svg",
@ -398099,7 +398167,7 @@
"support" "support"
], ],
"accelerometer/Accelerometer-disabled-by-feature-policy.https.html": [ "accelerometer/Accelerometer-disabled-by-feature-policy.https.html": [
"5bce003a7ab3b5016011d35c715d7968c09a89a4", "96e5a86bf78239f3aa4a79b32bb4308de0d5f60e",
"testharness" "testharness"
], ],
"accelerometer/Accelerometer-disabled-by-feature-policy.https.html.headers": [ "accelerometer/Accelerometer-disabled-by-feature-policy.https.html.headers": [
@ -398107,15 +398175,15 @@
"support" "support"
], ],
"accelerometer/Accelerometer-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [ "accelerometer/Accelerometer-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [
"df5fc463567201131aeee4f8f975e39135058aab", "f20f89a31daf399a7946b928e8deca9651d38487",
"testharness" "testharness"
], ],
"accelerometer/Accelerometer-enabled-by-feature-policy-attribute.https.html": [ "accelerometer/Accelerometer-enabled-by-feature-policy-attribute.https.html": [
"fbea6404a3a380b43b2f006cb1dddadcabeb666f", "7ce8c39f0af6c932d1e6b6f75843c090f7274b80",
"testharness" "testharness"
], ],
"accelerometer/Accelerometer-enabled-by-feature-policy.https.html": [ "accelerometer/Accelerometer-enabled-by-feature-policy.https.html": [
"67193bd17d281423d7f6e84b0166b5a4c0409be3", "dbda7cfa838c1f2d4296b545034d42f0064f331a",
"testharness" "testharness"
], ],
"accelerometer/Accelerometer-enabled-by-feature-policy.https.html.headers": [ "accelerometer/Accelerometer-enabled-by-feature-policy.https.html.headers": [
@ -398123,7 +398191,7 @@
"support" "support"
], ],
"accelerometer/Accelerometer-enabled-on-self-origin-by-feature-policy.https.html": [ "accelerometer/Accelerometer-enabled-on-self-origin-by-feature-policy.https.html": [
"69ced186024bf92e077eccac49a66e8f86d81c96", "b8fb07cdd23dce9690de719387b9d505382772f5",
"testharness" "testharness"
], ],
"accelerometer/Accelerometer-enabled-on-self-origin-by-feature-policy.https.html.headers": [ "accelerometer/Accelerometer-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@ -398131,15 +398199,15 @@
"support" "support"
], ],
"accelerometer/Accelerometer.https.html": [ "accelerometer/Accelerometer.https.html": [
"f70ee583dce5ed3019e900163d5d559d70d05fb2", "3ff5f61b25c52142e9796f3903d7f2bcaa30314c",
"testharness" "testharness"
], ],
"accelerometer/Accelerometer_insecure_context.html": [ "accelerometer/Accelerometer_insecure_context.html": [
"b9837873e39416c65e8ac05f2049bfa406ba4264", "82be1b9a5c6e75291fdc1aabe230af28e22823a8",
"testharness" "testharness"
], ],
"accelerometer/Accelerometer_onerror-manual.https.html": [ "accelerometer/Accelerometer_onerror-manual.https.html": [
"c8b76601f465d0f5b26a9bc27dac503f02887448", "c82f9595dc2582b2da40549a358da1c3fc2ff820",
"manual" "manual"
], ],
"accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html": [ "accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html": [
@ -398927,7 +398995,7 @@
"support" "support"
], ],
"ambient-light/AmbientLightSensor-disabled-by-feature-policy.https.html": [ "ambient-light/AmbientLightSensor-disabled-by-feature-policy.https.html": [
"dcd19f8b1428bfc147a62299489e1d10f3e31795", "9dcb093c8a052b8563d65fa6f0885650422dbf4c",
"testharness" "testharness"
], ],
"ambient-light/AmbientLightSensor-disabled-by-feature-policy.https.html.headers": [ "ambient-light/AmbientLightSensor-disabled-by-feature-policy.https.html.headers": [
@ -398935,15 +399003,15 @@
"support" "support"
], ],
"ambient-light/AmbientLightSensor-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [ "ambient-light/AmbientLightSensor-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [
"d1a42dfb235b17c9f7701c6b7ac9b32c1b1d385c", "06862bb58d13bf4355cbe66cb7060c7a5ea4a750",
"testharness" "testharness"
], ],
"ambient-light/AmbientLightSensor-enabled-by-feature-policy-attribute.https.html": [ "ambient-light/AmbientLightSensor-enabled-by-feature-policy-attribute.https.html": [
"7e13efd73ff674cb9870495df169a3ab10cf696c", "acdf8d84bc3e8708af250d8825c93d130ade435f",
"testharness" "testharness"
], ],
"ambient-light/AmbientLightSensor-enabled-by-feature-policy.https.html": [ "ambient-light/AmbientLightSensor-enabled-by-feature-policy.https.html": [
"752da9e721c28c8a174cca05133f9ff3acbe1139", "da2cc1cc0de186731e38512219cdfaf8357b9301",
"testharness" "testharness"
], ],
"ambient-light/AmbientLightSensor-enabled-by-feature-policy.https.html.headers": [ "ambient-light/AmbientLightSensor-enabled-by-feature-policy.https.html.headers": [
@ -398951,7 +399019,7 @@
"support" "support"
], ],
"ambient-light/AmbientLightSensor-enabled-on-self-origin-by-feature-policy.https.html": [ "ambient-light/AmbientLightSensor-enabled-on-self-origin-by-feature-policy.https.html": [
"664ab1dc2e3c4026e0d890bab8e17544d58f4210", "2a7a1dadbf5d9d05116128633598da781f5f0003",
"testharness" "testharness"
], ],
"ambient-light/AmbientLightSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [ "ambient-light/AmbientLightSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@ -398959,15 +399027,15 @@
"support" "support"
], ],
"ambient-light/AmbientLightSensor.https.html": [ "ambient-light/AmbientLightSensor.https.html": [
"49d9d753bee1b390803ba293458dccfb5b7613e1", "86a1f84e2e034d58b2a7f6fc01880028b444c7cd",
"testharness" "testharness"
], ],
"ambient-light/AmbientLightSensor_insecure_context.html": [ "ambient-light/AmbientLightSensor_insecure_context.html": [
"279a073382db5c79ddbee30ffe4478299a773dd3", "f6d9e5bd6d1ce6705835f15498ddbb5a5b82fb88",
"testharness" "testharness"
], ],
"ambient-light/AmbientLightSensor_onerror-manual.https.html": [ "ambient-light/AmbientLightSensor_onerror-manual.https.html": [
"834b4f46f111a128c1c16c1c93d459b52dd4828d", "fa52072d6da7987db8f67c2a6fd9b2e281f03042",
"manual" "manual"
], ],
"ambient-light/OWNERS": [ "ambient-light/OWNERS": [
@ -501119,7 +501187,7 @@
"support" "support"
], ],
"css/css-grid/grid-definition/support/testing-utils.js": [ "css/css-grid/grid-definition/support/testing-utils.js": [
"7d6dc5106777942ad83e6bc570368af113f32d5f", "bda861857e383f7e77e2aded1d1c9af1340cc126",
"support" "support"
], ],
"css/css-grid/grid-items/anonymous-grid-item-001.html": [ "css/css-grid/grid-items/anonymous-grid-item-001.html": [
@ -507850,6 +507918,10 @@
"de66dba5bce15b7403e9e582d982d4e3e4aed552", "de66dba5bce15b7403e9e582d982d4e3e4aed552",
"testharness" "testharness"
], ],
"css/css-scroll-snap/scroll-snap-type-proximity.html": [
"75bfc0b6c7686afbbf431e653ab674496ad3fe46",
"testharness"
],
"css/css-scroll-snap/scrollTo-scrollBy-snaps.html": [ "css/css-scroll-snap/scrollTo-scrollBy-snaps.html": [
"6e921f3b1c54df09d594d5e450674618eee42143", "6e921f3b1c54df09d594d5e450674618eee42143",
"testharness" "testharness"
@ -550947,7 +551019,7 @@
"testharness" "testharness"
], ],
"fetch/api/response/response-consume.html": [ "fetch/api/response/response-consume.html": [
"936272bddf1a090267343fc7f8ab3669da98d27d", "3e68870ad69c0121d697036886251ef652cd65a7",
"testharness" "testharness"
], ],
"fetch/api/response/response-error-from-stream.html": [ "fetch/api/response/response-error-from-stream.html": [
@ -552170,6 +552242,26 @@
"b2432e7ea263fb80be42e7eecf93a9d885c0205d", "b2432e7ea263fb80be42e7eecf93a9d885c0205d",
"manual" "manual"
], ],
"generic-sensor/OWNERS": [
"b1349055762c7d44414c0c11fb8500d5eee9a75f",
"support"
],
"generic-sensor/SensorErrorEvent-constructor.https.html": [
"99bcfb42c91e084a3b847ab4bab2bad80e548540",
"testharness"
],
"generic-sensor/generic-sensor-feature-policy-test.sub.js": [
"c7c9c4d1c578f267cbb4241d7ea7a981be6f49ee",
"support"
],
"generic-sensor/generic-sensor-tests.js": [
"6364f1838215eaafd91b86690039da41d4c19cd1",
"support"
],
"generic-sensor/idlharness.https.html": [
"02c734b907075c8abb7504fc7e2b93730ac80a0c",
"testharness"
],
"geolocation-API/OWNERS": [ "geolocation-API/OWNERS": [
"84c4182ceed0f75ada11e63c3dfc2acc2939cbb6", "84c4182ceed0f75ada11e63c3dfc2acc2939cbb6",
"support" "support"
@ -552231,7 +552323,7 @@
"testharness" "testharness"
], ],
"geolocation-sensor/GeolocationSensor-disabled-by-feature-policy.https.html": [ "geolocation-sensor/GeolocationSensor-disabled-by-feature-policy.https.html": [
"b85d614841994226c2cab7fdf88e03620e453457", "91047842ea56344c005c46de7cdd27e2373ea0a1",
"testharness" "testharness"
], ],
"geolocation-sensor/GeolocationSensor-disabled-by-feature-policy.https.html.headers": [ "geolocation-sensor/GeolocationSensor-disabled-by-feature-policy.https.html.headers": [
@ -552239,15 +552331,15 @@
"support" "support"
], ],
"geolocation-sensor/GeolocationSensor-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [ "geolocation-sensor/GeolocationSensor-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [
"2d21ee198d079dde55f02fda3eb7f8e8fb6dfac4", "fb033fd0f0d891e9b6ed2b54b835f8f06364643e",
"testharness" "testharness"
], ],
"geolocation-sensor/GeolocationSensor-enabled-by-feature-policy-attribute.https.html": [ "geolocation-sensor/GeolocationSensor-enabled-by-feature-policy-attribute.https.html": [
"2eac643f35086d5051333674f6a01a9ee524786d", "06e4487981f8e6e062d9e9fea14d52e64b6b5035",
"testharness" "testharness"
], ],
"geolocation-sensor/GeolocationSensor-enabled-by-feature-policy.https.html": [ "geolocation-sensor/GeolocationSensor-enabled-by-feature-policy.https.html": [
"49e7799a36358602efabfb219a93422078456111", "e8287121361749246b874207dcffb92e459dfbec",
"testharness" "testharness"
], ],
"geolocation-sensor/GeolocationSensor-enabled-by-feature-policy.https.html.headers": [ "geolocation-sensor/GeolocationSensor-enabled-by-feature-policy.https.html.headers": [
@ -552255,7 +552347,7 @@
"support" "support"
], ],
"geolocation-sensor/GeolocationSensor-enabled-on-self-origin-by-feature-policy.https.html": [ "geolocation-sensor/GeolocationSensor-enabled-on-self-origin-by-feature-policy.https.html": [
"4ad92dcbcc737cbc14ba3bc2c19dc8f78e75d0a1", "4222f48c8c2a932c5b65b6426bb9a0ad476ddd0c",
"testharness" "testharness"
], ],
"geolocation-sensor/GeolocationSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [ "geolocation-sensor/GeolocationSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@ -552263,15 +552355,15 @@
"support" "support"
], ],
"geolocation-sensor/GeolocationSensor.https.html": [ "geolocation-sensor/GeolocationSensor.https.html": [
"502b4dbd03312a2e1e0c18fb3983a077335efde6", "c9d32faca641ec784acf9096a079d73781330216",
"testharness" "testharness"
], ],
"geolocation-sensor/GeolocationSensor_insecure_context.html": [ "geolocation-sensor/GeolocationSensor_insecure_context.html": [
"f2e8f58fd7e09cfaa311c83adc4456f9463a3456", "58fd65d3a72e6734392381fe225e3fbd7007fc06",
"testharness" "testharness"
], ],
"geolocation-sensor/GeolocationSensor_onerror-manual.https.html": [ "geolocation-sensor/GeolocationSensor_onerror-manual.https.html": [
"8c5a4e48439ff0620d6267b127a5d49f85657896", "2b7aac7d60271e12ce71f6293405ffafb471c8c8",
"manual" "manual"
], ],
"geolocation-sensor/GeolocationSensor_read.https.html": [ "geolocation-sensor/GeolocationSensor_read.https.html": [
@ -552315,7 +552407,7 @@
"manual" "manual"
], ],
"gyroscope/Gyroscope-disabled-by-feature-policy.https.html": [ "gyroscope/Gyroscope-disabled-by-feature-policy.https.html": [
"b7fb169e2a3de0df84a44b9775677d1a005e2446", "bc6f85cb3506d3e3e062eef43dca88bf3a4ebe89",
"testharness" "testharness"
], ],
"gyroscope/Gyroscope-disabled-by-feature-policy.https.html.headers": [ "gyroscope/Gyroscope-disabled-by-feature-policy.https.html.headers": [
@ -552323,15 +552415,15 @@
"support" "support"
], ],
"gyroscope/Gyroscope-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [ "gyroscope/Gyroscope-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [
"0887871a9f337da76cdbf8fc0ea7a6aafa6eec37", "cc1f4082fa420a9076f929d88268f5a1d921a44a",
"testharness" "testharness"
], ],
"gyroscope/Gyroscope-enabled-by-feature-policy-attribute.https.html": [ "gyroscope/Gyroscope-enabled-by-feature-policy-attribute.https.html": [
"b5d7fe16df3356e7e8ea202088e63734291810f0", "75429c87bbebd19df7b4edaddc5869c6202b3fab",
"testharness" "testharness"
], ],
"gyroscope/Gyroscope-enabled-by-feature-policy.https.html": [ "gyroscope/Gyroscope-enabled-by-feature-policy.https.html": [
"92bd0aee5d2d54b50e907155fe3a6dd5b2634021", "5129c05f9b226650a9b7fed4841871045525bf15",
"testharness" "testharness"
], ],
"gyroscope/Gyroscope-enabled-by-feature-policy.https.html.headers": [ "gyroscope/Gyroscope-enabled-by-feature-policy.https.html.headers": [
@ -552339,7 +552431,7 @@
"support" "support"
], ],
"gyroscope/Gyroscope-enabled-on-self-origin-by-feature-policy.https.html": [ "gyroscope/Gyroscope-enabled-on-self-origin-by-feature-policy.https.html": [
"b1af2b9e1787c1ace4619509d95e4085ac0f0fc7", "2603bd858929ae6f84ebbe0cce34c5417ccdae06",
"testharness" "testharness"
], ],
"gyroscope/Gyroscope-enabled-on-self-origin-by-feature-policy.https.html.headers": [ "gyroscope/Gyroscope-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@ -552347,15 +552439,15 @@
"support" "support"
], ],
"gyroscope/Gyroscope.https.html": [ "gyroscope/Gyroscope.https.html": [
"7d30725e44905d774a0b4554b55842cba78e1462", "504abfa42529e08576e49c3296464bcea5fe0b8a",
"testharness" "testharness"
], ],
"gyroscope/Gyroscope_insecure_context.html": [ "gyroscope/Gyroscope_insecure_context.html": [
"79688da94e1ea93646c288bdbfdb17487e846560", "74e51a1efc06bf8180db430b418d484fc50c07f9",
"testharness" "testharness"
], ],
"gyroscope/Gyroscope_onerror-manual.https.html": [ "gyroscope/Gyroscope_onerror-manual.https.html": [
"c89ff6361146a5d3065c2d44088b313e5560ba8d", "1e15b883bd317ca83783864fc563794cb0f6df8e",
"manual" "manual"
], ],
"gyroscope/OWNERS": [ "gyroscope/OWNERS": [
@ -561458,6 +561550,10 @@
"e0f5057cc03fe0bf0bc83587e620b623e4211da3", "e0f5057cc03fe0bf0bc83587e620b623e4211da3",
"testharness" "testharness"
], ],
"html/infrastructure/safe-passing-of-structured-data/transfer-errors.window.js": [
"03fd591d7d34f35db36742111f1aa81872775a65",
"testharness"
],
"html/infrastructure/terminology/.gitkeep": [ "html/infrastructure/terminology/.gitkeep": [
"da39a3ee5e6b4b0d3255bfef95601890afd80709", "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support" "support"
@ -571991,7 +572087,7 @@
"support" "support"
], ],
"interfaces/css-typed-om.idl": [ "interfaces/css-typed-om.idl": [
"3c918afebfb20266dd4003e71a008ed19c448fbc", "59bd8e2c3c1bf8fded9a5523b5bd3b59761eacef",
"support" "support"
], ],
"interfaces/cssom-view.idl": [ "interfaces/cssom-view.idl": [
@ -572071,7 +572167,7 @@
"support" "support"
], ],
"interfaces/payment-request.idl": [ "interfaces/payment-request.idl": [
"b61ab0da4aa0f89f4af1b7d8c5f32f2bde90fd35", "a7700006f4af50e069f6557bc7fc5affdd0c2d11",
"support" "support"
], ],
"interfaces/proximity.idl": [ "interfaces/proximity.idl": [
@ -572095,7 +572191,7 @@
"support" "support"
], ],
"interfaces/storage.idl": [ "interfaces/storage.idl": [
"fe2e879ca5662f3b1714404734fd033faf3268ec", "7c3221be9fdf6be4965cf5aeca2063f93c2110d6",
"support" "support"
], ],
"interfaces/touchevents.idl": [ "interfaces/touchevents.idl": [
@ -572142,6 +572238,10 @@
"7b5749e1fece69552e0a8bfac7af401fac15394d", "7b5749e1fece69552e0a8bfac7af401fac15394d",
"support" "support"
], ],
"interfaces/webvtt.idl": [
"3e7ab31795b8339de3d6904f0d68dab68ca24148",
"support"
],
"interfaces/webxr.idl": [ "interfaces/webxr.idl": [
"b1bbaa67765ce6eb20c39e6f2234912e4853e148", "b1bbaa67765ce6eb20c39e6f2234912e4853e148",
"support" "support"
@ -572419,7 +572519,7 @@
"support" "support"
], ],
"magnetometer/Magnetometer-disabled-by-feature-policy.https.html": [ "magnetometer/Magnetometer-disabled-by-feature-policy.https.html": [
"a050a0aff6039883d521735bff4b96e0628de20d", "9af542095f2fcd57691c0432ef3248b04a0207a0",
"testharness" "testharness"
], ],
"magnetometer/Magnetometer-disabled-by-feature-policy.https.html.headers": [ "magnetometer/Magnetometer-disabled-by-feature-policy.https.html.headers": [
@ -572427,15 +572527,15 @@
"support" "support"
], ],
"magnetometer/Magnetometer-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [ "magnetometer/Magnetometer-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [
"0bdab54bc63a9b28b89c7be70409a9c6c7d943c5", "47829ff5747eed99ba22e79b12ddfff288fd031e",
"testharness" "testharness"
], ],
"magnetometer/Magnetometer-enabled-by-feature-policy-attribute.https.html": [ "magnetometer/Magnetometer-enabled-by-feature-policy-attribute.https.html": [
"22a4580c08716b0395d6a0e49679b29619e2ce35", "3b6314e9176a24976d9d882644c30f00554eed6d",
"testharness" "testharness"
], ],
"magnetometer/Magnetometer-enabled-by-feature-policy.https.html": [ "magnetometer/Magnetometer-enabled-by-feature-policy.https.html": [
"8cc0dfc032b1f063e88ca43a0516b89ab05e057f", "05128cdb7171ba230143e7b68b09968a484b602a",
"testharness" "testharness"
], ],
"magnetometer/Magnetometer-enabled-by-feature-policy.https.html.headers": [ "magnetometer/Magnetometer-enabled-by-feature-policy.https.html.headers": [
@ -572443,7 +572543,7 @@
"support" "support"
], ],
"magnetometer/Magnetometer-enabled-on-self-origin-by-feature-policy.https.html": [ "magnetometer/Magnetometer-enabled-on-self-origin-by-feature-policy.https.html": [
"ac9154aca0c01825a78aad12b9ed242ec8780937", "3240dafd2bc810dea0dc1ebc31728c86a29f2ec5",
"testharness" "testharness"
], ],
"magnetometer/Magnetometer-enabled-on-self-origin-by-feature-policy.https.html.headers": [ "magnetometer/Magnetometer-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@ -572451,15 +572551,15 @@
"support" "support"
], ],
"magnetometer/Magnetometer.https.html": [ "magnetometer/Magnetometer.https.html": [
"bb74316d74c488daf753ee8576761ec78db457df", "240e7d0af55b8681f2f45ca22283634acc406325",
"testharness" "testharness"
], ],
"magnetometer/Magnetometer_insecure_context.html": [ "magnetometer/Magnetometer_insecure_context.html": [
"aef2810b55ac8672dff86b85f5d93d152b81dfe4", "0eeb95340d7c74a0243eac8d3f004b6e06b87a92",
"testharness" "testharness"
], ],
"magnetometer/Magnetometer_onerror-manual.https.html": [ "magnetometer/Magnetometer_onerror-manual.https.html": [
"f073df598684ce24f429d968da343812d68cb142", "da4e6b8975beecdcae24da26920a56a652f781e4",
"manual" "manual"
], ],
"magnetometer/OWNERS": [ "magnetometer/OWNERS": [
@ -581523,7 +581623,7 @@
"manual" "manual"
], ],
"orientation-sensor/AbsoluteOrientationSensor-disabled-by-feature-policy.https.html": [ "orientation-sensor/AbsoluteOrientationSensor-disabled-by-feature-policy.https.html": [
"9db710ef183a7bc65e6649526defe869c5fb66e9", "0c7657e32b46c64e5f050f04e40ccfc0dce32e47",
"testharness" "testharness"
], ],
"orientation-sensor/AbsoluteOrientationSensor-disabled-by-feature-policy.https.html.headers": [ "orientation-sensor/AbsoluteOrientationSensor-disabled-by-feature-policy.https.html.headers": [
@ -581531,15 +581631,15 @@
"support" "support"
], ],
"orientation-sensor/AbsoluteOrientationSensor-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [ "orientation-sensor/AbsoluteOrientationSensor-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [
"05c28d8975c13aea8e248d2a1a5341fb146c82a5", "71a6966fb91f8ddfe15ee690c843e4621a3b4720",
"testharness" "testharness"
], ],
"orientation-sensor/AbsoluteOrientationSensor-enabled-by-feature-policy-attribute.https.html": [ "orientation-sensor/AbsoluteOrientationSensor-enabled-by-feature-policy-attribute.https.html": [
"e3679a5c3a5f1783d3311556788af9e5a18b9287", "9bbe39e1be4a669f31f0fb3960aca22d7d159c5e",
"testharness" "testharness"
], ],
"orientation-sensor/AbsoluteOrientationSensor-enabled-by-feature-policy.https.html": [ "orientation-sensor/AbsoluteOrientationSensor-enabled-by-feature-policy.https.html": [
"923b5167c76b8f8405c94043dae6d4312383d00e", "9f110b8ceca3dd3ce3d2a9e2567d92a3fc6462bf",
"testharness" "testharness"
], ],
"orientation-sensor/AbsoluteOrientationSensor-enabled-by-feature-policy.https.html.headers": [ "orientation-sensor/AbsoluteOrientationSensor-enabled-by-feature-policy.https.html.headers": [
@ -581547,7 +581647,7 @@
"support" "support"
], ],
"orientation-sensor/AbsoluteOrientationSensor-enabled-on-self-origin-by-feature-policy.https.html": [ "orientation-sensor/AbsoluteOrientationSensor-enabled-on-self-origin-by-feature-policy.https.html": [
"873f248fa5c359322f6d8b143758122450c2279c", "c4404cf0b16c4d9ad15308392ecf52caee445b86",
"testharness" "testharness"
], ],
"orientation-sensor/AbsoluteOrientationSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [ "orientation-sensor/AbsoluteOrientationSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@ -581559,19 +581659,19 @@
"support" "support"
], ],
"orientation-sensor/OrientationSensor.https.html": [ "orientation-sensor/OrientationSensor.https.html": [
"6b53127c74c55a8cf5697bc5527f36b7276e2681", "ea9a61f9d526183071a0336e11ca844f59c284a9",
"testharness" "testharness"
], ],
"orientation-sensor/OrientationSensor_insecure_context.html": [ "orientation-sensor/OrientationSensor_insecure_context.html": [
"4161a365bd3a72226c29049cbe46c123b8b07a04", "eb64da888f1bedf9d5ed8b11edc1626da88b322b",
"testharness" "testharness"
], ],
"orientation-sensor/OrientationSensor_onerror-manual.https.html": [ "orientation-sensor/OrientationSensor_onerror-manual.https.html": [
"7d28e6caf629f82b058a33b018de34940f34916f", "6f0eb976affc21e49f48c42c1bd9d9eb0083ee40",
"manual" "manual"
], ],
"orientation-sensor/RelativeOrientationSensor-disabled-by-feature-policy.https.html": [ "orientation-sensor/RelativeOrientationSensor-disabled-by-feature-policy.https.html": [
"a8178651dd87ac80268a7c9de06858a6c5ee2125", "8c6c5f8f3bc4421f5143a3e4fab287564cf4907d",
"testharness" "testharness"
], ],
"orientation-sensor/RelativeOrientationSensor-disabled-by-feature-policy.https.html.headers": [ "orientation-sensor/RelativeOrientationSensor-disabled-by-feature-policy.https.html.headers": [
@ -581579,15 +581679,15 @@
"support" "support"
], ],
"orientation-sensor/RelativeOrientationSensor-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [ "orientation-sensor/RelativeOrientationSensor-enabled-by-feature-policy-attribute-redirect-on-load.https.html": [
"895e2cb7837bd9cb4a8ba7b3c90f414b4d3677ea", "34a79c9033a41c0aceab3fa6a470dd5a76f2ac81",
"testharness" "testharness"
], ],
"orientation-sensor/RelativeOrientationSensor-enabled-by-feature-policy-attribute.https.html": [ "orientation-sensor/RelativeOrientationSensor-enabled-by-feature-policy-attribute.https.html": [
"745fc51713614d6082dec199e3491e001cf3396e", "0e6260ccdaa8163b8db96516960be226a4d85ba7",
"testharness" "testharness"
], ],
"orientation-sensor/RelativeOrientationSensor-enabled-by-feature-policy.https.html": [ "orientation-sensor/RelativeOrientationSensor-enabled-by-feature-policy.https.html": [
"bccd08cf93fddcf3c8e2dc18fe394454580f2c88", "243b2d60d4c528a77e9cfb68fa256b35234e7346",
"testharness" "testharness"
], ],
"orientation-sensor/RelativeOrientationSensor-enabled-by-feature-policy.https.html.headers": [ "orientation-sensor/RelativeOrientationSensor-enabled-by-feature-policy.https.html.headers": [
@ -581595,7 +581695,7 @@
"support" "support"
], ],
"orientation-sensor/RelativeOrientationSensor-enabled-on-self-origin-by-feature-policy.https.html": [ "orientation-sensor/RelativeOrientationSensor-enabled-on-self-origin-by-feature-policy.https.html": [
"3ea7f029d22c4f05f99fc0cc5c4016670265cea7", "c9f234f6508fb778fdf91277bb8950c99479979d",
"testharness" "testharness"
], ],
"orientation-sensor/RelativeOrientationSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [ "orientation-sensor/RelativeOrientationSensor-enabled-on-self-origin-by-feature-policy.https.html.headers": [
@ -582046,6 +582146,14 @@
"a07f98e117bce1f040c5e62ef3acbd2ef7475338", "a07f98e117bce1f040c5e62ef3acbd2ef7475338",
"manual" "manual"
], ],
"payment-request/show-method-postmessage-iframe.html": [
"05167546e8763cb39873de4ca8f4e8e758ba0147",
"support"
],
"payment-request/show-method-postmessage-manual.https.html": [
"d2be1d2872a473a48df7139ecd3804f33187ec8f",
"manual"
],
"payment-request/updateWith-method-pmi-handling-manual.https.html": [ "payment-request/updateWith-method-pmi-handling-manual.https.html": [
"b473073ad106e9e0732adb6bfbed5f54d6ec3194", "b473073ad106e9e0732adb6bfbed5f54d6ec3194",
"manual" "manual"
@ -582991,15 +583099,15 @@
"support" "support"
], ],
"proximity/ProximitySensor.https.html": [ "proximity/ProximitySensor.https.html": [
"6c4a9d4ed542136534229a20b2c15463c7170a35", "6920751273c1220f40b5046be7ce7254a01ce72e",
"testharness" "testharness"
], ],
"proximity/ProximitySensor_insecure_context.html": [ "proximity/ProximitySensor_insecure_context.html": [
"426dc80f29f9eff09b266d357482d1532066a27a", "00b6ec75ae65d4ee7144e9362ccc89a3b3adb856",
"testharness" "testharness"
], ],
"proximity/ProximitySensor_onerror-manual.https.html": [ "proximity/ProximitySensor_onerror-manual.https.html": [
"ff682dfeb9f9dbea598455190d2c90e14d07b769", "522cdac324519313d77aa2dd417d486f15b2511f",
"manual" "manual"
], ],
"proximity/idlharness.https.html": [ "proximity/idlharness.https.html": [
@ -590654,6 +590762,10 @@
"9351f640380bd9a71bca28d32d724bd5f6373650", "9351f640380bd9a71bca28d32d724bd5f6373650",
"support" "support"
], ],
"resource-timing/resource_TAO_cross_origin_redirect_chain.html": [
"0dc87677f0c60a5710a5a3c484a0cec548de49bd",
"testharness"
],
"resource-timing/resource_TAO_match_origin.htm": [ "resource-timing/resource_TAO_match_origin.htm": [
"32faacb791313be60380fa744608853b24442f42", "32faacb791313be60380fa744608853b24442f42",
"testharness" "testharness"
@ -590758,6 +590870,10 @@
"54c0154ef223eaf288fbc247caa4df7b5c93d844", "54c0154ef223eaf288fbc247caa4df7b5c93d844",
"testharness" "testharness"
], ],
"resource-timing/resource_timing_cross_origin_redirect_chain.html": [
"367040bd55629c2a94b70f8180e682fb80ead94e",
"testharness"
],
"resource-timing/resource_timing_same_origin_redirect.html": [ "resource-timing/resource_timing_same_origin_redirect.html": [
"4a108e824fb57aa563deede2da8d47f25a8ab41e", "4a108e824fb57aa563deede2da8d47f25a8ab41e",
"testharness" "testharness"
@ -590854,6 +590970,10 @@
"f53513f6f47fd4a6d4994a4ef7d6e37d1777ea57", "f53513f6f47fd4a6d4994a4ef7d6e37d1777ea57",
"support" "support"
], ],
"resource-timing/resources/multi_redirect.py": [
"01cbf570b683a8e419b5a0ff7a0681a0b2ffa838",
"support"
],
"resource-timing/resources/nested.css": [ "resource-timing/resources/nested.css": [
"b89daf15601a711f6046d9e2fe1cc43ae1f0fd27", "b89daf15601a711f6046d9e2fe1cc43ae1f0fd27",
"support" "support"
@ -591202,26 +591322,6 @@
"01ae6e757d428800555012783e290ebba575bcab", "01ae6e757d428800555012783e290ebba575bcab",
"testharness" "testharness"
], ],
"sensors/OWNERS": [
"b1349055762c7d44414c0c11fb8500d5eee9a75f",
"support"
],
"sensors/SensorErrorEvent-constructor.https.html": [
"99bcfb42c91e084a3b847ab4bab2bad80e548540",
"testharness"
],
"sensors/generic-sensor-feature-policy-test.sub.js": [
"c7c9c4d1c578f267cbb4241d7ea7a981be6f49ee",
"support"
],
"sensors/generic-sensor-tests.js": [
"6364f1838215eaafd91b86690039da41d4c19cd1",
"support"
],
"sensors/idlharness.https.html": [
"02c734b907075c8abb7504fc7e2b93730ac80a0c",
"testharness"
],
"server-timing/cross_origin.html": [ "server-timing/cross_origin.html": [
"74333db517babacbb84bb20c91ccfc8b2627b934", "74333db517babacbb84bb20c91ccfc8b2627b934",
"testharness" "testharness"
@ -596046,10 +596146,22 @@
"ce9e3471676d5a50b91f6b274d648b481e509223", "ce9e3471676d5a50b91f6b274d648b481e509223",
"support" "support"
], ],
"svg/extensibility/foreignObject/containing-block.html": [
"6ed9e162526cbf37fb07c1cb7abbe79d987601c8",
"testharness"
],
"svg/extensibility/foreignObject/properties.svg": [ "svg/extensibility/foreignObject/properties.svg": [
"974affbb2c135c9aaa7a3f27687157b5e1250a9f", "974affbb2c135c9aaa7a3f27687157b5e1250a9f",
"testharness" "testharness"
], ],
"svg/extensibility/foreignObject/stacking-context-expected.html": [
"6ea850b74b6a03554305ed95df45079bdbcb15dd",
"support"
],
"svg/extensibility/foreignObject/stacking-context.html": [
"ef9026d2b8b27a258c3921139c46692292377dfe",
"reftest"
],
"svg/extensibility/interfaces/foreignObject-graphics.svg": [ "svg/extensibility/interfaces/foreignObject-graphics.svg": [
"16a7ef4c64dab3706120a2221dd6bec5ca8e9062", "16a7ef4c64dab3706120a2221dd6bec5ca8e9062",
"testharness" "testharness"
@ -602699,7 +602811,7 @@
"support" "support"
], ],
"webrtc/RTCDTMFSender-insertDTMF.https.html": [ "webrtc/RTCDTMFSender-insertDTMF.https.html": [
"591337627bf4bd0e40e6a5660efa9fc1e320d89f", "79574cff7e0500cecaf7e3ae182e89d98f49ce72",
"testharness" "testharness"
], ],
"webrtc/RTCDTMFSender-ontonechange-long.https.html": [ "webrtc/RTCDTMFSender-ontonechange-long.https.html": [
@ -604507,7 +604619,7 @@
"testharness" "testharness"
], ],
"webvtt/api/interfaces.html": [ "webvtt/api/interfaces.html": [
"3b4f42db6f608d1e89d2a3fab575e05da8a3d005", "4e54c4fd00214446cfc392f30ab85edf22b3aece",
"testharness" "testharness"
], ],
"webvtt/categories.json": [ "webvtt/categories.json": [

View file

@ -1,2 +0,0 @@
[vh_not_refreshing_on_chrome.html]
expected: FAIL

View file

@ -84,3 +84,6 @@
[Consume response's body: from multipart form data blob to formData] [Consume response's body: from multipart form data blob to formData]
expected: FAIL expected: FAIL
[Consume response's body: from URLSearchParams to blob]
expected: FAIL

View file

@ -0,0 +1,4 @@
[transfer-errors.window.html]
[Untitled]
expected: FAIL

View file

@ -0,0 +1,5 @@
[rapid-resizing.html]
expected: TIMEOUT
[Overall test]
expected: NOTRUN

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/accelerometer/"> <link rel="help" href="https://www.w3.org/TR/accelerometer/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<script> <script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/accelerometer/"> <link rel="help" href="https://www.w3.org/TR/accelerometer/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Note:</h2> <h2>Note:</h2>
<ol> <ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/accelerometer/"> <link rel="help" href="https://www.w3.org/TR/accelerometer/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/ambient-light/"> <link rel="help" href="https://www.w3.org/TR/ambient-light/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<script> <script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/ambient-light/"> <link rel="help" href="https://www.w3.org/TR/ambient-light/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/ambient-light/"> <link rel="help" href="https://www.w3.org/TR/ambient-light/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -1,10 +1,14 @@
var TestingUtils = (function() { var TestingUtils = (function() {
function checkGridTemplateColumns(element, value) { function checkGridTemplateColumns(element, value) {
if (!Array.isArray(value))
value = new Array(value);
assert_in_array(getComputedStyle(element).gridTemplateColumns, value, "gridTemplateColumns"); assert_in_array(getComputedStyle(element).gridTemplateColumns, value, "gridTemplateColumns");
} }
function checkGridTemplateRows(element, value) { function checkGridTemplateRows(element, value) {
if (!Array.isArray(value))
value = new Array(value);
assert_in_array(getComputedStyle(element).gridTemplateRows, value, "gridTemplateRows"); assert_in_array(getComputedStyle(element).gridTemplateRows, value, "gridTemplateRows");
} }
@ -19,6 +23,8 @@ var TestingUtils = (function() {
} }
function checkGridTemplateAreas(element, value) { function checkGridTemplateAreas(element, value) {
if (!Array.isArray(value))
value = new Array(value);
assert_in_array(getComputedStyle(element).gridTemplateAreas, value, "gridTemplateAreas"); assert_in_array(getComputedStyle(element).gridTemplateAreas, value, "gridTemplateAreas");
} }

View file

@ -0,0 +1,80 @@
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
div {
position: absolute;
margin: 0px;
}
#scroller {
height: 400px;
width: 400px;
overflow: scroll;
}
#space {
width: 2000px;
height: 2000px;
}
.snap {
width: 200px;
height: 200px;
background-color: blue;
scroll-snap-align: start;
}
#left-top {
left: 0px;
top: 0px;
}
#right-bottom {
left: 1000px;
top: 1000px;
}
</style>
<div id="scroller">
<div id="space"></div>
<div class="snap" id="left-top"></div>
<div class="snap" id="right-bottom"></div>
</div>
<script>
var scroller = document.getElementById("scroller");
var visible_x = 1000 - scroller.clientWidth;
var visible_y = 1000 - scroller.clientHeight;
test(() => {
scroller.style.scrollSnapType = "both mandatory";
scroller.scrollTo(0, 0);
assert_equals(scroller.scrollLeft, 0);
assert_equals(scroller.scrollTop, 0);
scroller.scrollTo(visible_x + 10, visible_y + 10);
assert_equals(scroller.scrollLeft, 1000);
assert_equals(scroller.scrollTop, 1000);
}, "mandatory scroll-snap-type should snap as long as the element is visible.");
test(() => {
scroller.style.scrollSnapType = "both proximity";
scroller.scrollTo(0, 0);
assert_equals(scroller.scrollLeft, 0);
assert_equals(scroller.scrollTop, 0);
scroller.scrollTo(visible_x + 10, visible_y + 10);
assert_equals(scroller.scrollLeft, visible_x + 10);
assert_equals(scroller.scrollTop, visible_y + 10);
}, "proximity scroll-snap-type shouldn't snap if the snap position is too far away.");
test(() => {
scroller.style.scrollSnapType = "both proximity";
scroller.scrollTo(0, 0);
assert_equals(scroller.scrollLeft, 0);
assert_equals(scroller.scrollTop, 0);
scroller.scrollTo(995, 995);
assert_equals(scroller.scrollLeft, 1000);
assert_equals(scroller.scrollTop, 1000);
}, "proximity scroll-snap-type should snap if the snap position is close.");
</script>

View file

@ -31,6 +31,13 @@
}); });
} }
function blobToTypeViaFetch(blob) {
var url = URL.createObjectURL(blob);
return fetch(url).then(function(response) {
return response.headers.get('Content-Type');
});
}
function responsePromise(body, responseInit) { function responsePromise(body, responseInit) {
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
resolve(new Response(body, responseInit)); resolve(new Response(body, responseInit));
@ -75,15 +82,18 @@
return response.blob().then(function(bodyAsBlob) { return response.blob().then(function(bodyAsBlob) {
assert_equals(bodyAsBlob.type, expectedType || "text/plain", "Blob body type should be computed from the response Content-Type"); assert_equals(bodyAsBlob.type, expectedType || "text/plain", "Blob body type should be computed from the response Content-Type");
var promise = new Promise( function (resolve, reject) { var promise = blobToTypeViaFetch(bodyAsBlob).then(function(type) {
var reader = new FileReader(); assert_equals(type, expectedType || "text/plain", 'Type via blob URL');
reader.onload = function(evt) { return new Promise( function (resolve, reject) {
resolve(reader.result) var reader = new FileReader();
}; reader.onload = function(evt) {
reader.onerror = function () { resolve(reader.result)
reject("Blob's reader failed"); };
}; reader.onerror = function () {
reader.readAsText(bodyAsBlob); reject("Blob's reader failed");
};
reader.readAsText(bodyAsBlob);
});
}); });
return promise.then(function(body) { return promise.then(function(body) {
assert_equals(body, expectedBody, "Retrieve and verify response's body"); assert_equals(body, expectedBody, "Retrieve and verify response's body");

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://wicg.github.io/geolocation-sensor/"> <link rel="help" href="https://wicg.github.io/geolocation-sensor/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<script> <script>
runGenericSensorTests(GeolocationSensor); runGenericSensorTests(GeolocationSensor);

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://wicg.github.io/geolocation-sensor/"> <link rel="help" href="https://wicg.github.io/geolocation-sensor/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<script> <script>
runGenericSensorInsecureContext("GeolocationSensor"); runGenericSensorInsecureContext("GeolocationSensor");

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://wicg.github.io/geolocation-sensor/"> <link rel="help" href="https://wicg.github.io/geolocation-sensor/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>
<li> <li>

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/gyroscope/"> <link rel="help" href="https://www.w3.org/TR/gyroscope/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<script> <script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/gyroscope/"> <link rel="help" href="https://www.w3.org/TR/gyroscope/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/gyroscope/"> <link rel="help" href="https://www.w3.org/TR/gyroscope/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -0,0 +1,47 @@
function assert_transfer_error(transferList) {
assert_throws("DataCloneError", () => self.postMessage({ get whatever() { throw new Error("You should not have gotten to this point") } }, "*", transferList));
}
test(() => {
[self, self.document, new Image()].forEach(val => {
assert_transfer_error([val]);
});
}, "Cannot transfer all objects");
function transfer_tests(name, create) {
promise_test(async () => {
const transferable = await create();
assert_transfer_error([transferable, transferable]);
}, `Cannot transfer the same ${name} twice`);
promise_test(async () => {
const transferable = await create();
self.postMessage(null, "*", [transferable]);
assert_throws("DataCloneError", () => self.postMessage(null, "*", [transferable]));
}, `Serialize should make the ${name} detached, so it cannot be transferred again`);
promise_test(async () => {
const transferable = await create(),
customError = new Error("hi");
self.postMessage(null, "*", [transferable]);
assert_throws(customError, () => self.postMessage({ get whatever() { throw customError } }, "*", [transferable]));
}, `Serialize should throw before a detached ${name} is found`);
promise_test(async () => {
const transferable = await create();
let seen = false;
const message = {
get a() {
self.postMessage(null, '*', [transferable]);
seen = true;
}
};
assert_throws("DataCloneError", () => self.postMessage(message, "*", [transferable]));
assert_true(seen);
}, `Cannot transfer ${name} detached while the message was serialized`);
}
transfer_tests("ArrayBuffer", () => new ArrayBuffer(1));
transfer_tests("MessagePort", () => new MessageChannel().port1);
transfer_tests("ImageBitmap", () => self.createImageBitmap(document.createElement("canvas")));
transfer_tests("OffscreenCanvas", () => new OffscreenCanvas(1, 1));

View file

@ -1,31 +1,35 @@
// GENERATED CONTENT - DO NOT EDIT
// Content of this file was automatically extracted from the CSS Typed OM spec.
// See https://drafts.css-houdini.org/css-typed-om/
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
interface CSSStyleValue { interface CSSStyleValue {
stringifier; stringifier;
[Exposed=Window] static CSSStyleValue parse(DOMString property, DOMString cssText); [Exposed=Window] static CSSStyleValue parse(USVString property, USVString cssText);
[Exposed=Window] static sequence<CSSStyleValue> parseAll(DOMString property, DOMString cssText); [Exposed=Window] static sequence<CSSStyleValue> parseAll(USVString property, USVString cssText);
}; };
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
interface StylePropertyMapReadOnly { interface StylePropertyMapReadOnly {
iterable<DOMString, sequence<CSSStyleValue>>; iterable<USVString, sequence<CSSStyleValue>>;
any get(DOMString property); any get(USVString property);
/* 'any' means (undefined or CSSStyleValue) here, /* 'any' means (undefined or CSSStyleValue) here,
see https://github.com/heycam/webidl/issues/60 */ see https://github.com/heycam/webidl/issues/60 */
sequence<CSSStyleValue> getAll(DOMString property); sequence<CSSStyleValue> getAll(USVString property);
boolean has(DOMString property); boolean has(USVString property);
readonly attribute long size; readonly attribute unsigned long size;
}; };
[Exposed=Window] [Exposed=Window]
interface StylePropertyMap : StylePropertyMapReadOnly { interface StylePropertyMap : StylePropertyMapReadOnly {
void set(DOMString property, (CSSStyleValue or DOMString)... values); void set(USVString property, (CSSStyleValue or USVString)... values);
void append(DOMString property, (CSSStyleValue or DOMString)... values); void append(USVString property, (CSSStyleValue or USVString)... values);
void delete(DOMString property); void delete(USVString property);
void clear(); void clear();
}; };
partial interface Element { partial interface Element {
StylePropertyMapReadOnly computedStyleMap(); [SameObject] StylePropertyMapReadOnly computedStyleMap();
}; };
partial interface CSSStyleRule { partial interface CSSStyleRule {
@ -45,19 +49,19 @@ interface CSSUnparsedValue : CSSStyleValue {
setter CSSUnparsedSegment (unsigned long index, CSSUnparsedSegment val); setter CSSUnparsedSegment (unsigned long index, CSSUnparsedSegment val);
}; };
typedef (DOMString or CSSVariableReferenceValue) CSSUnparsedSegment; typedef (USVString or CSSVariableReferenceValue) CSSUnparsedSegment;
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet), [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet),
Constructor(DOMString variable, optional CSSUnparsedValue? fallback = null)] Constructor(USVString variable, optional CSSUnparsedValue? fallback = null)]
interface CSSVariableReferenceValue { interface CSSVariableReferenceValue {
attribute DOMString variable; attribute USVString variable;
readonly attribute CSSUnparsedValue? fallback; readonly attribute CSSUnparsedValue? fallback;
}; };
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet), [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet),
Constructor(DOMString value)] Constructor(USVString value)]
interface CSSKeywordValue : CSSStyleValue { interface CSSKeywordValue : CSSStyleValue {
attribute DOMString value; attribute USVString value;
}; };
typedef (double or CSSNumericValue) CSSNumberish; typedef (double or CSSNumericValue) CSSNumberish;
@ -94,18 +98,18 @@ interface CSSNumericValue : CSSStyleValue {
boolean equals(CSSNumberish... value); boolean equals(CSSNumberish... value);
CSSUnitValue to(DOMString unit); CSSUnitValue to(USVString unit);
CSSMathSum toSum(DOMString... units); CSSMathSum toSum(USVString... units);
CSSNumericType type(); CSSNumericType type();
[Exposed=Window] static CSSNumericValue parse(DOMString cssText); [Exposed=Window] static CSSNumericValue parse(USVString cssText);
}; };
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet), [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet),
Constructor(double value, DOMString unit)] Constructor(double value, USVString unit)]
interface CSSUnitValue : CSSNumericValue { interface CSSUnitValue : CSSNumericValue {
attribute double value; attribute double value;
readonly attribute DOMString unit; readonly attribute USVString unit;
}; };
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]

View file

@ -1,8 +1,11 @@
// GENERATED CONTENT - DO NOT EDIT
// Content of this file was automatically extracted from the Payment Request API spec.
// See https://w3c.github.io/payment-request/
[Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details, optional PaymentOptions options), [Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details, optional PaymentOptions options),
SecureContext, SecureContext, Exposed=Window]
Exposed=Window]
interface PaymentRequest : EventTarget { interface PaymentRequest : EventTarget {
Promise<PaymentResponse> show(); Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
Promise<void> abort(); Promise<void> abort();
Promise<boolean> canMakePayment(); Promise<boolean> canMakePayment();
@ -15,40 +18,48 @@ interface PaymentRequest : EventTarget {
attribute EventHandler onshippingoptionchange; attribute EventHandler onshippingoptionchange;
}; };
dictionary PaymentMethodData { dictionary PaymentMethodData {
required DOMString supportedMethods; required DOMString supportedMethods;
object data; object data;
}; };
dictionary PaymentCurrencyAmount { dictionary PaymentCurrencyAmount {
required DOMString currency; required DOMString currency;
required DOMString value; required DOMString value;
// Note: currencySystem is "at risk" of being removed! // Note: currencySystem is "at risk" of being removed!
DOMString currencySystem = "urn:iso:std:iso:4217"; DOMString currencySystem = "urn:iso:std:iso:4217";
}; };
dictionary PaymentDetailsBase { dictionary PaymentDetailsBase {
sequence<PaymentItem> displayItems; sequence<PaymentItem> displayItems;
sequence<PaymentShippingOption> shippingOptions; sequence<PaymentShippingOption> shippingOptions;
sequence<PaymentDetailsModifier> modifiers; sequence<PaymentDetailsModifier> modifiers;
}; };
dictionary PaymentDetailsInit : PaymentDetailsBase { dictionary PaymentDetailsInit : PaymentDetailsBase {
DOMString id; DOMString id;
required PaymentItem total; required PaymentItem total;
}; };
dictionary PaymentDetailsUpdate : PaymentDetailsBase { dictionary PaymentDetailsUpdate : PaymentDetailsBase {
DOMString error; DOMString error;
PaymentItem total; PaymentItem total;
}; };
dictionary PaymentDetailsModifier { dictionary PaymentDetailsModifier {
required DOMString supportedMethods; required DOMString supportedMethods;
PaymentItem total; PaymentItem total;
sequence<PaymentItem> additionalDisplayItems; sequence<PaymentItem> additionalDisplayItems;
object data; object data;
}; };
enum PaymentShippingType { enum PaymentShippingType {
"shipping", "shipping",
"delivery", "delivery",
"pickup" "pickup"
}; };
dictionary PaymentOptions { dictionary PaymentOptions {
boolean requestPayerName = false; boolean requestPayerName = false;
boolean requestPayerEmail = false; boolean requestPayerEmail = false;
@ -56,19 +67,25 @@ dictionary PaymentOptions {
boolean requestShipping = false; boolean requestShipping = false;
PaymentShippingType shippingType = "shipping"; PaymentShippingType shippingType = "shipping";
}; };
dictionary PaymentItem { dictionary PaymentItem {
required DOMString label; required DOMString label;
required PaymentCurrencyAmount amount; required PaymentCurrencyAmount amount;
boolean pending = false; boolean pending = false;
// Note: type member is "at risk" of being removed!
PaymentItemType type;
}; };
[SecureContext,
Exposed=Window] enum PaymentItemType {
"tax"
};
[SecureContext, Exposed=Window]
interface PaymentAddress { interface PaymentAddress {
[Default] object toJSON(); [Default] object toJSON();
readonly attribute DOMString country; readonly attribute DOMString country;
readonly attribute FrozenArray<DOMString> addressLine; readonly attribute FrozenArray<DOMString> addressLine;
readonly attribute DOMString region; readonly attribute DOMString region;
readonly attribute DOMString regionCode;
readonly attribute DOMString city; readonly attribute DOMString city;
readonly attribute DOMString dependentLocality; readonly attribute DOMString dependentLocality;
readonly attribute DOMString postalCode; readonly attribute DOMString postalCode;
@ -78,19 +95,21 @@ interface PaymentAddress {
readonly attribute DOMString recipient; readonly attribute DOMString recipient;
readonly attribute DOMString phone; readonly attribute DOMString phone;
}; };
dictionary PaymentShippingOption { dictionary PaymentShippingOption {
required DOMString id; required DOMString id;
required DOMString label; required DOMString label;
required PaymentCurrencyAmount amount; required PaymentCurrencyAmount amount;
boolean selected = false; boolean selected = false;
}; };
enum PaymentComplete { enum PaymentComplete {
"fail", "fail",
"success", "success",
"unknown" "unknown"
}; };
[SecureContext,
Exposed=Window] [SecureContext, Exposed=Window]
interface PaymentResponse { interface PaymentResponse {
[Default] object toJSON(); [Default] object toJSON();
@ -105,11 +124,10 @@ interface PaymentResponse {
Promise<void> complete(optional PaymentComplete result = "unknown"); Promise<void> complete(optional PaymentComplete result = "unknown");
}; };
[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict),
SecureContext, [Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict), SecureContext, Exposed=Window]
Exposed=Window]
interface PaymentRequestUpdateEvent : Event { interface PaymentRequestUpdateEvent : Event {
void updateWith(Promise<PaymentDetailsUpdate> detailsPromise); void updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
}; };
dictionary PaymentRequestUpdateEventInit : EventInit {
}; dictionary PaymentRequestUpdateEventInit : EventInit {};

View file

@ -1,3 +1,7 @@
// GENERATED CONTENT - DO NOT EDIT
// Content of this file was automatically extracted from the Storage spec.
// See https://storage.spec.whatwg.org/
[SecureContext] [SecureContext]
interface mixin NavigatorStorage { interface mixin NavigatorStorage {
readonly attribute StorageManager storage; readonly attribute StorageManager storage;

View file

@ -0,0 +1,39 @@
// GENERATED CONTENT - DO NOT EDIT
// Content of this file was automatically extracted from the WebVTT spec.
// See https://w3c.github.io/webvtt/
enum AutoKeyword { "auto" };
typedef (double or AutoKeyword) LineAndPositionSetting;
enum DirectionSetting { "" /* horizontal */, "rl", "lr" };
enum LineAlignSetting { "start", "center", "end" };
enum PositionAlignSetting { "line-left", "center", "line-right", "auto" };
enum AlignSetting { "start", "center", "end", "left", "right" };
[Exposed=Window,
Constructor(double startTime, double endTime, DOMString text)]
interface VTTCue : TextTrackCue {
attribute VTTRegion? region;
attribute DirectionSetting vertical;
attribute boolean snapToLines;
attribute LineAndPositionSetting line;
attribute LineAlignSetting lineAlign;
attribute LineAndPositionSetting position;
attribute PositionAlignSetting positionAlign;
attribute double size;
attribute AlignSetting align;
attribute DOMString text;
DocumentFragment getCueAsHTML();
};
enum ScrollSetting { "" /* none */, "up" };
[Exposed=Window,
Constructor]
interface VTTRegion {
attribute DOMString id;
attribute double width;
attribute unsigned long lines;
attribute double regionAnchorX;
attribute double regionAnchorY;
attribute double viewportAnchorX;
attribute double viewportAnchorY;
attribute ScrollSetting scroll;
};

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/magnetometer/"> <link rel="help" href="https://www.w3.org/TR/magnetometer/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<script> <script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/magnetometer/"> <link rel="help" href="https://www.w3.org/TR/magnetometer/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/magnetometer/"> <link rel="help" href="https://www.w3.org/TR/magnetometer/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -6,7 +6,7 @@
<link rel="help" href="https://w3c.github.io/sensors/"> <link rel="help" href="https://w3c.github.io/sensors/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<script> <script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://w3c.github.io/sensors/"> <link rel="help" href="https://w3c.github.io/sensors/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Note:</h2> <h2>Note:</h2>
<ol> <ol>

View file

@ -6,7 +6,7 @@
<link rel="help" href="https://w3c.github.io/sensors/"> <link rel="help" href="https://w3c.github.io/sensors/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script> <script src="/feature-policy/resources/featurepolicy.js"></script>
<script src="/sensors/generic-sensor-feature-policy-test.sub.js"></script> <script src="/generic-sensor/generic-sensor-feature-policy-test.sub.js"></script>
<script> <script>
"use strict"; "use strict";

View file

@ -0,0 +1,40 @@
<h1>This iframe calls shows() via postMessage()</h1>
<script>
"use strict";
const defaultMethods = Object.freeze([
{ supportedMethods: "basic-card" },
{ supportedMethods: "https://apple.com/pay" },
]);
const defaultDetails = Object.freeze({
id: "fail",
total: {
label: "Total",
amount: {
currency: "USD",
value: "1.00",
},
},
});
// We are going to use the id to prove that this works
// which we will pass back to the caller
window.onmessage = async event => {
const { source, data: { id, request } } = event;
switch (request) {
case "show-payment-request": {
const details = Object.assign({}, defaultDetails, { id });
const request = new PaymentRequest(defaultMethods, details);
try {
const response = await request.show();
source.postMessage(response.toJSON(), window.location.origin);
await response.complete();
} catch (err) {
source.postMessage({ requestId: "fail" }, window.location.origin);
await request.abort();
}
}
}
};
</script>

View file

@ -0,0 +1,51 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Test for PaymentRequest.show() method</title>
<link rel="help" href="https://w3c.github.io/browser-payment-api/#show-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
"use strict";
setup({
explicit_done: true,
explicit_timeout: true,
});
async function runUserActivation(button) {
button.disabled = true;
const { contentWindow: iframeWindow } = document.getElementById("iframe");
const expectedId = "pass123";
await Promise.resolve(); // next tick
const promiseForResponse = new Promise(resolve => {
window.onmessage = ({ data: { requestId } }) => resolve(requestId);
});
const ops = { id: expectedId, request: "show-payment-request" };
iframeWindow.postMessage(ops, window.location.origin);
promise_test(async () => {
const actualId = await promiseForResponse;
assert_equals(actualId, expectedId, "ids must match");
}, button.textContent.trim());
done();
}
</script>
<h2>Test PaymentRequest.show() triggered by user activation using postMessage()</h2>
<p>
Tests that user activation works over postMessage().
</p>
<p>
Click on bottom below. Hit "Pay".
</p>
<ol>
<li>
<button onclick="runUserActivation(this)">
show() is triggered by user activation passed through postMessage() and a promise
</button>
</li>
</ol>
<iframe width="100%" id="iframe" src="show-method-postmessage-iframe.html" allowpaymentrequest></iframe>
<p>
<small>
If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a>
and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>.
</small>
</p>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://w3c.github.io/proximity/"> <link rel="help" href="https://w3c.github.io/proximity/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<script> <script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://w3c.github.io/proximity/"> <link rel="help" href="https://w3c.github.io/proximity/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://w3c.github.io/proximity/"> <link rel="help" href="https://w3c.github.io/proximity/">
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script> <script src="/resources/testharnessreport.js"></script>
<script src="/sensors/generic-sensor-tests.js"></script> <script src="/generic-sensor/generic-sensor-tests.js"></script>
<div id="log"></div> <div id="log"></div>
<h2>Precondition</h2> <h2>Precondition</h2>
<ol> <ol>

View file

@ -0,0 +1,47 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>This test validates resource timing information for a timing allowed cross-origin redirect chain.</title>
<link rel="author" title="Intel" href="http://www.intel.com/" />
<link rel="help" href="http://www.w3.org/TR/resource-timing/#performanceresourcetiming"/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/webperftestharness.js"></script>
<script src="resources/webperftestharnessextension.js"></script>
<script>
setup({explicit_done: true});
test_namespace('getEntriesByName');
const pageOrigin = document.location.host;
const crossOrigin = 'www.' + pageOrigin;
function onload_test()
{
const context = new PerformanceContext(performance);
const entries = context.getEntriesByName(document.getElementById('frameContext').src, 'resource');
test_equals(entries.length, 1, 'There should be one entry.');
const entry = entries[0];
test_greater_than(entry.redirectStart, 0, 'redirectStart > 0 in timing allowed cross-origin redirect.');
test_equals(entry.redirectStart, entry.startTime, 'redirectStart == startTime in timing allowed cross-origin redirect.');
test_greater_than(entry.redirectEnd, entry.redirectStart, 'redirectEnd > redirectStart in timing allowed cross-origin redirect.');
test_greater_or_equals(entry.fetchStart, entry.redirectEnd, 'fetchStart >= redirectEnd in timing allowed cross-origin redirect.');
done();
}
</script>
</head>
<body>
<iframe id="frameContext" src="" style="width: 250px; height: 250px;"></iframe>
<script>
let destUrl = 'http://' + crossOrigin + '/resource-timing/resources/multi_redirect.py?';
destUrl += 'page_origin=' + 'http://' + pageOrigin;
destUrl += '&cross_origin=' + 'http://' + crossOrigin;
destUrl += '&timing_allow=1';
const frameContext = document.getElementById('frameContext');
frameContext.onload = onload_test;
frameContext.src = destUrl;
</script>
</body>
</html>

View file

@ -0,0 +1,46 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>This test validates resource timing information for a cross-origin redirect chain.</title>
<link rel="author" title="Intel" href="http://www.intel.com/" />
<link rel="help" href="http://www.w3.org/TR/resource-timing/#performanceresourcetiming"/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/webperftestharness.js"></script>
<script src="resources/webperftestharnessextension.js"></script>
<script>
setup({explicit_done: true});
test_namespace('getEntriesByName');
const pageOrigin = document.location.host;
const crossOrigin = 'www.' + pageOrigin;
function onload_test()
{
const context = new PerformanceContext(performance);
const entries = context.getEntriesByName(document.getElementById('frameContext').src, 'resource');
test_equals(entries.length, 1, 'There should be one entry.');
const entry = entries[0];
test_equals(entry.redirectStart, 0, 'redirectStart == 0 in cross-origin redirect.');
test_equals(entry.redirectEnd, 0, 'redirectEnd == 0 in cross-origin redirect.');
test_greater_than(entry.fetchStart, 0, 'fetchStart > 0 in cross-origin redirect.');
test_equals(entry.startTime, entry.fetchStart, 'startTime == fetchStart in cross-origin redirect.');
done();
}
</script>
</head>
<body>
<iframe id="frameContext" src="" style="width: 250px; height: 250px;"></iframe>
<script>
let destUrl = 'http://' + crossOrigin + '/resource-timing/resources/multi_redirect.py?';
destUrl += 'page_origin=' + 'http://' + pageOrigin;
destUrl += '&cross_origin=' + 'http://' + crossOrigin;
const frameContext = document.getElementById('frameContext');
frameContext.onload = onload_test;
frameContext.src = destUrl;
</script>
</body>
</html>

View file

@ -0,0 +1,40 @@
def main(request, response):
"""Handler that causes multiple redirections.
The request has two mandatory and one optional query parameters:
page_origin - The page origin, used for redirection and to set TAO. This is a mandatory parameter.
cross_origin - The cross origin used to make this a cross-origin redirect. This is a mandatory parameter.
timing_allow - Whether TAO should be set or not in the redirect chain. This is an optional parameter. Default: not set.
Note that |step| is a parameter used internally for the multi-redirect. It's the step we're at in the redirect chain.
"""
step = 1
if "step" in request.GET:
try:
step = int(request.GET.first("step"))
except ValueError:
pass
page_origin = request.GET.first("page_origin")
cross_origin = request.GET.first("cross_origin")
timing_allow = "0"
if "timing_allow" in request.GET:
timing_allow = request.GET.first("timing_allow")
redirect_url = "/resource-timing/resources/multi_redirect.py?"
redirect_url += "page_origin=" + page_origin
redirect_url += "&cross_origin=" + cross_origin
redirect_url += "&timing_allow=" + timing_allow
redirect_url += "&step="
if step == 1:
redirect_url = cross_origin + redirect_url + "2"
if timing_allow != "0":
response.headers.set("timing-allow-origin", page_origin)
elif step == 2:
redirect_url = page_origin + redirect_url + "3"
if timing_allow != "0":
response.headers.set("timing-allow-origin", page_origin)
else:
redirect_url = page_origin + "/resource-timing/resources/blank_page_green.htm"
response.status = 302
response.headers.set("Location", redirect_url)

View file

@ -1,4 +1,6 @@
[tox] [tox]
# wptserve etc. are Python2-only.
envlist = py27
skipsdist=True skipsdist=True
[testenv] [testenv]
@ -9,5 +11,6 @@ deps =
pytest>=2.9 pytest>=2.9
pyvirtualdisplay pyvirtualdisplay
selenium selenium
requests
commands = pytest {posargs} -vv tests commands = pytest {posargs} -vv tests

View file

@ -0,0 +1,46 @@
<!doctype HTML>
<link rel="help" href="https://svgwg.org/svg2-draft/single-page.html#embedded-ForeignObjectElement"/>
<style>
* {
margin: 5px;
}
.el {
background: lightblue;
width: 50px;
height: 60px;
}
.pos {
top: 5px;
left: 6px;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<svg>
<foreignObject id="first" width=100 height=100>
<div id=contained class="el" style="width: 50px; height: 60px;"></div>
<div id=containedrel class="el pos" style="position: relative"></div>
<div id=containedabs class="el pos" style="position: absolute"></div>
<div id=containedfixed class="el pos" style="position: fixed"></div>
</foreignObject>
</svg>
<script>
function checkPosition(el, offsetLeftVal, offsetTopVal, boundingRectLeft, boundingRectTop) {
assert_equals(el.offsetLeft, offsetLeftVal, "offsetLeft");
assert_equals(el.offsetTop, offsetTopVal, "offsetTop");
assert_equals(el.getBoundingClientRect().left, boundingRectLeft, "boundingRectLeft");
assert_equals(el.getBoundingClientRect().top, boundingRectTop, "boundingRectTop");
}
test(function() {
// Test that #first is a containing block for all descendants.
var contained = document.getElementById('contained');
var containedrel = document.getElementById('containedrel');
var containedabs = document.getElementById('containedabs');
var containedfixed = document.getElementById('containedfixed');
checkPosition(contained, 5, 5, 20, 20);
checkPosition(containedrel, 11, 75, 26, 90);
checkPosition(containedabs, 11, 10, 26, 25);
checkPosition(containedfixed, 11, 10, 26, 25);
}, "position");
</script>

View file

@ -0,0 +1,18 @@
<!doctype HTML>
<style>
* {
margin: 0;
}
.el {
width: 50px;
height: 60px;
}
</style>
<div style="isolation: isolate">
<div class="el"
style="position: absolute; z-index: 1; top: 40px; left: 10px; border: 1px solid black; background: lightblue"></div>
<div class="el"
style="position: absolute; z-index: 2; top: 5px; left: 5px; border: 1px solid black; background: lightgreen"></div>
</div>
<div id=top class="el" style="position: relative; background: lightgray; top: 50px"></div>

View file

@ -0,0 +1,26 @@
<!doctype HTML>
<title>Test that the foreignObject element is a stacking context</title>
<link rel="match" href="stacking-context-expected.html">
<link rel="help" href="https://svgwg.org/svg2-draft/single-page.html#embedded-ForeignObjectElement"/>
<style>
* {
margin: 0;
}
.el {
width: 50px;
height: 60px;
}
</style>
<!-- Test that the <foreignObject> root element is a stacking context, so z-index here
has no effect on order w.r.t. #top, but still does for stacking under
foreignObject -->
<svg style="width: 50px; height: 50px; overflow: visible; display: block">
<foreignObject width=100 height=200>
<div class="el"
style="position: absolute; z-index: 1; top: 40px; left: 10px; border: 1px solid black; background: lightblue"></div>
<div class="el"
style="position: absolute; z-index: 2; top: 5px; left: 5px; border: 1px solid black; background: lightgreen"></div>
</foreignObject>
</svg>
<div id=top class="el" style="position: relative; background: lightgray"></div>

View file

@ -8,13 +8,12 @@ cd $WPT_ROOT
main() { main() {
cd $WPT_ROOT cd $WPT_ROOT
pip install -U tox pip install -U tox
pip install --requirement tools/wpt/requirements.txt
./wpt install firefox browser --destination $HOME ./wpt install firefox browser --destination $HOME
./wpt install firefox webdriver --destination $HOME/firefox ./wpt install firefox webdriver --destination $HOME/firefox
export PATH=$HOME/firefox:$PATH export PATH=$HOME/firefox:$PATH
cd $WPT_ROOT/resources/test cd $WPT_ROOT/resources/test
tox tox -- --binary=$HOME/browsers/firefox/firefox
} }
main main

View file

@ -162,4 +162,22 @@
}); });
}, 'insertDTMF() should set toneBuffer to provided tones normalized, with old tones overridden'); }, 'insertDTMF() should set toneBuffer to provided tones normalized, with old tones overridden');
promise_test(t => {
let dtmfSender;
let sender;
let pc = new RTCPeerConnection();
return getTrackFromUserMedia('audio')
.then(([track, mediaStream]) => {
sender = pc.addTrack(track, mediaStream);
return pc.createOffer();
}).then(offer => {
pc.setLocalDescription(offer);
dtmfSender = sender.dtmf;
pc.removeTrack(sender);
pc.close();
assert_throws('InvalidStateError', () =>
dtmfSender.insertDTMF('123'));
});
}, 'insertDTMF() after remove and close should reject');
</script> </script>

View file

@ -116,53 +116,23 @@ dictionary GetRootNodeOptions {
}; };
</script> </script>
<script type=text/plain id=tested>
enum AutoKeyword { "auto" };
typedef (double or AutoKeyword) LineAndPositionSetting;
enum DirectionSetting { "" /* horizontal */, "rl", "lr" };
enum LineAlignSetting { "start", "center", "end" };
enum PositionAlignSetting { "line-left", "center", "line-right", "auto" };
enum AlignSetting { "start", "center", "end", "left", "right" };
[Exposed=Window,
Constructor(double startTime, double endTime, DOMString text)]
interface VTTCue : TextTrackCue {
attribute VTTRegion? region;
attribute DirectionSetting vertical;
attribute boolean snapToLines;
attribute LineAndPositionSetting line;
attribute LineAlignSetting lineAlign;
attribute LineAndPositionSetting position;
attribute PositionAlignSetting positionAlign;
attribute double size;
attribute AlignSetting align;
attribute DOMString text;
DocumentFragment getCueAsHTML();
};
enum ScrollSetting { "" /* none */, "up" };
[Exposed=Window,
Constructor]
interface VTTRegion {
attribute DOMString id;
attribute double width;
attribute long lines;
attribute double regionAnchorX;
attribute double regionAnchorY;
attribute double viewportAnchorX;
attribute double viewportAnchorY;
attribute ScrollSetting scroll;
};
</script>
<script> <script>
"use strict"; "use strict";
setup(function() {
// https://w3c.github.io/webvtt/
promise_test(async () => {
const webvttIDL = await fetch('/interfaces/webvtt.idl').then(response =>
response.text(),
);
var idlArray = new IdlArray(); var idlArray = new IdlArray();
idlArray.add_untested_idls(document.getElementById("untested").textContent); idlArray.add_untested_idls(document.getElementById('untested').textContent);
idlArray.add_idls(document.getElementById("tested").textContent); idlArray.add_idls(webvttIDL);
idlArray.add_objects({ idlArray.add_objects({
VTTCue: ['new VTTCue(0, 0, "")'], VTTCue: ['new VTTCue(0, 0, "")'],
VTTRegion: ['new VTTRegion()'], VTTRegion: ['new VTTRegion()'],
}); });
idlArray.test(); idlArray.test();
}); done();
}, 'webvtt interfaces.');
</script> </script>