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

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/accelerometer/">
<script src="/resources/testharness.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>
<script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/accelerometer/">
<script src="/resources/testharness.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>
<h2>Note:</h2>
<ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/accelerometer/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<ol>

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/ambient-light/">
<script src="/resources/testharness.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>
<script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/ambient-light/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/ambient-light/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<ol>

View file

@ -1,10 +1,14 @@
var TestingUtils = (function() {
function checkGridTemplateColumns(element, value) {
if (!Array.isArray(value))
value = new Array(value);
assert_in_array(getComputedStyle(element).gridTemplateColumns, value, "gridTemplateColumns");
}
function checkGridTemplateRows(element, value) {
if (!Array.isArray(value))
value = new Array(value);
assert_in_array(getComputedStyle(element).gridTemplateRows, value, "gridTemplateRows");
}
@ -19,6 +23,8 @@ var TestingUtils = (function() {
}
function checkGridTemplateAreas(element, value) {
if (!Array.isArray(value))
value = new Array(value);
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) {
return new Promise(function(resolve, reject) {
resolve(new Response(body, responseInit));
@ -75,15 +82,18 @@
return response.blob().then(function(bodyAsBlob) {
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 reader = new FileReader();
reader.onload = function(evt) {
resolve(reader.result)
};
reader.onerror = function () {
reject("Blob's reader failed");
};
reader.readAsText(bodyAsBlob);
var promise = blobToTypeViaFetch(bodyAsBlob).then(function(type) {
assert_equals(type, expectedType || "text/plain", 'Type via blob URL');
return new Promise( function (resolve, reject) {
var reader = new FileReader();
reader.onload = function(evt) {
resolve(reader.result)
};
reader.onerror = function () {
reject("Blob's reader failed");
};
reader.readAsText(bodyAsBlob);
});
});
return promise.then(function(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/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://wicg.github.io/geolocation-sensor/">
<script src="/resources/testharness.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>
runGenericSensorTests(GeolocationSensor);

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://wicg.github.io/geolocation-sensor/">
<script src="/resources/testharness.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>
runGenericSensorInsecureContext("GeolocationSensor");

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://wicg.github.io/geolocation-sensor/">
<script src="/resources/testharness.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>
<ol>
<li>

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/gyroscope/">
<script src="/resources/testharness.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>
<script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/gyroscope/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/gyroscope/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<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)]
interface CSSStyleValue {
stringifier;
[Exposed=Window] static CSSStyleValue parse(DOMString property, DOMString cssText);
[Exposed=Window] static sequence<CSSStyleValue> parseAll(DOMString property, DOMString cssText);
[Exposed=Window] static CSSStyleValue parse(USVString property, USVString cssText);
[Exposed=Window] static sequence<CSSStyleValue> parseAll(USVString property, USVString cssText);
};
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]
interface StylePropertyMapReadOnly {
iterable<DOMString, sequence<CSSStyleValue>>;
any get(DOMString property);
iterable<USVString, sequence<CSSStyleValue>>;
any get(USVString property);
/* 'any' means (undefined or CSSStyleValue) here,
see https://github.com/heycam/webidl/issues/60 */
sequence<CSSStyleValue> getAll(DOMString property);
boolean has(DOMString property);
readonly attribute long size;
sequence<CSSStyleValue> getAll(USVString property);
boolean has(USVString property);
readonly attribute unsigned long size;
};
[Exposed=Window]
interface StylePropertyMap : StylePropertyMapReadOnly {
void set(DOMString property, (CSSStyleValue or DOMString)... values);
void append(DOMString property, (CSSStyleValue or DOMString)... values);
void delete(DOMString property);
void set(USVString property, (CSSStyleValue or USVString)... values);
void append(USVString property, (CSSStyleValue or USVString)... values);
void delete(USVString property);
void clear();
};
partial interface Element {
StylePropertyMapReadOnly computedStyleMap();
[SameObject] StylePropertyMapReadOnly computedStyleMap();
};
partial interface CSSStyleRule {
@ -45,19 +49,19 @@ interface CSSUnparsedValue : CSSStyleValue {
setter CSSUnparsedSegment (unsigned long index, CSSUnparsedSegment val);
};
typedef (DOMString or CSSVariableReferenceValue) CSSUnparsedSegment;
typedef (USVString or CSSVariableReferenceValue) CSSUnparsedSegment;
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet),
Constructor(DOMString variable, optional CSSUnparsedValue? fallback = null)]
Constructor(USVString variable, optional CSSUnparsedValue? fallback = null)]
interface CSSVariableReferenceValue {
attribute DOMString variable;
attribute USVString variable;
readonly attribute CSSUnparsedValue? fallback;
};
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet),
Constructor(DOMString value)]
Constructor(USVString value)]
interface CSSKeywordValue : CSSStyleValue {
attribute DOMString value;
attribute USVString value;
};
typedef (double or CSSNumericValue) CSSNumberish;
@ -94,18 +98,18 @@ interface CSSNumericValue : CSSStyleValue {
boolean equals(CSSNumberish... value);
CSSUnitValue to(DOMString unit);
CSSMathSum toSum(DOMString... units);
CSSUnitValue to(USVString unit);
CSSMathSum toSum(USVString... units);
CSSNumericType type();
[Exposed=Window] static CSSNumericValue parse(DOMString cssText);
[Exposed=Window] static CSSNumericValue parse(USVString cssText);
};
[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet),
Constructor(double value, DOMString unit)]
Constructor(double value, USVString unit)]
interface CSSUnitValue : CSSNumericValue {
attribute double value;
readonly attribute DOMString unit;
readonly attribute USVString unit;
};
[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),
SecureContext,
Exposed=Window]
SecureContext, Exposed=Window]
interface PaymentRequest : EventTarget {
Promise<PaymentResponse> show();
Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
Promise<void> abort();
Promise<boolean> canMakePayment();
@ -15,40 +18,48 @@ interface PaymentRequest : EventTarget {
attribute EventHandler onshippingoptionchange;
};
dictionary PaymentMethodData {
required DOMString supportedMethods;
object data;
};
dictionary PaymentCurrencyAmount {
required DOMString currency;
required DOMString value;
// Note: currencySystem is "at risk" of being removed!
DOMString currencySystem = "urn:iso:std:iso:4217";
};
dictionary PaymentDetailsBase {
sequence<PaymentItem> displayItems;
sequence<PaymentShippingOption> shippingOptions;
sequence<PaymentDetailsModifier> modifiers;
};
dictionary PaymentDetailsInit : PaymentDetailsBase {
DOMString id;
required PaymentItem total;
};
dictionary PaymentDetailsUpdate : PaymentDetailsBase {
DOMString error;
PaymentItem total;
};
dictionary PaymentDetailsModifier {
required DOMString supportedMethods;
PaymentItem total;
sequence<PaymentItem> additionalDisplayItems;
object data;
};
enum PaymentShippingType {
"shipping",
"delivery",
"pickup"
};
dictionary PaymentOptions {
boolean requestPayerName = false;
boolean requestPayerEmail = false;
@ -56,19 +67,25 @@ dictionary PaymentOptions {
boolean requestShipping = false;
PaymentShippingType shippingType = "shipping";
};
dictionary PaymentItem {
required DOMString label;
required PaymentCurrencyAmount amount;
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 {
[Default] object toJSON();
readonly attribute DOMString country;
readonly attribute FrozenArray<DOMString> addressLine;
readonly attribute DOMString region;
readonly attribute DOMString regionCode;
readonly attribute DOMString city;
readonly attribute DOMString dependentLocality;
readonly attribute DOMString postalCode;
@ -78,19 +95,21 @@ interface PaymentAddress {
readonly attribute DOMString recipient;
readonly attribute DOMString phone;
};
dictionary PaymentShippingOption {
required DOMString id;
required DOMString label;
required PaymentCurrencyAmount amount;
boolean selected = false;
};
enum PaymentComplete {
"fail",
"success",
"unknown"
};
[SecureContext,
Exposed=Window]
[SecureContext, Exposed=Window]
interface PaymentResponse {
[Default] object toJSON();
@ -105,11 +124,10 @@ interface PaymentResponse {
Promise<void> complete(optional PaymentComplete result = "unknown");
};
[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict),
SecureContext,
Exposed=Window]
[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict), SecureContext, Exposed=Window]
interface PaymentRequestUpdateEvent : Event {
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]
interface mixin NavigatorStorage {
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/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/magnetometer/">
<script src="/resources/testharness.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>
<script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/magnetometer/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://www.w3.org/TR/magnetometer/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<ol>

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -6,7 +6,7 @@
<link rel="help" href="https://w3c.github.io/sensors/">
<script src="/resources/testharness.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>
<script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://w3c.github.io/sensors/">
<script src="/resources/testharness.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>
<h2>Note:</h2>
<ol>

View file

@ -6,7 +6,7 @@
<link rel="help" href="https://w3c.github.io/sensors/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<ol>

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"use strict";

View file

@ -4,7 +4,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
"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/">
<script src="/resources/testharness.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>
<script>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://w3c.github.io/proximity/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<ol>

View file

@ -5,7 +5,7 @@
<link rel="help" href="https://w3c.github.io/proximity/">
<script src="/resources/testharness.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>
<h2>Precondition</h2>
<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]
# wptserve etc. are Python2-only.
envlist = py27
skipsdist=True
[testenv]
@ -9,5 +11,6 @@ deps =
pytest>=2.9
pyvirtualdisplay
selenium
requests
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() {
cd $WPT_ROOT
pip install -U tox
pip install --requirement tools/wpt/requirements.txt
./wpt install firefox browser --destination $HOME
./wpt install firefox webdriver --destination $HOME/firefox
export PATH=$HOME/firefox:$PATH
cd $WPT_ROOT/resources/test
tox
tox -- --binary=$HOME/browsers/firefox/firefox
}
main

View file

@ -162,4 +162,22 @@
});
}, '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>

View file

@ -116,53 +116,23 @@ dictionary GetRootNodeOptions {
};
</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>
"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();
idlArray.add_untested_idls(document.getElementById("untested").textContent);
idlArray.add_idls(document.getElementById("tested").textContent);
idlArray.add_untested_idls(document.getElementById('untested').textContent);
idlArray.add_idls(webvttIDL);
idlArray.add_objects({
VTTCue: ['new VTTCue(0, 0, "")'],
VTTRegion: ['new VTTRegion()'],
});
idlArray.test();
});
done();
}, 'webvtt interfaces.');
</script>