Update web-platform-tests to revision 6a665f63ae39b552f60b971f11c34b215861fcb3

This commit is contained in:
WPT Sync Bot 2020-03-19 08:20:52 +00:00 committed by Josh Matthews
parent 2b0a48f291
commit ee944e769d
119 changed files with 4924 additions and 556 deletions

View file

@ -0,0 +1,262 @@
[transform-interpolation-computed-value.html]
[Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translate3d(0,0,-50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleY(1) and scaleY(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale3d(4, 5, 6) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateX(50px) and translateY(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale(4, 5) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(180deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1, 2) and scale(3, 4) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleZ(1) and scaleZ(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scaleZ(1) and scale(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateZ(-50px) and translateZ(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(3) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateZ(50px) and translateX(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1, 2) and scale(3, 4) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateZ(50px) and translateX(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleZ(1) and scaleZ(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleX(1) and scaleX(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale3d(4, 5, 6) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleZ(1) and scale(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(0%) and translateX(50%) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(50px) and translateY(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateX(0px) and translateX(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scaleX(1) and scaleX(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateX(50px) and translateZ(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateY(0%) and translateX(50%) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scale(1, 2) and scale3d(3, 4, 5) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(0%) and translateX(50%) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1) and scale(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateZ(-50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleX(1) and scaleX(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleZ(1) and scaleZ(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale3d(4, 5, 6) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateX(50px) and translateY(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateX(0px) and translateX(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleY(1) and scaleY(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateX(50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale(4, 5) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(180deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateY(0%) and translateX(50%) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scale(1) and scale(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scale(1, 2) and scale3d(3, 4, 5) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateZ(-50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateY(0%) and translateX(50%) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1) and scale(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translate3d(0,0,-50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(3) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(180deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateZ(50px) and translateX(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translate3d(0,0,-50px) and translateZ(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1, 2) and scale(3, 4) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale(4, 5) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scale(1, 2) and scale3d(3, 4, 5) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(3) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(0px) and translateX(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleY(1) and scaleY(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(0%) and translateX(50%) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleZ(1) and scale(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL

View file

@ -240978,7 +240978,7 @@
[]
],
"generate.py": [
"75b7c1da5ac19288d25e2664b764b5cc631506d8",
"7710a824b2dc19bd76203f4d64ef7b329fd1ca35",
[]
],
"spec.src.json": [
@ -240999,11 +240999,11 @@
[]
],
"test.debug.html.template": [
"7650f02c2862a4923c29b39eae9b7c7d6709f250",
"b6be088f6112a040ad84d2b5c176373180111d62",
[]
],
"test.release.html.template": [
"71d83f83a2623881b63444cb435d29a4aeb023a3",
"bac2d5b5a4d78dbb27170c59baeec70cb23add81",
[]
]
},
@ -280532,7 +280532,7 @@
[]
],
"testcommon.js": [
"7d63d2c49bce5152d765ac62728f749f622bde2a",
"e26a7a1858ab9e4d404fa9fb76b4a9f4c4f13572",
[]
]
}
@ -312985,7 +312985,7 @@
[]
],
"feature-policy-wakelock.html": [
"fac421c09fa2274a8de5f3b914a27fd15f3aaba3",
"7d3dab45af1d57c805f14cfdbed142ddb2415eba",
[]
],
"feature-policy-webvr.html": [
@ -324213,20 +324213,16 @@
"9d664e2356a87496416644d639598adbaa8c43dd",
[]
],
"child-four.html": [
"65d17f273e1868312f59c89f3f2d05bda759ae1a",
"child-message-event-api.html": [
"a0001633c22d19e44c1f48ddeffa07dde1fbc436",
[]
],
"child-one.html": [
"9c99729b6a98022f7449bae62a7bea616308c0c7",
[]
],
"child-three.html": [
"5a74cf5360c6a14d2ad5eebb31d74db6980ebccf",
"966837262069acbb1a414c1b4d631b457979fea4",
[]
],
"child-two.html": [
"1fa8343a18684e1160ae763c4d32cd3fa4027399",
"dc50742051f0c53fb6de00b982c30478b63e859c",
[]
]
}
@ -326010,7 +326006,7 @@
[]
],
"video-raf.idl": [
"9c523e6ca0330b96c9320e6ca76a077686afbe3b",
"0ab48e33d59392d09e24ad87b4608bd0a840f2d9",
[]
],
"visual-viewport.idl": [
@ -326034,7 +326030,7 @@
[]
],
"web-animations.idl": [
"0d5d40ba74f40ed68c19a8218710204b2767ae12",
"006b27b2820f81e89a0088b996acf61fb634f325",
[]
],
"web-bluetooth.idl": [
@ -326082,7 +326078,7 @@
[]
],
"webrtc-stats.idl": [
"f66b0791cb2fae4665a6df8cde1d1c67a18797f6",
"514d09f15a60446ad7a6ba78bd1288a047085af1",
[]
],
"webrtc-svc.idl": [
@ -328367,7 +328363,7 @@
[]
],
"utils.js": [
"9375b175296c305c8c75eb0a6c618a7ff62364ee",
"fb60500f3b5f806783a394eed17accc36c75e87c",
[]
]
}
@ -342190,6 +342186,38 @@
[]
],
"gen": {
"sharedworker-classic-data.http-rp": {
"upgrade": {
"fetch.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
],
"websocket.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
],
"xhr.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
]
}
},
"sharedworker-module-data.http-rp": {
"upgrade": {
"fetch.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
],
"websocket.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
],
"xhr.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
]
}
},
"top.http-rp": {
"upgrade": {
"fetch.https.html.headers": [
@ -342294,6 +342322,22 @@
]
}
},
"worker-module-data.http-rp": {
"upgrade": {
"fetch.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
],
"websocket.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
],
"xhr.https.html.headers": [
"602d9dc38d0a5975e8d40c26daae9329de69840c",
[]
]
}
},
"worker-module-inherit.http-rp": {
"upgrade": {
"fetch.https.html.headers": [
@ -342410,7 +342454,7 @@
}
},
"spec.src.json": [
"139b5c451f7438cea55b1f47fb8102626970f91f",
"43f2d6dbc1867c668198e2570414fd08df817dc8",
[]
],
"support": {
@ -342538,6 +342582,10 @@
[]
],
"resources": {
"idlharness-worker.js": [
"b84ed44a8c89713be559e9cec8a1e3f48c990179",
[]
],
"page1.html": [
"7fc080d380c4bd46dfb011910e570ee412561b92",
[]
@ -347579,7 +347627,7 @@
[]
],
"WorkerNavigator.js": [
"084e45b24585b9d43bd55e71fb727bd674977eca",
"eec2f6884a10562a0d21ab076b90e099dbb8891a",
[]
],
"WorkerSendingPerformanceNow.js": [
@ -377167,7 +377215,7 @@
]
],
"CSSAnimation-effect.tentative.html": [
"5e2d18b5bf9659e9cf8930c151abcd2a12635fa0",
"fadcaa129ab2c4da612add9951bf99b447fe948d",
[
null,
{
@ -377318,7 +377366,7 @@
]
],
"event-dispatch.tentative.html": [
"bf5782d24fd2e957bd73235e0e1d8b2b1e7cd41d",
"770f9b00b1fd3db438f6d03f7c8535cf1d2e3684",
[
null,
{
@ -392070,6 +392118,13 @@
{}
]
],
"transform-interpolation-computed-value.html": [
"80d2a37f4c9aaf6224d8f729214259157b0eefa7",
[
null,
{}
]
],
"transform-matrix-composition.html": [
"2586ff3d4a577b9c4b43a2841884c6f490d7ccf3",
[
@ -439137,7 +439192,7 @@
},
"user-activation": {
"activation-api-click.tentative.html": [
"7f170a04ab1c20702ad0ba282133b32046c6003b",
"2178863fbd2a3e101df69ef1a79e420327d7e96c",
[
null,
{
@ -439145,8 +439200,8 @@
}
]
],
"activation-api-iframe-no-activate.tenative.html": [
"bd34518ba883d923067ff0921883387e73a42595",
"activation-api-iframe-no-activate.tentative.html": [
"46fd129459c5beb0cb10eb1df40d6764c3dbc98c",
[
null,
{
@ -439154,8 +439209,8 @@
}
]
],
"activation-api-iframe.tenative.html": [
"16b0ba672bc4a27659efaa0fc24907e3f5925437",
"activation-api-iframe.tentative.html": [
"91fac9b246c6752bf33b036f6cab7bb1b9022e6c",
[
null,
{
@ -439172,42 +439227,8 @@
}
]
],
"activation-transfer-cross-origin-with-click-two-child-frames.sub.tentative.html": [
"777cb5b11efe0ad664d34825bc6b5b69724f8c68",
[
null,
{
"testdriver": true
}
]
],
"activation-transfer-cross-origin-with-click.sub.tentative.html": [
"ef1602a8c36a43b078950521a81c3747979d7b82",
[
null,
{
"testdriver": true
}
]
],
"activation-transfer-with-click.tentative.html": [
"040d36c3190d228a7326ed0ea5dd46153f1b997b",
[
null,
{
"testdriver": true
}
]
],
"activation-transfer-without-click.tentative.html": [
"a12d4346a8e3cb475bb7446f784a626e46cd1e26",
[
null,
{}
]
],
"message-event-activation-api-iframe-cross-origin.sub.tentative.html": [
"63a1da05d0005c33bec1af8a58e7f011d5b09d4c",
"79899cd521808902a4d45d83250341d28a7f0c37",
[
null,
{
@ -441070,7 +441091,7 @@
]
],
"navigator_user_agent.https.html": [
"0fb9e372b0dd6f5c6463430ee4012e5c040c4a80",
"9409dd08e4d0e7a351de45419c310cdcccc97c86",
[
null,
{}
@ -444130,7 +444151,7 @@
]
],
"display-1.html": [
"9ecd45f9a4087e41a98546d1afb6faca9d396403",
"1d842ccc274f4b79bb6bce9d44e6db346ade2dbe",
[
null,
{}
@ -460296,6 +460317,176 @@
{}
]
],
"fcp-only": {
"fcp-background-size.html": [
"8cc83702c1fb8c411813ba23594c6ad39de09bd7",
[
null,
{}
]
],
"fcp-bg-image-set.html": [
"0cc52d0263e0239816ab075ae1ed90b2fd9a26c6",
[
null,
{}
]
],
"fcp-bg-image-two-steps.html": [
"4dc9af9da84fdb0dea6d39cf8dd50611de87c704",
[
null,
{}
]
],
"fcp-canvas-context.html": [
"18eb07bfdea11aa1c5eef9e77b5aeccd1b0c3332",
[
null,
{}
]
],
"fcp-gradient.html": [
"3a356f3dd1abf0f35c248fece3c877210162550b",
[
null,
{}
]
],
"fcp-invisible-3d-rotate-descendant.html": [
"76d459d0f40fcaa46e9561e76c99b4d4a17f157b",
[
null,
{}
]
],
"fcp-invisible-3d-rotate.html": [
"0b7fc325c5d200b8489d5d04ba26f86e62f35fae",
[
null,
{}
]
],
"fcp-invisible-scale-transition.html": [
"e0ac85ceb258a274ae2e48b1f0ff3d148e248e27",
[
null,
{}
]
],
"fcp-invisible-scale.html": [
"5389e8a846bf6c2844dd61fe3a4e0cb9344b4ffe",
[
null,
{}
]
],
"fcp-invisible-text.html": [
"e1b38712a63db192f6830136fc6a38aa6e5a44f8",
[
null,
{}
]
],
"fcp-opacity-descendant.html": [
"8ada49b767f011848de3b549d93c7573dd4b471c",
[
null,
{}
]
],
"fcp-opacity.html": [
"83afdde195b73eb7a348255da05594b1a2bc45a1",
[
null,
{}
]
],
"fcp-out-of-bounds-translate.html": [
"ee7975eec45267d5b29594ba5adf0df03d2a02e9",
[
null,
{}
]
],
"fcp-out-of-bounds.html": [
"3553772d4fc6b68c9769442129723a57e07aea16",
[
null,
{}
]
],
"fcp-overflow.html": [
"d7cc34663b7f846055ff5a6ca1d07fc1b4677464",
[
null,
{}
]
],
"fcp-pseudo-element-display.html": [
"50fd626e899940ba2d6d19344df41111feafd6f8",
[
null,
{}
]
],
"fcp-pseudo-element-image.html": [
"ba38edb68cbedf3157344cb9477c2e48fb1daea8",
[
null,
{}
]
],
"fcp-pseudo-element-opacity.html": [
"b209864d5d6e3c834ed09832196ece07cd692886",
[
null,
{}
]
],
"fcp-pseudo-element-text.html": [
"ea2105e45300c2477f9536e776e58c31561d95fd",
[
null,
{}
]
],
"fcp-pseudo-element-visibility.html": [
"c903c4721851eff36135ef1eeeaffd9cc5a9c46c",
[
null,
{}
]
],
"fcp-svg.html": [
"bcd2372cfc3b7374ecba7e4ee1cd077b3e51f798",
[
null,
{}
]
],
"fcp-video-frame.html": [
"fff38cd2c811937cac38c605e94402eab1e4e977",
[
null,
{}
]
],
"fcp-video-poster.html": [
"ed9cabcaeeb8c62687aee7ec4033650eeea3295c",
[
null,
{}
]
],
"fcp-whitespace.html": [
"6e1f425de80225931a517b6c839e7be23bf26f91",
[
null,
{}
]
]
},
"first-contentful-bg-image.html": [
"9c3b2200fb667f66925be4333a78b23914749617",
[
@ -474542,7 +474733,14 @@
]
],
"scroll-animation.html": [
"62e5bb854aa2cc7d564c258f58e05342ffb8b446",
"711314789b12a892b0ef342c35abec89c0da3b53",
[
null,
{}
]
],
"scroll-timeline-invalidation.html": [
"143943c4236725ab08a2d460f090f7b82c2e30db",
[
null,
{}
@ -485881,7 +486079,7 @@
]
],
"svg-image-intrinsic-size-with-cssstyle-auto.html": [
"6b49f62296433892913e74d0cc9c6bed7567fe31",
"0969e1e8e8f6d1df863acec29ead70c74bdf725d",
[
null,
{}
@ -488347,6 +488545,97 @@
]
}
},
"sharedworker-classic-data.http-rp": {
"upgrade": {
"fetch.https.html": [
"b65bb8451f0f184a431620ba90fc4c5a117b0eb9",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"f1933b620e9b60b4dbf54589eef8c164ccff4d4d",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"026d771dd7f2eed34eacb4e743591f9ecfb6903f",
[
null,
{
"timeout": "long"
}
]
]
}
},
"sharedworker-classic-data.meta": {
"unset": {
"fetch.https.html": [
"95c36dab7034119665014c2d1404d254857dc17a",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"116967e02074081ddbe0ee5176d9b745b43e4d23",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"89ab0fe4ef9f8fa5151daa253f943652bccbf5a1",
[
null,
{
"timeout": "long"
}
]
]
},
"upgrade": {
"fetch.https.html": [
"eea46ce9648d52c3cbf64c2e9d44a041a34bfd19",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"4347f0118885cf42eaeb2e7afc5199b3f732a568",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"c0447cf3c021d6a7b5b439ed1d1b800d568e2385",
[
null,
{
"timeout": "long"
}
]
]
}
},
"sharedworker-classic.http-rp": {
"upgrade": {
"fetch.https.html": [
@ -488378,6 +488667,97 @@
]
}
},
"sharedworker-module-data.http-rp": {
"upgrade": {
"fetch.https.html": [
"ea2320e6ce728ef5dfb3a12cf82de59decc9ff12",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"124a03c37f4cc249708cf4f58bd7efc77c9257af",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"b04b07adb5740fff3b9c22ae22c444189d753a92",
[
null,
{
"timeout": "long"
}
]
]
}
},
"sharedworker-module-data.meta": {
"unset": {
"fetch.https.html": [
"d6b8cdf41712c1c9edc4b5ba5c5e2b5eb62bdda7",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"a4798e53a062c221e0d21b988a4a304377c52d80",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"681c1cee442f6fa825727cbfd03fd0c1be837730",
[
null,
{
"timeout": "long"
}
]
]
},
"upgrade": {
"fetch.https.html": [
"b355fd0c14c2765bec501b73fd2258d2773460bd",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"36bac646a02d69de9da34768698458ba335846f9",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"befbb210fc88f7cb9cd041e4b8fe8ab82114f7aa",
[
null,
{
"timeout": "long"
}
]
]
}
},
"sharedworker-module.http-rp": {
"upgrade": {
"fetch.https.html": [
@ -489485,6 +489865,97 @@
]
}
},
"worker-module-data.http-rp": {
"upgrade": {
"fetch.https.html": [
"a3fa13ecfd9cd997db80d523a481f7e586cf760b",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"53dc448d6c497c673505ab8c44bac3efb3a50167",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"1125fa454346c5897dba66c4b3dd6a72f5a9dd60",
[
null,
{
"timeout": "long"
}
]
]
}
},
"worker-module-data.meta": {
"unset": {
"fetch.https.html": [
"a3cd2146663d34f350d169a7de36c7c664639234",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"27e0c78bb8e20de711d27a9bf159066a8e1be3d4",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"cc450bfef7a0e55367d85228189f80c61a9e363c",
[
null,
{
"timeout": "long"
}
]
]
},
"upgrade": {
"fetch.https.html": [
"b50873f80858af44755b497e8bdfc06549255911",
[
null,
{
"timeout": "long"
}
]
],
"websocket.https.html": [
"0173f7986b03472771c1bddd115808188c9d8a4f",
[
null,
{
"timeout": "long"
}
]
],
"xhr.https.html": [
"cc0a17b9f1acd9ead23e96aeacedbba28e538508",
[
null,
{
"timeout": "long"
}
]
]
}
},
"worker-module-inherit.http-rp": {
"upgrade": {
"fetch.https.html": [
@ -490574,25 +491045,28 @@
]
},
"wake-lock": {
"idlharness.https.any.js": [
"b5d764aee0d85e57b38ee5ff636d18e9c01c1dba",
"idlharness-worker.https.window.js": [
"c747ad6872a91a5ca81fb1e7ca73f72e4e987097",
[
"wake-lock/idlharness.https.any.html",
"wake-lock/idlharness-worker.https.window.html",
{
"script_metadata": [
[
"script",
"/resources/WebIDLParser.js"
"/resources/testdriver.js"
],
[
"script",
"/resources/idlharness.js"
"/resources/testdriver-vendor.js"
]
]
}
],
]
],
"idlharness.https.window.js": [
"f9e3c02175d519f454c15109b30fa567709cee2d",
[
"wake-lock/idlharness.https.any.worker.html",
"wake-lock/idlharness.https.window.html",
{
"script_metadata": [
[
@ -490602,6 +491076,14 @@
[
"script",
"/resources/idlharness.js"
],
[
"script",
"/resources/testdriver.js"
],
[
"script",
"/resources/testdriver-vendor.js"
]
]
}
@ -490622,7 +491104,7 @@
]
],
"wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html": [
"18a2d7c6ba282e7f77487c6744563f9eb2002ac0",
"f28a96141c8994125b04c29e440743d2e7837544",
[
null,
{}
@ -490636,17 +491118,21 @@
]
],
"wakelock-enabled-by-feature-policy.https.sub.html": [
"8573f7aa63b8460f28dc174041f9a6a644468a89",
"d0f5a15c84bf83dfdaf801e8709d1d7c37f6d91a",
[
null,
{}
{
"testdriver": true
}
]
],
"wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html": [
"308217022e1e5fc3e592798c25d4c12aef9c60b2",
"73f343867e62c46c4f6e5a4458a384ef652bafd1",
[
null,
{}
{
"testdriver": true
}
]
],
"wakelock-insecure-context.any.js": [
@ -493361,7 +493847,7 @@
]
],
"finished.html": [
"563d4ba6dd4fbb91598302f6b64f418916168243",
"bee4fd8fb7a63137f45681dccc3b53d3570eefc8",
[
null,
{}
@ -493424,7 +493910,7 @@
]
],
"ready.html": [
"461c4e95814c2ff3e5e0211ef89a6dfdc05b0606",
"462e2a0484451e4cff1f0ffce84d2ea3bd7b456a",
[
null,
{}
@ -505653,6 +506139,20 @@
{}
]
],
"WorkerNavigator_userAgentData.http.html": [
"e47e7e7ceba638eda3d946b420d817a7013aa217",
[
null,
{}
]
],
"WorkerNavigator_userAgentData.https.html": [
"91a63966c01fa30832b72bb16ce4c8926db716f9",
[
null,
{}
]
],
"WorkerPerformanceNow.html": [
"467dad44e2082aa5594b4e51eb8d418ebb2cb85b",
[

View file

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

View file

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

View file

@ -0,0 +1,262 @@
[transform-interpolation-computed-value.html]
[Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translate3d(0,0,-50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleY(1) and scaleY(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale3d(4, 5, 6) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateX(50px) and translateY(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale(4, 5) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(180deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1, 2) and scale(3, 4) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleZ(1) and scaleZ(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scaleZ(1) and scale(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateZ(-50px) and translateZ(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(3) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateZ(50px) and translateX(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1, 2) and scale(3, 4) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateZ(50px) and translateX(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleZ(1) and scaleZ(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleX(1) and scaleX(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale3d(4, 5, 6) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleZ(1) and scale(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(0%) and translateX(50%) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(50px) and translateY(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateX(0px) and translateX(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scaleX(1) and scaleX(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateX(50px) and translateZ(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateY(0%) and translateX(50%) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scale(1, 2) and scale3d(3, 4, 5) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(0%) and translateX(50%) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateZ(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotateZ(30deg) and rotateZ(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1) and scale(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateZ(-50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleX(1) and scaleX(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleZ(1) and scaleZ(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale3d(4, 5, 6) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translateX(50px) and translateY(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateX(0px) and translateX(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scaleY(1) and scaleY(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateX(50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale(4, 5) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(180deg) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotate(0deg) and rotateX(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateY(0%) and translateX(50%) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scale(1) and scale(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scale(1, 2) and scale3d(3, 4, 5) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotate(30deg) and rotate(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateZ(-50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(60deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateY(0%) and translateX(50%) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1) and scale(2) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between translate3d(0,0,-50px) and translateZ(50px) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(3) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(180deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skew(0deg, 0deg) and skew(60deg, 60deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translateZ(50px) and translateX(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between translate3d(0,0,-50px) and translateZ(50px) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between rotateX(0deg) and rotateX(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between scale(1, 2) and scale(3, 4) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scale3d(1, 2, 3) and scale(4, 5) gives the correct computed value halfway according to commitStyles.]
expected: FAIL
[Interpolation between scale(1, 2) and scale3d(3, 4, 5) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between skewX(0deg) and skewX(90deg) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between skew(45deg, 0deg) and skew(0deg, 45deg) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleX(2) and scaleY(3) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(0px) and translateX(50px) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleY(1) and scaleY(2) gives the correct computed value halfway according to computedStyleMap.]
expected: FAIL
[Interpolation between translateX(0%) and translateX(50%) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL
[Interpolation between scaleZ(1) and scale(2) gives the correct computed value halfway according to computedStyleMap with zoom active.]
expected: FAIL

View file

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

View file

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

View file

@ -11,6 +11,3 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL
[X-Content-Type-Options%3A%20'NosniFF']
expected: FAIL

View file

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

View file

@ -1,4 +1,5 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
@ -6,11 +7,14 @@
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: FAIL
expected: NOTRUN
[Area element should support autofocus]
expected: FAIL
expected: NOTRUN
[Host element with delegatesFocus should support autofocus]
expected: FAIL
expected: NOTRUN
[Non-HTMLElement should not support autofocus]
expected: TIMEOUT

View file

@ -1,4 +0,0 @@
[activation-transfer-without-click.tentative.html]
[User activation transfer from inactive frame]
expected: FAIL

View file

@ -71,3 +71,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 35232 more errors.\n\tMax AbsError of 1.9999977350234985e+0 at index of 19181.\n\t[19181\]\t9.9999773502349854e-1\t-1.0000000000000000e+0\t1.9999977350234985e+0\t1.9999977350234985e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 15876.\n\t[15876\]\t5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44046 more errors.\n\tMax AbsError of 1.9961981773376465e+0 at index of 38383.\n\t[38383\]\t-9.9879217147827148e-1\t9.9740600585937500e-1\t1.9961981773376465e+0\t2.0013897706758867e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 15876.\n\t[15876\]\t5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL

View file

@ -233,3 +233,9 @@
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t1.3060499448206951e-19\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5902333795888033e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
expected: FAIL
[X SNR (44.952263867341635 dB) is not greater than or equal to 85.58. Got 44.952263867341635.]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-9.4121694564819336e-3\t5.6332010030746460e-1\t5.7273226976394653e-1\t1.0167083856076584e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5714559801668507e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0167083856076584e+0 at index of 31080.\n]
expected: FAIL

View file

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

View file

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

View file

@ -0,0 +1,4 @@
[WorkerNavigator_userAgentData.https.html]
[Test that userAgentData is available in workers in secure contexts]
expected: FAIL

View file

@ -1,8 +1,7 @@
[shared-worker-in-data-url-context.window.html]
expected: TIMEOUT
[Create a shared worker in a data url frame]
expected: FAIL
[Create a data url shared worker in a data url frame]
expected: TIMEOUT
expected: FAIL

View file

@ -198,8 +198,13 @@ def generate_test_file(spec_directory, test_helper_filenames,
parameters = {}
parameters['scenarios'] = dump_test_parameters(scenarios).replace(
"\n", "\n" + " " * 8)
# Sort scenarios, to avoid unnecessary diffs due to different orders in
# `scenarios`.
serialized_scenarios = sorted(
[dump_test_parameters(scenario) for scenario in scenarios])
parameters['scenarios'] = ",\n".join(serialized_scenarios).replace(
"\n", "\n" + " " * 10)
test_directory = os.path.dirname(test_filename)

View file

@ -15,7 +15,9 @@
<body>
<script>
TestCase(
%(scenarios)s,
[
%(scenarios)s
],
new SanityChecker()
).start();
</script>

View file

@ -11,7 +11,9 @@
<body>
<script>
TestCase(
%(scenarios)s,
[
%(scenarios)s
],
new SanityChecker()
).start();
</script>

View file

@ -26,7 +26,8 @@ promise_test(async t => {
div.style.animation = 'anim 100s';
const watcher = new EventWatcher(t, div, [ 'animationend',
'animationcancel' ]);
'animationcancel' ],
fastEventsTimeout);
const animation = div.getAnimations()[0];
await animation.ready;
@ -90,7 +91,8 @@ promise_test(async t => {
const div1 = addDiv(t);
const div2 = addDiv(t);
const watcher1 = new EventWatcher(t, div1, 'animationstart');
const watcher1 = new EventWatcher(t, div1, 'animationstart',
fastEventsTimeout);
// Watch |div2| as well to ensure it does *not* get events.
const watcher2 = new EventWatcher(t, div2, 'animationstart');
@ -114,7 +116,8 @@ promise_test(async t => {
const div = addDiv(t);
const watcher = new EventWatcher(t, div, [ 'animationstart',
'animationend',
'animationcancel' ]);
'animationcancel' ],
fastEventsTimeout);
div.style.animation = 'anim 100s';
const animation = div.getAnimations()[0];
animation.finish();

View file

@ -21,7 +21,8 @@ const setupAnimation = (t, animationStyle) => {
const watcher = new EventWatcher(t, div, [ 'animationstart',
'animationiteration',
'animationend',
'animationcancel' ]);
'animationcancel' ],
fastEventsTimeout);
const animation = div.getAnimations()[0];
return { animation, watcher, div };

View file

@ -191,6 +191,15 @@ function waitForAnimationFrames(frameCount, onFrame) {
});
}
/**
* Timeout function used for tests with EventWatchers when all animation events
* should be received on the next animation frame. If two frames pass before
* receiving the expected events, then we can immediate fail the test.
*/
function fastEventsTimeout() {
return waitForAnimationFrames(2);
};
/**
* Wrapper that takes a sequence of N animations and returns:
*

View file

@ -0,0 +1,80 @@
<!DOCTYPE html>
<meta charset="UTF-8">
<title>transform interpolation</title>
<link rel="help" href="https://drafts.csswg.org/css-transforms/#interpolation-of-transform-functions">
<meta name="assert" content="transform gives the correct computed values when interpolated">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/web-animations/testcommon.js"></script>
<body>
<script>
function interpolation_test(from, to, expected_50) {
test(t => {
let div = createDiv(t);
let anim = div.animate({transform: [from, to]}, 2000);
anim.pause();
anim.currentTime = 1000;
let halfway = div.computedStyleMap().get('transform').toString();
assert_equals(halfway, expected_50, "The value at 50% progress is as expected");
}, "Interpolation between " + from + " and " + to + " gives the correct " +
"computed value halfway according to computedStyleMap.");
test(t => {
let div = createDiv(t);
div.style.zoom = 1.25;
let anim = div.animate({transform: [from, to]}, 2000);
anim.pause();
anim.currentTime = 1000;
let halfway = div.computedStyleMap().get('transform').toString();
assert_equals(halfway, expected_50, "The value at 50% progress is as expected");
}, "Interpolation between " + from + " and " + to + " gives the correct " +
"computed value halfway according to computedStyleMap with zoom active.");
test(t => {
let div = createDiv(t);
let anim = div.animate({transform: [from, to]}, 2000);
anim.pause();
anim.currentTime = 1000;
anim.commitStyles()
let halfway = div.style.transform;
assert_equals(halfway, expected_50, "The value at 50% progress is as expected");
}, "Interpolation between " + from + " and " + to + " gives the correct " +
"computed value halfway according to commitStyles.");
}
interpolation_test('translateX(0px)', 'translateX(50px)', 'translateX(25px)');
interpolation_test('translateX(0%)', 'translateX(50%)', 'translateX(25%)');
interpolation_test('translateY(0%)', 'translateX(50%)', 'translate(25%, 0px)');
interpolation_test('translateX(50px)', 'translateY(50px)', 'translate(25px, 25px)');
interpolation_test('translateX(50px)', 'translateZ(50px)', 'translate3d(25px, 0px, 25px)');
interpolation_test('translateZ(50px)', 'translateX(50px)', 'translate3d(25px, 0px, 25px)');
interpolation_test('translateZ(-50px)','translateZ(50px)', 'translateZ(0px)');
interpolation_test('translate3d(0,0,-50px)','translateZ(50px)', 'translate3d(0px, 0px, 0px)');
interpolation_test('rotate(30deg)', 'rotate(90deg)', 'rotate(60deg)');
interpolation_test('rotateZ(30deg)', 'rotateZ(90deg)', 'rotateZ(60deg)');
interpolation_test('rotate(0deg)', 'rotateZ(90deg)', 'rotate3d(0, 0, 1, 45deg)');
interpolation_test('rotateX(0deg)','rotateX(90deg)', 'rotateX(45deg)');
interpolation_test('rotate(0deg)', 'rotateX(90deg)', 'rotate3d(1, 0, 0, 45deg)');
interpolation_test('scale(1)', 'scale(2)', 'scale(1.5)');
interpolation_test('scaleX(1)', 'scaleX(2)', 'scaleX(1.5)');
interpolation_test('scaleY(1)', 'scaleY(2)', 'scaleY(1.5)');
interpolation_test('scaleZ(1)', 'scaleZ(2)', 'scaleZ(1.5)');
interpolation_test('scaleX(2)', 'scaleY(2)', 'scale(1.5)');
interpolation_test('scaleX(2)', 'scaleY(3)', 'scale(1.5, 2)');
interpolation_test('scaleZ(1)', 'scale(2)', 'scale3d(1.5, 1.5, 1)');
interpolation_test('scale(1, 2)', 'scale(3, 4)', 'scale(2, 3)');
interpolation_test('scale3d(1, 2, 3)', 'scale3d(4, 5, 6)', 'scale3d(2.5, 3.5, 4.5)');
interpolation_test('scale3d(1, 2, 3)', 'scale(4, 5)', 'scale3d(2.5, 3.5, 2)');
interpolation_test('scale(1, 2)', 'scale3d(3, 4, 5)', 'scale3d(2, 3, 3)');
interpolation_test('skewX(0deg)', 'skewX(60deg)', 'skewX(30deg)');
interpolation_test('skewX(0deg)', 'skewX(90deg)', 'skewX(45deg)');
interpolation_test('skewX(0deg)', 'skewX(180deg)', 'skewX(90deg)');
interpolation_test('skew(0deg, 0deg)', 'skew(60deg, 60deg)', 'skew(30deg, 30deg)');
interpolation_test('skew(45deg, 0deg)', 'skew(0deg, 45deg)', 'skew(22.5deg, 22.5deg)');
</script>

View file

@ -1,8 +1,13 @@
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script>
"use strict";
Promise.resolve().then(async () => {
try {
await test_driver.set_permission(
{ name: 'wake-lock', type: 'screen' }, 'granted', false);
const wakeLock = await navigator.wakeLock.request("screen");
await wakeLock.release();
window.parent.postMessage({ enabled: true }, "*");

View file

@ -1,7 +1,7 @@
<!DOCTYPE html>
<!--
Tentative due to:
https://github.com/whatwg/html/issues/1983
https://github.com/whatwg/html/issues/1983
-->
<html>
<head>

View file

@ -1,8 +1,7 @@
<!DOCTYPE html>
<!--
Tentative due to:
https://github.com/whatwg/html/issues/3739
https://github.com/whatwg/html/issues/1983
-->
<html>
<head>
@ -16,7 +15,9 @@
<ol id="instructions">
<li>Click this instruction text.
</ol>
<iframe id="child" width="200" height="200"></iframe>
<iframe id="child" width="200" height="200"
src="resources/child-one.html">
</iframe>
<script>
async_test(function(t) {
var child = document.getElementById("child");
@ -25,33 +26,32 @@
window.addEventListener("message", t.step_func(event => {
var msg = JSON.parse(event.data);
if (msg.type == 'child-one-loaded') {
// state should be false after load
// Child's states should be false after load.
assert_false(msg.isActive);
assert_false(msg.hasBeenActive);
// click in parent document
// Click in parent document.
test_driver.click(document.getElementById('instructions'));
} else if (msg.type == 'child-one-report') {
// only the transient state should be false after asked to report
// Only the transient state in child should be false after consumption below.
assert_false(msg.isActive);
assert_true(msg.hasBeenActive);
t.done();
}
}));
window.addEventListener("click", t.step_func(event => {
assert_true(navigator.userActivation.isActive);
assert_true(navigator.userActivation.hasBeenActive);
assert_true(navigator.userActivation.isActive);
assert_true(navigator.userActivation.hasBeenActive);
// Opening a window should consume the activation.
var win = window.open('404.html');
win.close();
assert_false(navigator.userActivation.isActive);
assert_true(navigator.userActivation.hasBeenActive);
// Opening a window should consume the activation.
var win = window.open('404.html');
win.close();
assert_false(navigator.userActivation.isActive);
assert_true(navigator.userActivation.hasBeenActive);
// ask child to report their state
child.contentWindow.postMessage('report', '*');
// Ask child to report its state.
child.contentWindow.postMessage(JSON.stringify({"type": "report"}), '*');
}));
child.src = "resources/child-one.html";
}, "Values adjust on activity");
</script>
</body>

View file

@ -1,8 +1,7 @@
<!DOCTYPE html>
<!--
Tentative due to:
https://github.com/whatwg/html/issues/3739
https://github.com/whatwg/html/issues/1983
-->
<html>
<head>
@ -14,9 +13,11 @@
<body>
<h1>Clicking in iframe has activation state in child</h1>
<ol id="instructions">
<li>Click inside the light-grey area.
<li>Click inside the yellow area.
</ol>
<iframe id="child" width="200" height="200"></iframe>
<iframe id="child" width="200" height="200"
src="resources/child-one.html">
</iframe>
<script>
async_test(function(t) {
var child = document.getElementById("child");
@ -45,7 +46,6 @@
t.done();
}
}));
child.src = "resources/child-one.html";
}, "Values adjust on activity");
</script>
</body>

View file

@ -1,90 +0,0 @@
<!DOCTYPE html>
<!--
Tentative due to:
https://github.com/whatwg/html/issues/4364
-->
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
</head>
<body>
<h1>User activation can be transferred to a cross-origin child frame
via a postMessage option.</h1>
<ol id="instructions">
<li>Click this instruction text.
</ol>
<iframe id="child1" width="200" height="200"></iframe>
<iframe id="child2" width="200" height="200"></iframe>
<script>
async_test(function(t) {
var child1 = document.getElementById("child1");
var child2 = document.getElementById("child2");
var is_child_four_loaded = false;
var is_child_two_loaded = false;
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
function tryClickInstructions() {
if (is_child_four_loaded && is_child_two_loaded)
test_driver.click(document.getElementById('instructions'));
}
window.addEventListener("message", t.step_func(event => {
var msg = JSON.parse(event.data);
if (msg.type == 'child-four-loaded') {
// state should be false after load
assert_false(msg.isActive);
assert_false(msg.hasBeenActive);
// click in parent document after both child frames load
is_child_four_loaded = true;
tryClickInstructions();
} else if (msg.type == 'child-four-report') {
assert_true(msg.isActive);
assert_true(msg.hasBeenActive);
// check sender's activation state again
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
child2.contentWindow.postMessage('report', '*');
} else if (msg.type == 'child-two-loaded') {
// state should be false after load
assert_false(msg.isActive);
assert_false(msg.hasBeenActive);
// click in parent document after both child frames load
is_child_two_loaded = true;
tryClickInstructions();
} else if (msg.type == 'child-two-report') {
assert_false(msg.isActive);
assert_false(msg.hasBeenActive);
// check sender's activation state again
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
t.done();
}
}));
window.addEventListener("click", t.step_func(event => {
assert_true(navigator.userActivation.isActive);
assert_true(navigator.userActivation.hasBeenActive);
// transfer user activation to the child frame
child1.contentWindow.postMessage("report",
{targetOrigin: "*", transferUserActivation: true});
// sender's activation state is updated synchronously
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
}));
child1.src = "http://{{domains[www]}}:{{ports[http][0]}}/html/user-activation/resources/child-four.html";
child2.src = "http://{{domains[www1]}}:{{ports[http][0]}}/html/user-activation/resources/child-two.html";
}, "Cross-origin user activation transfer through postMessages");
</script>
</body>
</html>

View file

@ -1,62 +0,0 @@
<!DOCTYPE html>
<!--
Tentative due to:
https://github.com/whatwg/html/issues/4364
-->
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
</head>
<body>
<h1>User activation can be transferred to a cross-origin child frame
via a postMessage option.</h1>
<ol id="instructions">
<li>Click this instruction text.
</ol>
<iframe id="child" width="200" height="200"></iframe>
<script>
async_test(function(t) {
var child = document.getElementById("child");
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
window.addEventListener("message", t.step_func(event => {
var msg = JSON.parse(event.data);
if (msg.type == 'child-four-loaded') {
// state should be false after load
assert_false(msg.isActive);
assert_false(msg.hasBeenActive);
// click in parent document
test_driver.click(document.getElementById('instructions'));
} else if (msg.type == 'child-four-report') {
assert_true(msg.isActive);
assert_true(msg.hasBeenActive);
// check sender's activation state again
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
t.done();
}
}));
window.addEventListener("click", t.step_func(event => {
assert_true(navigator.userActivation.isActive);
assert_true(navigator.userActivation.hasBeenActive);
// transfer user activation to the child frame
child.contentWindow.postMessage("report",
{targetOrigin: "*", transferUserActivation: true});
// sender's activation state is updated synchronously
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
}));
child.src = "http://{{domains[www]}}:{{ports[http][0]}}/html/user-activation/resources/child-four.html";
}, "Cross-origin user activation transfer through postMessages");
</script>
</body>
</html>

View file

@ -1,62 +0,0 @@
<!DOCTYPE html>
<!--
Tentative due to:
https://github.com/whatwg/html/issues/4364
-->
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
</head>
<body>
<h1>User activation can be transferred to a child frame
via a postMessage option.</h1>
<ol id="instructions">
<li>Click this instruction text.
</ol>
<iframe id="child" width="200" height="200"></iframe>
<script>
async_test(function(t) {
var child = document.getElementById("child");
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
window.addEventListener("message", t.step_func(event => {
var msg = JSON.parse(event.data);
if (msg.type == 'child-four-loaded') {
// state should be false after load
assert_false(msg.isActive);
assert_false(msg.hasBeenActive);
// click in parent document
test_driver.click(document.getElementById('instructions'));
} else if (msg.type == 'child-four-report') {
assert_true(msg.isActive);
assert_true(msg.hasBeenActive);
// check sender's activation state again
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
t.done();
}
}));
window.addEventListener("click", t.step_func(event => {
assert_true(navigator.userActivation.isActive);
assert_true(navigator.userActivation.hasBeenActive);
// transfer user activation to the child frame
child.contentWindow.postMessage("report",
{transferUserActivation: true});
// sender's activation state is updated synchronously
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
}));
child.src = "resources/child-four.html";
}, "User activation transfer through postMessages");
</script>
</body>
</html>

View file

@ -1,54 +0,0 @@
<!DOCTYPE html>
<!--
Tentative due to:
https://github.com/whatwg/html/issues/4364
-->
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<h1>User activation transfer request from an inactive frame is ignored.</h1>
<iframe id="child" width="200" height="200"></iframe>
<script>
async_test(function(t) {
var child = document.getElementById("child");
var is_page_loaded = false;
var is_child_four_loaded = false;
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
function tryPostMessaging() {
if (is_page_loaded && is_child_four_loaded)
child.contentWindow.postMessage("report", {transferUserActivation: true});
}
window.addEventListener("message", t.step_func(event => {
var msg = JSON.parse(event.data);
if (msg.type == 'child-four-loaded') {
// state should be false after load
assert_false(msg.isActive);
assert_false(msg.hasBeenActive);
is_child_four_loaded = true;
tryPostMessaging();
} else if (msg.type == 'child-four-report') {
assert_false(msg.isActive);
assert_false(msg.hasBeenActive);
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
t.done();
}
}));
window.addEventListener("load", function(event) {
is_page_loaded = true;
tryPostMessaging();
});
child.src = "resources/child-four.html";
}, "User activation transfer from inactive frame");
</script>
</body>
</html>

View file

@ -1,8 +1,7 @@
<!DOCTYPE html>
<!--
Tentative due to:
https://github.com/whatwg/html/issues/3739
https://github.com/whatwg/html/issues/1983
-->
<html>
<head>
@ -16,39 +15,40 @@
<ol id="instructions">
<li>Click inside the red area.
</ol>
<iframe id="child" width="200" height="200"></iframe>
<iframe id="child" width="200" height="200"
src="http://{{domains[www]}}:{{ports[http][0]}}/html/user-activation/resources/child-message-event-api.html">
</iframe>
<script>
async_test(function(t) {
var child = document.getElementById("child");
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
window.addEventListener("message", t.step_func(event => {
if (event.data == 'child-three-loaded') {
if (event.data == 'child-loaded') {
// values have false after load
assert_true(event.userActivation != null);
assert_false(event.userActivation.isActive);
assert_false(event.userActivation.hasBeenActive);
test_driver.click(child);
} else if (event.data == 'child-three-clicked') {
} else if (event.data == 'child-clicked') {
// values have activation state on click
assert_true(navigator.userActivation.hasBeenActive);
assert_true(event.userActivation != null);
assert_true(event.userActivation.isActive);
assert_true(event.userActivation.hasBeenActive);
child.contentWindow.postMessage('report', "*");
} else if (event.data == 'child-three-report') {
} else if (event.data == 'child-report') {
assert_false(navigator.userActivation.isActive);
assert_true(navigator.userActivation.hasBeenActive);
assert_true(event.userActivation != null);
assert_false(event.userActivation.isActive);
assert_true(event.userActivation.hasBeenActive);
child.contentWindow.postMessage('report-no-activation', "*");
} else if (event.data == 'child-three-report-no-activation') {
} else if (event.data == 'child-report-no-activation') {
assert_true(event.userActivation === null);
t.done();
}
}));
child.src = "http://{{domains[www]}}:{{ports[http][0]}}/html/user-activation/resources/child-three.html";
}, "Message propagates values on post");
</script>
</body>

View file

@ -1,15 +0,0 @@
<!DOCTYPE html>
<body style="background: lightgrey;">
<script>
window.parent.postMessage(JSON.stringify({"type": "child-four-loaded", "isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive}), "*");
window.addEventListener("message", event => {
if (event.source === window.parent && event.data == "report") {
window.parent.postMessage(JSON.stringify({"type": "child-four-report", "isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive}), "*");
}
});
</script>
</body>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<body style="background: red;">
<script>
window.parent.postMessage("child-loaded",
{targetOrigin: "*", includeUserActivation: true});
window.addEventListener("click", event => {
window.parent.postMessage("child-clicked",
{targetOrigin: "*", includeUserActivation: true});
var win = window.open('404.html');
win.close();
});
window.addEventListener("message", event => {
if (event.data == "report") {
window.parent.postMessage("child-report",
{targetOrigin: "*", includeUserActivation: true});
}
if (event.data == "report-no-activation") {
window.parent.postMessage("child-report-no-activation",
{targetOrigin: "*", includeUserActivation: false});
}
});
</script>
</body>

View file

@ -1,20 +1,29 @@
<!DOCTYPE html>
<body style="background: red;">
<body style="background: yellow;">
<script>
window.parent.postMessage(JSON.stringify({"type": "child-one-loaded", "isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive}), "*");
window.top.postMessage(JSON.stringify({
"type": "child-one-loaded",
"isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive
}), "*");
window.addEventListener("click", event => {
window.parent.postMessage(JSON.stringify({"type": "child-one-clicked", "isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive}), "*");
});
window.addEventListener("click", event => {
window.top.postMessage(JSON.stringify({
"type": "child-one-clicked",
"isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive
}), "*");
});
window.addEventListener("message", event => {
if (event.data == "report") {
window.parent.postMessage(JSON.stringify({"type": "child-one-report", "isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive}), "*");
}
});
</script>
window.addEventListener("message", event => {
var msg = JSON.parse(event.data);
if (msg.type == "report") {
window.top.postMessage(JSON.stringify({
"type": "child-one-report",
"isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive
}), "*");
}
});
</script>
</body>

View file

@ -1,19 +0,0 @@
<!DOCTYPE html>
<body style="background: red;">
<script>
window.parent.postMessage("child-three-loaded", {targetOrigin: "*", includeUserActivation: true});
window.addEventListener("click", event => {
window.parent.postMessage("child-three-clicked", {targetOrigin: "*", includeUserActivation: true});
var win = window.open('404.html');
win.close();
});
window.addEventListener("message", event => {
if (event.data == "report")
window.parent.postMessage("child-three-report", {targetOrigin: "*", includeUserActivation: true});
if (event.data == "report-no-activation")
window.parent.postMessage("child-three-report-no-activation", {targetOrigin: "*", includeUserActivation: false});
});
</script>
</body>

View file

@ -1,15 +1,20 @@
<!DOCTYPE html>
<body style="background: lightgrey;">
<script>
window.parent.postMessage(JSON.stringify({"type": "child-two-loaded", "isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive}), "*");
<script>
window.top.postMessage(JSON.stringify({
"type": "child-two-loaded",
"isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive
}), "*");
window.addEventListener("message", event => {
if (event.source === window.parent && event.data == "report") {
window.parent.postMessage(JSON.stringify({"type": "child-two-report", "isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive}), "*");
if (event.data == "report") {
window.top.postMessage(JSON.stringify({
"type": "child-two-report",
"isActive": navigator.userActivation.isActive,
"hasBeenActive": navigator.userActivation.hasBeenActive
}), "*");
}
});
</script>
</script>
</body>

View file

@ -1,10 +1,11 @@
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/webrtc/dictionary-helper.js"></script>
<script>
test(t => {
assert_true("userAgentData" in navigator);
assert_true("NavigatorUAData" in window);
assert_equals(typeof self.NavigatorUAData, "function")
}, "navigator.userAgentData is exposed.");
promise_test(async t => {

View file

@ -4,8 +4,8 @@
// Source: HTMLVideoElement.requestAnimationFrame() (https://wicg.github.io/video-raf/)
dictionary VideoFrameMetadata {
required DOMHighResTimeStamp presentationTime;
required DOMHighResTimeStamp expectedPresentationTime;
required DOMHighResTimeStamp timePresented;
required DOMHighResTimeStamp expectedDisplayTime;
required unsigned long width;
required unsigned long height;
@ -18,7 +18,7 @@ dictionary VideoFrameMetadata {
unsigned long rtpTimestamp;
};
callback VideoFrameRequestCallback = void(DOMHighResTimeStamp time, VideoFrameMetadata metadata);
callback VideoFrameRequestCallback = void(DOMHighResTimeStamp now, VideoFrameMetadata metadata);
partial interface HTMLVideoElement {
unsigned long requestAnimationFrame(VideoFrameRequestCallback callback);

View file

@ -96,9 +96,9 @@ interface KeyframeEffect : AnimationEffect {
object? keyframes,
optional (unrestricted double or KeyframeEffectOptions) options = {});
constructor(KeyframeEffect source);
attribute Element? target;
attribute CSSOMString? pseudoElement;
attribute CompositeOperation composite;
attribute Element? target;
attribute CSSOMString? pseudoElement;
attribute CompositeOperation composite;
sequence<object> getKeyframes();
void setKeyframes(object? keyframes);
};

View file

@ -130,6 +130,7 @@ dictionary RTCSentRtpStreamStats : RTCRtpStreamStats {
};
dictionary RTCOutboundRtpStreamStats : RTCSentRtpStreamStats {
unsigned long rtxSsrc;
DOMString trackId;
DOMString mediaSourceId;
DOMString senderId;

View file

@ -31,7 +31,7 @@
1,
"math must be centered.");
assert_approx_equals(after_block.left, content.left, 1,
"content before must be left aligned");
"content after must be left aligned");
assert_less_than_equal(before_block.bottom, mspace_block.top,
"new line before math");
assert_less_than_equal(mspace_block.bottom, after_block.top,
@ -56,6 +56,25 @@
assert_less_than_equal(mspace_inline.right, after_inline.left,
"content after must be on the right of math");
}, `Test inline math ${transform}`);
var before_block_and_specified_width = getBox("before_block_and_specified_width");
var mspace_width = getBox("mspace_width");
var after_block_and_specified_width = getBox("after_block_and_specified_width");
test(function() {
assert_true(MathMLFeatureDetection.has_mspace());
assert_approx_equals(before_block_and_specified_width.left, content.left, 1,
"content before must be left aligned");
assert_approx_equals((mspace_width.left + mspace_width.right) / 2,
(content.left + content.right) / 2,
1,
"math must be centered.");
assert_approx_equals(after_block_and_specified_width.left, content.left, 1,
"content after must be left aligned");
assert_less_than_equal(before_block_and_specified_width.bottom, mspace_width.top,
"new line before math");
assert_less_than_equal(mspace_width.bottom, after_block_and_specified_width.top,
"new line after math");
}, `Test width on display=block math ${transform}`);
}
done();
});
@ -86,6 +105,10 @@
<span id="before_inline" class="square"></span>
<math display="inline"><mspace id="mspace_inline" width="50px" height="50px"/></math>
<span id="after_inline" class="square"></span>
<br/>
<span id="before_block_and_specified_width" class="square"></span>
<math display="block" style="width:100px"><mspace id="mspace_width" width="50px" height="50px"/></math>
<span id="after_block_and_specified_width" class="square"></span>
</div>
</body>
</html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to background size</title>
<style>
#main {
position: relative;
width: 100px;
height: 100px;
background-image: url(../resources/circles.png);
background-size: 0 0;
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
background-size: 100% 100%;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main"></div>
<script>
test_fcp("First contentful paint fires due to background size.");
</script>
</body>
</html>

View file

@ -0,0 +1,26 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to background image in image-set</title>
<style>
#main {
width: 100px;
height: 100px;
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
background-image: -webkit-image-set(url(../resources/circles.png) 1x);
background-image: image-set(url(../resources/circles.png) 1x);
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main"></div>
<script>
test_fcp("First contentful paint fires due to background image in image-set.");
</script>
</body>
</html>

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP should fire for background image only when visible</title>
<style>
#main {
width: 100px;
height: 100px;
}
/* contentful and preFCP classes are defined in test_fcp script. */
#main.preFCP {
visibility: hidden;
}
#main.contentful, #main.preFCP {
background-image: url(../resources/circles.png);
}
#main.contentful {
visibility: visible;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main"></div>
<script>
test_fcp("First contentful paint fires for background image only when visible.");
</script>
</body>
</html>

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP when canvas context is created</title>
</head>
<body>
<script src="../resources/utils.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<canvas id="canvas" width="50" height="50"></canvas>
<script>
promise_test(async t => {
assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
await new Promise(r => window.addEventListener('load', r));
await assertNoFirstContentfulPaint();
const canvas = document.getElementById('canvas');
const context = canvas.getContext('2d');
context.fillRect(0, 0, 100, 100);
await assertFirstContentfulPaint();
}, 'Canvas should count as contentful when context is created');
</script>
</body>
</html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP should not fire with gradient-only backgrounds</title>
<style>
#main {
width: 100px;
height: 100px;
background-image: linear-gradient(to bottom, orange, blue);
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main"></div>
<script>
promise_test(async t => {
assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const main = document.getElementById('main');
await new Promise(r => window.addEventListener('load', r));
await assertNoFirstContentfulPaint();
}, 'Gradients should not count as contentful');
</script>
</body>
</html>

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to 3d revealing of descendants</title>
<style>
#main {
width: 100px;
height: 100px;
left: 0px;
position: relative;
top: 0;
transform: rotateX(45deg);
transform-style: preserve-3d;
}
/*
This tests that given multiplication effect of 3d transforms on bounding rect,
An element counts as contentful/paintable only when its bounding rect is truly non-empty */
#child {
transform: rotateX(45deg);
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
transform: none;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
<div id="child">Text</div>
</div>
<script>
test_fcp("First contentful paint fires due to its ancestor getting rotating into view.");
</script>
</body>
</html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to 3d rotation into view</title>
<style>
#main {
width: 100px;
height: 100px;
left: 0px;
transform: rotateY(90deg);
position: relative;
top: 0;
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
transform: none;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">Text</div>
<script>
test_fcp("First contentful paint fires due to 3d rotation into view.")
</script>
</body>
</html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP in transition</title>
<style>
#main {
width: 100px;
height: 100px;
left: 0px;
transform: scale(0);
transition: transform 10s;
position: relative;
top: 0;
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
transform: scale(1);
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">TEXT</div>
<script>
test_fcp("First contentful paint fires when revealed during transition.");
</script>
</body>
</html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to scale change</title>
<style>
#main {
width: 100px;
height: 100px;
left: 0px;
transform: scale(0);
position: relative;
top: 0;
background-image: url(../resources/circles.png);
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
transform: none;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main"></div>
<script>
test_fcp("First contentful paint fires due to scale becoming positive.")
</script>
</body>
</html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP should still fire for invisible text</title>
<style>
#main {
position: relative;
width: 100px;
height: 100px;
visibility: hidden;
color: rgba(0, 0, 0, 0);
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
visibility: visible;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
INVISIBLE
</div>
<script>
test_fcp("First contentful paint fires due to pseudo-element becoming visible.")
</script>
</body>
</html>

View file

@ -0,0 +1,46 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to ancestor opacity</title>
<style>
#main {
width: 100px;
height: 100px;
left: 0px;
position: relative;
top: 0;
}
#child {
opacity: 0;
}
/* contentful and intermediate classes are defined in test_fcp script. */
#main.contentful #child {
opacity: 1;
}
#main.intermediate #child {
opacity: 1;
}
#main.intermediate {
opacity: 0;
}
#main.contentful {
opacity: 0.5;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
<div id="child">Text</div>
</div>
<script>
test_fcp("First contentful paint fires due to its ancestor getting positive opacity.");
</script>
</body>
</html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to opacity</title>
<style>
#main {
width: 100px;
height: 100px;
left: 0px;
position: relative;
top: 0;
background-image: url(../resources/circles.png);
opacity: 0;
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
opacity: 0.1;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main"></div>
<script>
test_fcp("First contentful paint fires due to opacity-revealed element.");
</script>
</body>
</html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to transform-based intersection with document</title>
<style>
#main {
width: 100px;
height: 100px;
left: 0px;
transform: translate(-1000px);
position: relative;
top: 0;
background-image: url(../resources/circles.png);
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
transform: none;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main"></div>
<script>
test_fcp("First contentful paint fires due to transform-based intersection with document.")
</script>
</body>
</html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to intersection with document</title>
<style>
#main {
width: 100px;
height: 100px;
left: -1000px;
position: relative;
top: 0;
background-image: url(../resources/circles.png);
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
left: 0px;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main"></div>
<script>
test_fcp("First contentful paint fires due to intersection with document.")
</script>
</body>
</html>

View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP with element clipped with overflow</title>
<style>
#main {
width: 100px;
height: 100px;
overflow: hidden;
display: none;
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
display: block;
}
#text {
top: 10000px;
position: relative;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
<div id="text">HELLO</div>
</div>
<script>
test_fcp("First contentful paint fires even when element is hidden due to overflow.")
</script>
</body>
</html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to pseudo-element text</title>
<style>
#main {
position: relative;
width: 100px;
height: 100px;
}
#main:after {
content: "TEXT";
display: none;
}
/* contentful class is defined in test_fcp script. */
#main.contentful:after {
display: block;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
</div>
<script>
test_fcp("First contentful paint fires due to pseudo-element text.")
</script>
</body>
</html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to pseudo-element image</title>
<style>
#main {
position: relative;
width: 100px;
height: 100px;
}
/* contentful class is defined in test_fcp script. */
#main.contentful:after {
content: url(../resources/circles.png);
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
</div>
<script>
test_fcp("First contentful paint fires due to pseudo-element image.")
</script>
</body>
</html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to pseudo-element getting positive opacity</title>
<style>
#main {
position: relative;
width: 100px;
height: 100px;
}
#main:after {
content: "TEXT";
opacity: 0;
}
/* contentful class is defined in test_fcp script. */
#main.contentful:after {
opacity: 0.5;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
</div>
<script>
test_fcp("First contentful paint fires due to pseudo-element getting positive opacity.")
</script>
</body>
</html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to pseudo-element text</title>
<style>
#main {
position: relative;
width: 100px;
height: 100px;
}
/* contentful class is defined in test_fcp script. */
#main.contentful:after {
content: "TEXT"
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
</div>
<script>
test_fcp("First contentful paint fires due to pseudo-element text.")
</script>
</body>
</html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to pseudo-element becoming visible</title>
<style>
#main {
position: relative;
width: 100px;
height: 100px;
}
#main:after {
content: "TEXT";
visibility: hidden;
}
/* contentful class is defined in test_fcp script. */
#main.contentful:after {
visibility: visible;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
</div>
<script>
test_fcp("First contentful paint fires due to pseudo-element becoming visible.")
</script>
</body>
</html>

View file

@ -0,0 +1,40 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP with SVG</title>
<style>
#main {
width: 100px;
height: 100px;
left: 0px;
position: relative;
}
#circle {
display: none;
}
/* contentful class is defined in test_fcp script. */
#main.contentful #circle {
display: block;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<circle id="myCircle" cx="5" cy="5" r="4" stroke="blue"/>
</defs>
<use id="circle" href="#myCircle" fill="green" />
</svg>
</div>
<script>
test_fcp("First contentful paint fires when SVG becomes contentful.")
</script>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to loaded video frame</title>
</head>
<body>
<script src="../resources/utils.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<video id="video" autoplay></video>
<script>
promise_test(async t => {
assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
await new Promise(r => window.addEventListener('load', r));
await assertNoFirstContentfulPaint();
const video = document.getElementById('video');
video.setAttribute('src', '/media/test.mp4');
await new Promise(resolve => {
video.oncanplay = resolve;
});
await assertFirstContentfulPaint();
}, 'Video should become contentful when first frame is loaded');
</script>
</body>
</html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP due to loaded video poster</title>
</head>
<body>
<script src="../resources/utils.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<video id="video" width="50" height="50"></video>
<script>
promise_test(async t => {
assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
await new Promise(r => window.addEventListener('load', r));
await assertNoFirstContentfulPaint();
const video = document.getElementById('video');
const src = '../resources/circles.png';
const image = new Image();
image.src = src;
video.setAttribute('poster', src);
await new Promise(resolve => {
image.onload = async () => resolve();
})
await assertFirstContentfulPaint();
}, 'Video should become contentful when poster is loaded');
</script>
</body>
</html>

View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: Whitespace should not count as contentful</title>
<style>
#main {
position: relative;
width: 100px;
height: 100px;
background-image: url(../resources/circles.png);
background-size: 0 0;
}
#text {
display: none;
}
/* contentful class is defined in test_fcp script. */
#main.contentful #text{
display: block;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
<div id="whitespace"> </div>
<div id="text">TEXT</div>
</div>
<script>
test_fcp("Whitespace should not count as contentful.")
</script>
</body>
</html>

View file

@ -23,45 +23,34 @@ function waitForAnimationFrames(count) {
}
// Asserts that there is currently no FCP reported, even after some wait.
function assertNoFirstContentfulPaint(t) {
return waitTime(t).then(() => {
return waitForAnimationFrames(numFramesWaiting);
}).then(() => {
return new Promise((resolve, reject) => {
const observer = new PerformanceObserver(entryList =>{
const entries = entryList.getEntriesByName('first-contentful-paint');
observer.disconnect();
if (entries.length > 0)
reject('Received a first contentful paint entry.');
else
resolve();
});
observer.observe({type: 'paint', buffered: true});
observer.observe({type: 'mark'});
performance.mark('flush');
});
});
async function assertNoFirstContentfulPaint(t) {
if (t)
await waitTime(t);
await waitForAnimationFrames(numFramesWaiting);
assert_equals(performance.getEntriesByName('first-contentful-paint').length, 0, 'First contentful paint marked too early. ');
}
// Asserts that FCP is reported, possibly after some wait. The wait is needed
// because sometimes the FCP relies on some CSS resources to finish loading.
function assertFirstContentfulPaint(t) {
return waitTime(t).then(() => {
return waitForAnimationFrames(numFramesWaiting);
}).then(() => {
return new Promise((resolve, reject) => {
const observer = new PerformanceObserver(entryList =>{
const entries = entryList.getEntriesByName('first-contentful-paint');
observer.disconnect();
if (entries.length === 0)
reject('Did not receive a first contentful paint entry.');
else {
resolve();
}
});
observer.observe({type: 'paint', buffered: true});
observer.observe({type: 'mark'});
performance.mark('flush');
});
});
async function assertFirstContentfulPaint(t) {
if (t)
await waitTime(t);
await waitForAnimationFrames(numFramesWaiting);
assert_equals(performance.getEntriesByName('first-contentful-paint').length, 1, 'Expected first contentful paint not found. ');
}
async function test_fcp(label) {
const style = document.createElement('style');
document.head.appendChild(style);
await promise_test(async t => {
assert_precondition(window.PerformancePaintTiming, "Paint Timing isn't supported.");
const main = document.getElementById('main');
await new Promise(r => window.addEventListener('load', r));
await assertNoFirstContentfulPaint();
main.className = 'preFCP';
await assertNoFirstContentfulPaint();
main.className = 'contentful';
await assertFirstContentfulPaint();
}, label);
}

View file

@ -47,13 +47,8 @@
// Now do some scrolling and make sure that the Animation current time is
// correct.
scroller.scrollTop = 0.2 * maxScroll;
// TODO(crbug.com/944449): After scroll offset snapshotting is implemented,
// scroll timeline current time, animation current time and effect local
// time will be updated on the same frame (which in this case will be the
// next frame).
assert_equals(animation.currentTime, animation.timeline.currentTime,
"The current time corresponds to the scroll position of the scroller.");
await waitForNextFrame();
assert_times_equal(
animation.effect.getComputedTiming().localTime,
animation.timeline.currentTime,

View file

@ -0,0 +1,98 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>ScrollTimeline invalidation</title>
<link rel="help" href="https://wicg.github.io/scroll-animations/#current-time-algorithm">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/web-animations/testcommon.js"></script>
<script src="testcommon.js"></script>
<style>
.scroller {
overflow: auto;
height: 100px;
width: 100px;
}
.contents {
height: 1000px;
width: 100%;
}
</style>
<div id="log"></div>
<script>
'use strict';
promise_test(async t => {
const animation = createScrollLinkedAnimation(t);
animation.effect.updateTiming({ duration: 350 });
const scroller = animation.timeline.scrollSource;
const maxScroll = scroller.scrollHeight - scroller.clientHeight;
scroller.scrollTop = 0.2 * maxScroll;
animation.play();
await animation.ready;
// Change scroller content size.
scroller.firstChild.style.height = "500px";
await animation.finished;
const newTime = animation.effect.getTiming().duration;
assert_times_equal(animation.currentTime, newTime,
'Animation current time is updated after scroller invalidation.');
assert_times_equal(
animation.effect.getComputedTiming().localTime, newTime,
'Effect local time is updated after scroller invalidation.');
}, 'Animation current time and effect local time are updated after scroller ' +
'content size changes.');
promise_test(async t => {
const animation = createScrollLinkedAnimation(t);
animation.effect.updateTiming({ duration: 350 });
const scroller = animation.timeline.scrollSource;
const maxScroll = scroller.scrollHeight - scroller.clientHeight;
scroller.scrollTop = 0.2 * maxScroll;
animation.play();
await animation.ready;
// Change scroller size.
scroller.style.height = "500px";
await animation.finished;
const newTime = animation.effect.getTiming().duration;
assert_times_equal(animation.currentTime, newTime,
'Animation current time is updated after scroller invalidation.');
assert_times_equal(
animation.effect.getComputedTiming().localTime, newTime,
'Effect local time is updated after scroller invalidation.');
}, 'Animation current time and effect local time are updated after scroller ' +
'size changes.');
promise_test(async t => {
const timeline = createScrollTimeline(t);
const scroller = timeline.scrollSource;
const maxScroll = scroller.scrollHeight - scroller.clientHeight;
// Instantiate scroll animation that resizes its scroll timeline scroller.
const animation = new Animation(
new KeyframeEffect(
timeline.scrollSource.firstChild,
[{ height: '1000px' }, { height: '2000px' }],
{ duration: 1000, }
), timeline);
animation.play();
await animation.ready;
await waitForNextFrame();
scroller.scrollTop = 0.2 * maxScroll;
assert_times_equal(timeline.currentTime, 200,
'Timeline current time is updated after scroller update.');
await waitForNextFrame();
assert_times_equal(timeline.currentTime, 163.636,
'Timeline current time is updated after animation frame and ' +
'reflects single layout run.');
}, 'If scroll animation resizes its scroll timeline scroller, ' +
'layout runs only once to reflect the initial update.');
</script>

View file

@ -43,6 +43,8 @@
<image width="60" height="60" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='100' viewBox='0 0 400 100'></svg>" style='width:auto'/>
<image width="60" height="60" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='100' viewBox='0 0 400 100'></svg>" style='height:auto'/>
<image width="60" height="60" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='100' viewBox='0 0 400 100'></svg>" style='width:auto; height:auto'/>
<image width="60" height="60" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>" style='height:auto'/>
<image width="60" height="60" xlink:href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>" style='width:auto'/>
</svg>
<script>
var expectedBoxes = [
@ -76,6 +78,8 @@ var expectedBoxes = [
{ dimensions: [120, 60], description: "200x100 svg image viewBox='0 0 400 100', attributes width='60' height='60' and CSS 'width:auto'"},
{ dimensions: [60, 30], description: "200x100 svg image viewBox='0 0 400 100', attributes width='60' height='60' and CSS 'height:auto'"},
{ dimensions: [200, 100], description: "200x100 svg image viewBox='0 0 400 100', attributes width='60' height='60' and CSS 'width:auto; height:auto'"},
{ dimensions: [60, 150], description: "default sized svg image, attributes width='60' height='60' and CSS 'height:auto'"},
{ dimensions: [300, 60], description: "default sized svg image, attributes width='60' height='60' and CSS 'width:auto'"}
];
var images = document.getElementsByTagName('image');

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: upgrade-insecure-requests

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "same-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: upgrade-insecure-requests

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: upgrade-insecure-requests

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "blocked",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to same-https origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "blocked",
"origin": "cross-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for websocket to cross-ws-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for websocket to same-ws-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "blocked",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to same-https origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to cross-https origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,113 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,53 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "cross-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,113 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-classic-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: upgrade-insecure-requests

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "same-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: upgrade-insecure-requests

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: upgrade-insecure-requests

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "blocked",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to same-https origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for fetch to cross-https origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "blocked",
"origin": "same-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for websocket to same-ws-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for websocket to cross-ws-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "blocked",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "blocked",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to same-https origin and downgrade redirection from https context."
},
{
"expectation": "blocked",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects blocked for xhr to cross-https origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,113 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,53 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "cross-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,113 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "sharedworker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "fetch",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: upgrade-insecure-requests

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "same-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-ws-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "websocket",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

View file

@ -0,0 +1 @@
Content-Security-Policy: upgrade-insecure-requests

View file

@ -0,0 +1,112 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
<html>
<head>
<meta charset="utf-8">
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.sub.js"></script>
<script src="../../../generic/test-case.sub.js"></script>
</head>
<body>
<script>
TestCase(
[
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-http-downgrade",
"redirection": "no-redirect",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context."
},
{
"expectation": "allowed",
"origin": "cross-http-downgrade",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context."
},
{
"expectation": "allowed",
"origin": "same-https",
"redirection": "downgrade",
"source_context_list": [
{
"policyDeliveries": [],
"sourceContextType": "worker-module-data"
}
],
"source_scheme": "https",
"subresource": "xhr",
"subresource_policy_deliveries": [],
"test_description": "Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context."
}
],
new SanityChecker()
).start();
</script>
<div id="log"></div>
</body>
</html>

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