From 5dc1649544ff57f254893f756b33a2b5cb291e5a Mon Sep 17 00:00:00 2001 From: WPT Sync Bot Date: Fri, 23 Feb 2018 20:08:37 -0500 Subject: [PATCH] Update web-platform-tests to revision 0fe9f012a8ee5503b728a379705a6c5286ba1e96 --- tests/wpt/metadata/MANIFEST.json | 413 +++++++++++++++++- .../default-iterator-object.html.ini | 7 + .../iterator-prototype-object.html.ini | 7 + .../pending-style-changes-001.html.ini | 7 + .../abspos-autopos-htb-ltr.html.ini | 2 + .../abspos-autopos-htb-rtl.html.ini | 2 + .../abspos-autopos-vlr-ltr.html.ini | 2 + .../abspos-autopos-vlr-rtl.html.ini | 2 + .../abspos-autopos-vrl-ltr.html.ini | 2 + .../abspos-autopos-vrl-rtl.html.ini | 2 + .../vh_not_refreshing_on_chrome.html.ini | 2 - .../opening-the-input-stream/010.html.ini | 4 + .../metadata/workers/data-url-shared.html.ini | 6 + tests/wpt/metadata/workers/data-url.html.ini | 3 + .../css/border_radius_elliptical_a.html.ini | 1 + .../meta/css/iframe/hide_after_load.html.ini | 2 + .../meta/css/line_break_nowrap.html.ini | 2 + .../css/transition_calc_implicit.html.ini | 2 + .../simple_scroll_to_fragment.html.ini | 2 + tests/wpt/web-platform-tests/.pyup.yml | 40 ++ .../default-iterator-object.html | 27 ++ .../iterator-prototype-object.html | 56 +++ ...onSensor-shake-threshold-manual.https.html | 32 ++ ...ice-same-from-2-characteristics.https.html | 19 + .../service-same-object.https.html | 16 + .../readValue/read-succeeds.https.html | 21 + .../disconnected.https.html | 19 + .../disconnected_gc.https.html | 24 + .../one-event-per-disconnection.https.html | 32 ++ ...nnect-during-disconnected-event.https.html | 34 ++ .../idl/idl-BluetoothDevice.https.html | 31 ++ .../device-same-from-2-services.https.html | 18 + .../service/device-same-object.https.html | 17 + .../clipboard-apis/copy-event-manual.html | 19 + .../clipboard-apis/cut-event-manual.html | 19 + .../clipboard-apis/paste-event-manual.html | 21 + .../required-csp-header-cascade.html | 67 +++ .../required_csp-header.html | 8 +- .../support/echo-required-csp.py | 26 +- .../support/testharness-helper.sub.js | 22 +- .../pending-style-changes-001.html | 34 ++ .../css-flexbox/abspos-autopos-htb-ltr.html | 34 ++ .../css-flexbox/abspos-autopos-htb-rtl.html | 34 ++ .../css-flexbox/abspos-autopos-vlr-ltr.html | 34 ++ .../css-flexbox/abspos-autopos-vlr-rtl.html | 34 ++ .../css-flexbox/abspos-autopos-vrl-ltr.html | 34 ++ .../css-flexbox/abspos-autopos-vrl-rtl.html | 34 ++ .../properties/background-color.html | 30 ++ .../properties/border-color.html | 33 ++ .../properties/caret-color.html | 35 ++ .../properties/color.html | 30 ++ .../properties/column-rule-color.html | 30 ++ .../properties/outline-color.html | 31 ++ .../properties/resources/testsuite.js | 29 ++ .../properties/text-decoration-color.html | 30 ++ .../properties/text-emphasis-color.html | 30 ++ .../custom-elements/pseudo-class-defined.html | 19 +- .../move-to-fullscreen-iframe-manual.html | 15 +- .../interfaces/geolocation-sensor.idl | 22 +- .../service-worker/resource-timing.https.html | 102 +++-- .../resources/resource-timing-iframe.sub.html | 2 + .../web-platform-tests/tools/wpt/browser.py | 28 +- .../tools/wpt/requirements.txt | 2 +- .../tools/wptrunner/requirements_sauce.txt | 2 +- .../webrtc/RTCDTMFSender-helper.js | 43 +- .../RTCDTMFSender-insertDTMF.https.html | 2 +- .../RTCDTMFSender-ontonechange.https.html | 4 +- .../workers/data-url-shared.html | 17 +- .../web-platform-tests/workers/data-url.html | 16 +- 69 files changed, 1716 insertions(+), 112 deletions(-) create mode 100644 tests/wpt/metadata/WebIDL/ecmascript-binding/default-iterator-object.html.ini create mode 100644 tests/wpt/metadata/WebIDL/ecmascript-binding/iterator-prototype-object.html.ini create mode 100644 tests/wpt/metadata/css/css-animations/pending-style-changes-001.html.ini create mode 100644 tests/wpt/metadata/css/css-flexbox/abspos-autopos-htb-ltr.html.ini create mode 100644 tests/wpt/metadata/css/css-flexbox/abspos-autopos-htb-rtl.html.ini create mode 100644 tests/wpt/metadata/css/css-flexbox/abspos-autopos-vlr-ltr.html.ini create mode 100644 tests/wpt/metadata/css/css-flexbox/abspos-autopos-vlr-rtl.html.ini create mode 100644 tests/wpt/metadata/css/css-flexbox/abspos-autopos-vrl-ltr.html.ini create mode 100644 tests/wpt/metadata/css/css-flexbox/abspos-autopos-vrl-rtl.html.ini delete mode 100644 tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini create mode 100644 tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini create mode 100644 tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini create mode 100644 tests/wpt/mozilla/meta/css/line_break_nowrap.html.ini create mode 100644 tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini create mode 100644 tests/wpt/mozilla/meta/mozilla/simple_scroll_to_fragment.html.ini create mode 100644 tests/wpt/web-platform-tests/.pyup.yml create mode 100644 tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object.html create mode 100644 tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html create mode 100644 tests/wpt/web-platform-tests/accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/characteristic/service-same-from-2-characteristics.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/characteristic/service-same-object.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/descriptor/readValue/read-succeeds.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/disconnected.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/service/device-same-from-2-services.https.html create mode 100644 tests/wpt/web-platform-tests/bluetooth/service/device-same-object.https.html create mode 100644 tests/wpt/web-platform-tests/clipboard-apis/copy-event-manual.html create mode 100644 tests/wpt/web-platform-tests/clipboard-apis/cut-event-manual.html create mode 100644 tests/wpt/web-platform-tests/clipboard-apis/paste-event-manual.html create mode 100644 tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/required-csp-header-cascade.html create mode 100644 tests/wpt/web-platform-tests/css/css-animations/pending-style-changes-001.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-htb-ltr.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-htb-rtl.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vlr-ltr.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vlr-rtl.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vrl-ltr.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vrl-rtl.html create mode 100644 tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-color.html create mode 100644 tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-color.html create mode 100644 tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/caret-color.html create mode 100644 tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/color.html create mode 100644 tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html create mode 100644 tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/outline-color.html create mode 100644 tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html create mode 100644 tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 706145f0b16..42d376d0c6f 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -133,6 +133,12 @@ {} ] ], + "accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html": [ + [ + "/accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html", + {} + ] + ], "accname/description_from_content_of_describedby_element-manual.html": [ [ "/accname/description_from_content_of_describedby_element-manual.html", @@ -1105,6 +1111,24 @@ {} ] ], + "clipboard-apis/copy-event-manual.html": [ + [ + "/clipboard-apis/copy-event-manual.html", + {} + ] + ], + "clipboard-apis/cut-event-manual.html": [ + [ + "/clipboard-apis/cut-event-manual.html", + {} + ] + ], + "clipboard-apis/paste-event-manual.html": [ + [ + "/clipboard-apis/paste-event-manual.html", + {} + ] + ], "console/console-count-logging-manual.html": [ [ "/console/console-count-logging-manual.html", @@ -108417,6 +108441,78 @@ {} ] ], + "css/css-flexbox/abspos-autopos-htb-ltr.html": [ + [ + "/css/css-flexbox/abspos-autopos-htb-ltr.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-flexbox/abspos-autopos-htb-rtl.html": [ + [ + "/css/css-flexbox/abspos-autopos-htb-rtl.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-flexbox/abspos-autopos-vlr-ltr.html": [ + [ + "/css/css-flexbox/abspos-autopos-vlr-ltr.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-flexbox/abspos-autopos-vlr-rtl.html": [ + [ + "/css/css-flexbox/abspos-autopos-vlr-rtl.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-flexbox/abspos-autopos-vrl-ltr.html": [ + [ + "/css/css-flexbox/abspos-autopos-vrl-ltr.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "css/css-flexbox/abspos-autopos-vrl-rtl.html": [ + [ + "/css/css-flexbox/abspos-autopos-vrl-rtl.html", + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "css/css-flexbox/align-content-001.htm": [ [ "/css/css-flexbox/align-content-001.htm", @@ -185322,6 +185418,11 @@ {} ] ], + "./.pyup.yml": [ + [ + {} + ] + ], "./.travis.yml": [ [ {} @@ -305730,6 +305831,12 @@ {} ] ], + "WebIDL/ecmascript-binding/default-iterator-object.html": [ + [ + "/WebIDL/ecmascript-binding/default-iterator-object.html", + {} + ] + ], "WebIDL/ecmascript-binding/es-exceptions/DOMException-constants.any.js": [ [ "/WebIDL/ecmascript-binding/es-exceptions/DOMException-constants.any.html", @@ -305794,6 +305901,12 @@ {} ] ], + "WebIDL/ecmascript-binding/iterator-prototype-object.html": [ + [ + "/WebIDL/ecmascript-binding/iterator-prototype-object.html", + {} + ] + ], "WebIDL/ecmascript-binding/legacy-callback-interface-object.html": [ [ "/WebIDL/ecmascript-binding/legacy-callback-interface-object.html", @@ -306314,6 +306427,22 @@ } ] ], + "bluetooth/characteristic/service-same-from-2-characteristics.https.html": [ + [ + "/bluetooth/characteristic/service-same-from-2-characteristics.https.html", + { + "testdriver": true + } + ] + ], + "bluetooth/characteristic/service-same-object.https.html": [ + [ + "/bluetooth/characteristic/service-same-object.https.html", + { + "testdriver": true + } + ] + ], "bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.html": [ [ "/bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.html", @@ -306362,6 +306491,14 @@ } ] ], + "bluetooth/descriptor/readValue/read-succeeds.https.html": [ + [ + "/bluetooth/descriptor/readValue/read-succeeds.https.html", + { + "testdriver": true + } + ] + ], "bluetooth/descriptor/writeValue/gen-service-is-removed.https.html": [ [ "/bluetooth/descriptor/writeValue/gen-service-is-removed.https.html", @@ -306370,12 +306507,52 @@ } ] ], + "bluetooth/device/gattserverdisconnected-event/disconnected.https.html": [ + [ + "/bluetooth/device/gattserverdisconnected-event/disconnected.https.html", + { + "testdriver": true + } + ] + ], + "bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.html": [ + [ + "/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.html", + { + "testdriver": true + } + ] + ], + "bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.html": [ + [ + "/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.html", + { + "testdriver": true + } + ] + ], + "bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.html": [ + [ + "/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.html", + { + "testdriver": true + } + ] + ], "bluetooth/idl/idl-Bluetooth.html": [ [ "/bluetooth/idl/idl-Bluetooth.html", {} ] ], + "bluetooth/idl/idl-BluetoothDevice.https.html": [ + [ + "/bluetooth/idl/idl-BluetoothDevice.https.html", + { + "testdriver": true + } + ] + ], "bluetooth/idl/idl-BluetoothUUID.html": [ [ "/bluetooth/idl/idl-BluetoothUUID.html", @@ -307140,6 +307317,22 @@ } ] ], + "bluetooth/service/device-same-from-2-services.https.html": [ + [ + "/bluetooth/service/device-same-from-2-services.https.html", + { + "testdriver": true + } + ] + ], + "bluetooth/service/device-same-object.https.html": [ + [ + "/bluetooth/service/device-same-object.https.html", + { + "testdriver": true + } + ] + ], "bluetooth/service/getCharacteristic/characteristic-found.https.html": [ [ "/bluetooth/service/getCharacteristic/characteristic-found.https.html", @@ -307640,6 +307833,12 @@ {} ] ], + "content-security-policy/embedded-enforcement/required-csp-header-cascade.html": [ + [ + "/content-security-policy/embedded-enforcement/required-csp-header-cascade.html", + {} + ] + ], "content-security-policy/embedded-enforcement/required_csp-header.html": [ [ "/content-security-policy/embedded-enforcement/required_csp-header.html", @@ -310676,6 +310875,12 @@ } ] ], + "css/css-animations/pending-style-changes-001.html": [ + [ + "/css/css-animations/pending-style-changes-001.html", + {} + ] + ], "css/css-backgrounds/background-331.html": [ [ "/css/css-backgrounds/background-331.html", @@ -315724,12 +315929,24 @@ {} ] ], + "css/css-typed-om/the-stylepropertymap/properties/background-color.html": [ + [ + "/css/css-typed-om/the-stylepropertymap/properties/background-color.html", + {} + ] + ], "css/css-typed-om/the-stylepropertymap/properties/background-image.html": [ [ "/css/css-typed-om/the-stylepropertymap/properties/background-image.html", {} ] ], + "css/css-typed-om/the-stylepropertymap/properties/border-color.html": [ + [ + "/css/css-typed-om/the-stylepropertymap/properties/border-color.html", + {} + ] + ], "css/css-typed-om/the-stylepropertymap/properties/border-style.html": [ [ "/css/css-typed-om/the-stylepropertymap/properties/border-style.html", @@ -315748,6 +315965,24 @@ {} ] ], + "css/css-typed-om/the-stylepropertymap/properties/caret-color.html": [ + [ + "/css/css-typed-om/the-stylepropertymap/properties/caret-color.html", + {} + ] + ], + "css/css-typed-om/the-stylepropertymap/properties/color.html": [ + [ + "/css/css-typed-om/the-stylepropertymap/properties/color.html", + {} + ] + ], + "css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html": [ + [ + "/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html", + {} + ] + ], "css/css-typed-om/the-stylepropertymap/properties/display.html": [ [ "/css/css-typed-om/the-stylepropertymap/properties/display.html", @@ -315784,6 +316019,12 @@ {} ] ], + "css/css-typed-om/the-stylepropertymap/properties/outline-color.html": [ + [ + "/css/css-typed-om/the-stylepropertymap/properties/outline-color.html", + {} + ] + ], "css/css-typed-om/the-stylepropertymap/properties/padding.html": [ [ "/css/css-typed-om/the-stylepropertymap/properties/padding.html", @@ -315808,12 +316049,24 @@ {} ] ], + "css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html": [ + [ + "/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html", + {} + ] + ], "css/css-typed-om/the-stylepropertymap/properties/text-decoration-style.html": [ [ "/css/css-typed-om/the-stylepropertymap/properties/text-decoration-style.html", {} ] ], + "css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html": [ + [ + "/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html", + {} + ] + ], "css/css-typed-om/the-stylepropertymap/properties/top.html": [ [ "/css/css-typed-om/the-stylepropertymap/properties/top.html", @@ -388881,6 +389134,10 @@ "525f7d93f00f11086aabc1f652cf06623e21986c", "support" ], + "./.pyup.yml": [ + "0f4dffbe91d06bbfce52245ea7ef8058d3f3a3b8", + "support" + ], "./.travis.yml": [ "975f331eb3438e5b66ccd721e1afce796b6af0d5", "support" @@ -395249,6 +395506,10 @@ "3d9564314c7ce59ce6a29dfa94c35e496e214bf5", "testharness" ], + "WebIDL/ecmascript-binding/default-iterator-object.html": [ + "1a7f8c61771a412544ef4a1aa187f5823615197f", + "testharness" + ], "WebIDL/ecmascript-binding/es-exceptions/DOMException-constants.any.js": [ "34432979f039c4e1ba4eb90d4f2acc96d1d441d8", "testharness" @@ -395281,6 +395542,10 @@ "13d2a9dbbd0d78e240c2b88d548f88ba41184e5f", "testharness" ], + "WebIDL/ecmascript-binding/iterator-prototype-object.html": [ + "60a872f6a82df3dc4438168ae4d0c3516ba03bba", + "testharness" + ], "WebIDL/ecmascript-binding/legacy-callback-interface-object.html": [ "4eac8c853a0627577d2bd96ed76c45bd187a5734", "testharness" @@ -395781,6 +396046,10 @@ "c82f9595dc2582b2da40549a358da1c3fc2ff820", "manual" ], + "accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html": [ + "30e8588ff49a1d526d65aac89bc80f4782715914", + "manual" + ], "accelerometer/OWNERS": [ "b119dbb984792f33c6e7463f3105d37c3c3b7ad8", "support" @@ -398833,6 +399102,14 @@ "b79a74ccf33bc76e6582ee7c1e2f3c277f99ddfb", "testharness" ], + "bluetooth/characteristic/service-same-from-2-characteristics.https.html": [ + "975aff2aff29d024b7afd73fc301244e490951a7", + "testharness" + ], + "bluetooth/characteristic/service-same-object.https.html": [ + "61955287698126b45ccc44f296b53a5876e23858", + "testharness" + ], "bluetooth/characteristic/startNotifications/gen-characteristic-is-removed.https.html": [ "97f5d01743721207c5addfb9625fd3da7c0c61e3", "testharness" @@ -398857,10 +399134,30 @@ "47f1bd316ae7d2637524a1b5d4436a3f11b20fd0", "testharness" ], + "bluetooth/descriptor/readValue/read-succeeds.https.html": [ + "dc7dd900f79a9205af3e904a309d565ae409afe9", + "testharness" + ], "bluetooth/descriptor/writeValue/gen-service-is-removed.https.html": [ "07c2dc0a081786302040942a989cc49f6b3fa3ca", "testharness" ], + "bluetooth/device/gattserverdisconnected-event/disconnected.https.html": [ + "ee14803683f17133c6147c2eaf250befbaaf0be1", + "testharness" + ], + "bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.html": [ + "6b4676f3b9b34ffa45ff616eb9d3c514e33ad471", + "testharness" + ], + "bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.html": [ + "a0fbabe94fe246c2031fe4baf30ba52b58a17b36", + "testharness" + ], + "bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.html": [ + "a66e1df2d870876d06ad0990ea523153539eff0e", + "testharness" + ], "bluetooth/generate.py": [ "ef112d89bc14d0e9ebbb457798609f6000a80935", "support" @@ -398873,6 +399170,10 @@ "9ef91a8214b3a46278d8b9b442b34d9052342342", "testharness" ], + "bluetooth/idl/idl-BluetoothDevice.https.html": [ + "b4c78ec760b61420a82f4a1a2951fb2eaa6af10d", + "testharness" + ], "bluetooth/idl/idl-BluetoothUUID.html": [ "4feb7657e77a18489bbe2d7a98405470c6ce0b82", "testharness" @@ -399377,6 +399678,14 @@ "60b7203a67f69acfd884f0b256dd7357fe717392", "testharness" ], + "bluetooth/service/device-same-from-2-services.https.html": [ + "e321ec75c308f64f29c7208e6b6769f7497d7cd7", + "testharness" + ], + "bluetooth/service/device-same-object.https.html": [ + "971c1836c90695bdb6b9ae76ef4f488b254c5e40", + "testharness" + ], "bluetooth/service/getCharacteristic/characteristic-found.https.html": [ "53479f342ef4aab9a24aaaa4580a63b5e6bcd30b", "testharness" @@ -399533,6 +399842,18 @@ "e69933ca4cdc42105d469b7ffb105aa60a8e0875", "manual" ], + "clipboard-apis/copy-event-manual.html": [ + "e81d71b8fd70ba571bbded9df62c460f5799b335", + "manual" + ], + "clipboard-apis/cut-event-manual.html": [ + "39f1e3f3f492a8da5fa00841b3a982ca4f47b14e", + "manual" + ], + "clipboard-apis/paste-event-manual.html": [ + "26ecfb7c87f732aab17cf1084440111153f5771f", + "manual" + ], "common/OWNERS": [ "13fbb201f77b9929d7f5693b70855c9b68abc70b", "support" @@ -417677,8 +417998,12 @@ "d5a253732352f46d33c1a58d1a3183a88daa3a75", "testharness" ], + "content-security-policy/embedded-enforcement/required-csp-header-cascade.html": [ + "94bb2f69cbef65ac9c062fe38990b5dcf4a5812c", + "testharness" + ], "content-security-policy/embedded-enforcement/required_csp-header.html": [ - "b5c68072adf79a87b1371c34a9357a1507d6d981", + "ad4636d3552abe07c662513a8b7673fa4e5f59d6", "testharness" ], "content-security-policy/embedded-enforcement/subsumption_algorithm-general.html": [ @@ -417742,11 +418067,11 @@ "support" ], "content-security-policy/embedded-enforcement/support/echo-required-csp.py": [ - "3ece10b38406736c7ca5cd0c1b5fb9e8088ef655", + "8d73332cdc154e05cdfa936d3f6b936b9c0ebdba", "support" ], "content-security-policy/embedded-enforcement/support/testharness-helper.sub.js": [ - "01887343762a0f997ee59c8392a63d0a6101b1f9", + "23feae559098474ba96b15f07619b9d7dba12dec", "support" ], "content-security-policy/font-src/font-match-allowed.sub.html": [ @@ -480025,6 +480350,10 @@ "d4692e2ac84a6dbbc9efd7937964d43ecd9dd109", "manual" ], + "css/css-animations/pending-style-changes-001.html": [ + "5f2bf4b6712dd230109be62407cd31800451a271", + "testharness" + ], "css/css-backgrounds/OWNERS": [ "656d9f4e3a66f8cb955910171b9997140e4bbd8e", "support" @@ -486361,6 +486690,30 @@ "fe3aff8ac5243f870350d3a0eaa3393f93705c53", "support" ], + "css/css-flexbox/abspos-autopos-htb-ltr.html": [ + "d29f529c4d361705c3c5481f465e9e329ac7cb73", + "reftest" + ], + "css/css-flexbox/abspos-autopos-htb-rtl.html": [ + "02d905c849b93c526c4f60674177189e5851bcdb", + "reftest" + ], + "css/css-flexbox/abspos-autopos-vlr-ltr.html": [ + "849b20949f116f7876e09203a960a31c732ead22", + "reftest" + ], + "css/css-flexbox/abspos-autopos-vlr-rtl.html": [ + "7039b16d7789dca89df92092ee9e398fa7638c14", + "reftest" + ], + "css/css-flexbox/abspos-autopos-vrl-ltr.html": [ + "ab60d0e7d2ea15107a3c473fe700d8090fcbf9ec", + "reftest" + ], + "css/css-flexbox/abspos-autopos-vrl-rtl.html": [ + "7039b16d7789dca89df92092ee9e398fa7638c14", + "reftest" + ], "css/css-flexbox/align-content-001.htm": [ "fca8923c7a29229ae744af295a70533e306f3dd1", "reftest" @@ -519433,10 +519786,18 @@ "05e0be2c67fd695d693f2a639acf88ff78d8fd04", "testharness" ], + "css/css-typed-om/the-stylepropertymap/properties/background-color.html": [ + "f52a2182afc7107a9f411a27aab81c4c4c90ef1e", + "testharness" + ], "css/css-typed-om/the-stylepropertymap/properties/background-image.html": [ "1255fea8e74561e14720ccf422fd841e1d3e32fa", "testharness" ], + "css/css-typed-om/the-stylepropertymap/properties/border-color.html": [ + "5b8adde602ac79d8b1ea92bd29f25d8756d72f8a", + "testharness" + ], "css/css-typed-om/the-stylepropertymap/properties/border-style.html": [ "5d258827fb6a26d07efbdf5b47a440300f0aa307", "testharness" @@ -519449,6 +519810,18 @@ "e710943711544b28d07676df15966950c0d76efa", "testharness" ], + "css/css-typed-om/the-stylepropertymap/properties/caret-color.html": [ + "d4139aeff755abe89ee1e04fcd34ccfba4efe91c", + "testharness" + ], + "css/css-typed-om/the-stylepropertymap/properties/color.html": [ + "291f8e058d1fa6e342f4316c0760ec4cbdbc403c", + "testharness" + ], + "css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html": [ + "ec00a4b773f2ae421b8f688908925e28d2281614", + "testharness" + ], "css/css-typed-om/the-stylepropertymap/properties/display.html": [ "26ba44d8d5146b9d606a1668659ee16876b371c5", "testharness" @@ -519473,6 +519846,10 @@ "3812b01e648e3b043abbd2fe82c3733309da49ad", "testharness" ], + "css/css-typed-om/the-stylepropertymap/properties/outline-color.html": [ + "612e77914108dbba0b271b20eb3e9e80199349b3", + "testharness" + ], "css/css-typed-om/the-stylepropertymap/properties/padding.html": [ "70c2e29badef7528469bcf11e1cb7bbc6cd519ea", "testharness" @@ -519482,7 +519859,7 @@ "testharness" ], "css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js": [ - "b0978c7b09302ce534bdf9e77d880610edbbe6ef", + "a3df35f32209493e429282b89f4fdcc6581abe07", "support" ], "css/css-typed-om/the-stylepropertymap/properties/right.html": [ @@ -519493,10 +519870,18 @@ "88a1f5866a767c25dec2ef75728c68c5631d371f", "testharness" ], + "css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html": [ + "fe6d3765ca8fea1c1963a310d0aa35fa68089a9b", + "testharness" + ], "css/css-typed-om/the-stylepropertymap/properties/text-decoration-style.html": [ "aa9698c5b4cb896fc43c58794df84ec0bbb0e3e9", "testharness" ], + "css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html": [ + "9419ab219034d1fb732965ebd3a03934bcaddf5a", + "testharness" + ], "css/css-typed-om/the-stylepropertymap/properties/top.html": [ "218b50f6b7d8209514bca8d0a8121263b07ab1e2", "testharness" @@ -541954,7 +542339,7 @@ "testharness" ], "custom-elements/pseudo-class-defined.html": [ - "cf29756830dc12e60390c08486bbb3170c9c9c71", + "9cef47df0d95c620f754c477609f6088059879a2", "testharness" ], "custom-elements/reaction-timing.html": [ @@ -548654,7 +549039,7 @@ "testharness" ], "fullscreen/model/move-to-fullscreen-iframe-manual.html": [ - "0fc5409f5e44177e1153fb61c25506c05114dc35", + "62aec7e1d5065bf99a00fc533c8c6d6704ac2010", "manual" ], "fullscreen/model/move-to-iframe-manual.html": [ @@ -568494,7 +568879,7 @@ "support" ], "interfaces/geolocation-sensor.idl": [ - "158edb1945e5b3cefdb92953c6b3caf191d86986", + "7f5defe8969fd21ed1b8eeaedc9a766cb4b695c1", "support" ], "interfaces/geometry.idl": [ @@ -589098,7 +589483,7 @@ "testharness" ], "service-workers/service-worker/resource-timing.https.html": [ - "a835a0baeb4fcc0c44e6be28502f89308464acc5", + "23cadb03b48a885dbbd9a5dfdc38b5b58f99d18a", "testharness" ], "service-workers/service-worker/resources/404.py": [ @@ -589930,7 +590315,7 @@ "support" ], "service-workers/service-worker/resources/resource-timing-iframe.sub.html": [ - "c18c96a25dec48ae9d53359d4ca987ba857878a1", + "75bd224a9680af0557c53fb6e77645e4e0b8173d", "support" ], "service-workers/service-worker/resources/resource-timing-worker.js": [ @@ -598766,11 +599151,11 @@ "testharness" ], "webrtc/RTCDTMFSender-helper.js": [ - "205469a5d95d35c0cdc091afafa49ecaccac7e2d", + "79825a416ad8e027628e80c9e0ef1a8dca2d8ca3", "support" ], "webrtc/RTCDTMFSender-insertDTMF.https.html": [ - "50ef787a77512dc7eea7731b9766fda4d1456694", + "591337627bf4bd0e40e6a5660efa9fc1e320d89f", "testharness" ], "webrtc/RTCDTMFSender-ontonechange-long.https.html": [ @@ -598778,7 +599163,7 @@ "testharness" ], "webrtc/RTCDTMFSender-ontonechange.https.html": [ - "5d81b305d0b46f158e1533ffea648ae61f09c58a", + "4f53cbc7fafeeed5202774b58d4bf721055b382e", "testharness" ], "webrtc/RTCDataChannel-bufferedAmount.html": [ @@ -603742,11 +604127,11 @@ "support" ], "workers/data-url-shared.html": [ - "3650dbf419d8bbfe7380a36426793336998975cc", + "7fae8fa78f0e66ffa8cf0dd1bf3e887fae349e4e", "testharness" ], "workers/data-url.html": [ - "c693eac37e1a8856b82a923b2f1142360afc6411", + "3de4925fb0a05ecf4da839dbf9b293c73a3c0354", "testharness" ], "workers/interfaces.worker.js": [ diff --git a/tests/wpt/metadata/WebIDL/ecmascript-binding/default-iterator-object.html.ini b/tests/wpt/metadata/WebIDL/ecmascript-binding/default-iterator-object.html.ini new file mode 100644 index 00000000000..af18edfa206 --- /dev/null +++ b/tests/wpt/metadata/WebIDL/ecmascript-binding/default-iterator-object.html.ini @@ -0,0 +1,7 @@ +[default-iterator-object.html] + [Object.prototype.toString returns correct value] + expected: FAIL + + [@@toStringTag has correct value from prototype] + expected: FAIL + diff --git a/tests/wpt/metadata/WebIDL/ecmascript-binding/iterator-prototype-object.html.ini b/tests/wpt/metadata/WebIDL/ecmascript-binding/iterator-prototype-object.html.ini new file mode 100644 index 00000000000..7e739cd32f0 --- /dev/null +++ b/tests/wpt/metadata/WebIDL/ecmascript-binding/iterator-prototype-object.html.ini @@ -0,0 +1,7 @@ +[iterator-prototype-object.html] + [Object.prototype.toString returns correct value] + expected: FAIL + + [@@toStringTag has correct value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-animations/pending-style-changes-001.html.ini b/tests/wpt/metadata/css/css-animations/pending-style-changes-001.html.ini new file mode 100644 index 00000000000..26accdad30b --- /dev/null +++ b/tests/wpt/metadata/css/css-animations/pending-style-changes-001.html.ini @@ -0,0 +1,7 @@ +[pending-style-changes-001.html] + [Animatable::getAnimations() should be able to see a style-created CSS animation immediately] + expected: FAIL + + [Document::getAnimations() should be able to see a style-created CSS animation immediately] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-flexbox/abspos-autopos-htb-ltr.html.ini b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-htb-ltr.html.ini new file mode 100644 index 00000000000..7c4a69a3e72 --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-htb-ltr.html.ini @@ -0,0 +1,2 @@ +[abspos-autopos-htb-ltr.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-flexbox/abspos-autopos-htb-rtl.html.ini b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-htb-rtl.html.ini new file mode 100644 index 00000000000..3e647b62b4d --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-htb-rtl.html.ini @@ -0,0 +1,2 @@ +[abspos-autopos-htb-rtl.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vlr-ltr.html.ini b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vlr-ltr.html.ini new file mode 100644 index 00000000000..14a6cbfcaa1 --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vlr-ltr.html.ini @@ -0,0 +1,2 @@ +[abspos-autopos-vlr-ltr.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vlr-rtl.html.ini b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vlr-rtl.html.ini new file mode 100644 index 00000000000..76046a7b677 --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vlr-rtl.html.ini @@ -0,0 +1,2 @@ +[abspos-autopos-vlr-rtl.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vrl-ltr.html.ini b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vrl-ltr.html.ini new file mode 100644 index 00000000000..b79a95f7664 --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vrl-ltr.html.ini @@ -0,0 +1,2 @@ +[abspos-autopos-vrl-ltr.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vrl-rtl.html.ini b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vrl-rtl.html.ini new file mode 100644 index 00000000000..7d0f3d6cab1 --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/abspos-autopos-vrl-rtl.html.ini @@ -0,0 +1,2 @@ +[abspos-autopos-vrl-rtl.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini b/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini deleted file mode 100644 index 26435e28b09..00000000000 --- a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[vh_not_refreshing_on_chrome.html] - expected: FAIL diff --git a/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini b/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini new file mode 100644 index 00000000000..33164945eb6 --- /dev/null +++ b/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini @@ -0,0 +1,4 @@ +[010.html] + [Salvagability of document.opened document] + expected: FAIL + diff --git a/tests/wpt/metadata/workers/data-url-shared.html.ini b/tests/wpt/metadata/workers/data-url-shared.html.ini index 036709be081..1241a6a6d52 100644 --- a/tests/wpt/metadata/workers/data-url-shared.html.ini +++ b/tests/wpt/metadata/workers/data-url-shared.html.ini @@ -30,3 +30,9 @@ [A data: URL shared worker should not be shared among origins.] expected: FAIL + [indexedDB is present] + expected: FAIL + + [indexedDB is inaccessible] + expected: FAIL + diff --git a/tests/wpt/metadata/workers/data-url.html.ini b/tests/wpt/metadata/workers/data-url.html.ini index ddcfc38e63b..c842ce5047d 100644 --- a/tests/wpt/metadata/workers/data-url.html.ini +++ b/tests/wpt/metadata/workers/data-url.html.ini @@ -3,3 +3,6 @@ [worker has opaque origin] expected: FAIL + [indexedDB is present] + expected: FAIL + diff --git a/tests/wpt/mozilla/meta/css/border_radius_elliptical_a.html.ini b/tests/wpt/mozilla/meta/css/border_radius_elliptical_a.html.ini index 05cd04dccf2..030543a5009 100644 --- a/tests/wpt/mozilla/meta/css/border_radius_elliptical_a.html.ini +++ b/tests/wpt/mozilla/meta/css/border_radius_elliptical_a.html.ini @@ -1,2 +1,3 @@ [border_radius_elliptical_a.html] bug: https://github.com/servo/servo/issues/19271 + expected: FAIL diff --git a/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini b/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini new file mode 100644 index 00000000000..65c78fd3a4a --- /dev/null +++ b/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini @@ -0,0 +1,2 @@ +[hide_after_load.html] + expected: TIMEOUT diff --git a/tests/wpt/mozilla/meta/css/line_break_nowrap.html.ini b/tests/wpt/mozilla/meta/css/line_break_nowrap.html.ini new file mode 100644 index 00000000000..6d8e7cb0453 --- /dev/null +++ b/tests/wpt/mozilla/meta/css/line_break_nowrap.html.ini @@ -0,0 +1,2 @@ +[line_break_nowrap.html] + expected: FAIL diff --git a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini new file mode 100644 index 00000000000..dbea4f293ad --- /dev/null +++ b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini @@ -0,0 +1,2 @@ +[transition_calc_implicit.html] + expected: TIMEOUT diff --git a/tests/wpt/mozilla/meta/mozilla/simple_scroll_to_fragment.html.ini b/tests/wpt/mozilla/meta/mozilla/simple_scroll_to_fragment.html.ini new file mode 100644 index 00000000000..1fb12157a34 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/simple_scroll_to_fragment.html.ini @@ -0,0 +1,2 @@ +[simple_scroll_to_fragment.html] + expected: FAIL diff --git a/tests/wpt/web-platform-tests/.pyup.yml b/tests/wpt/web-platform-tests/.pyup.yml new file mode 100644 index 00000000000..be8cb20e3ba --- /dev/null +++ b/tests/wpt/web-platform-tests/.pyup.yml @@ -0,0 +1,40 @@ +# search for requirement files +# default: True +# allowed: True, False +search: False + +# Specify requirement files by hand, default is empty +# default: empty +# allowed: list +requirements: + - tools/wptrunner/requirements_chrome_android.txt: + update: all + pin: True + - tools/wptrunner/requirements_edge.txt: + update: all + pin: True + - tools/wptrunner/requirements_opera.txt: + update: all + pin: True + - tools/wptrunner/requirements_servo.txt: + update: all + pin: True + - tools/wptrunner/requirements_sauce.txt: + update: all + pin: True + - tools/wptrunner/requirements_ie.txt: + update: all + pin: True + - tools/wptrunner/requirements.txt: + update: all + pin: True + - tools/wptrunner/requirements_firefox.txt: + update: all + pin: True + - tools/wptrunner/requirements_chrome.txt: + update: all + pin: True + - tools/wpt/requirements.txt: + update: all + pin: True + diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object.html new file mode 100644 index 00000000000..c7e9188521a --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/default-iterator-object.html @@ -0,0 +1,27 @@ + + +Default iterator objects + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html new file mode 100644 index 00000000000..5a935fa2013 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/iterator-prototype-object.html @@ -0,0 +1,56 @@ + + +Iterator prototype objects + + + diff --git a/tests/wpt/web-platform-tests/accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html b/tests/wpt/web-platform-tests/accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html new file mode 100644 index 00000000000..c0746e5ebd5 --- /dev/null +++ b/tests/wpt/web-platform-tests/accelerometer/LinearAccelerationSensor-shake-threshold-manual.https.html @@ -0,0 +1,32 @@ + + +LinearAccelerationSensor Shake Threshold Test + + + + +

+ Shake gesture along x axis of the device. +

+ diff --git a/tests/wpt/web-platform-tests/bluetooth/characteristic/service-same-from-2-characteristics.https.html b/tests/wpt/web-platform-tests/bluetooth/characteristic/service-same-from-2-characteristics.https.html new file mode 100644 index 00000000000..aa156b2e988 --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/characteristic/service-same-from-2-characteristics.https.html @@ -0,0 +1,19 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/characteristic/service-same-object.https.html b/tests/wpt/web-platform-tests/bluetooth/characteristic/service-same-object.https.html new file mode 100644 index 00000000000..ee961216983 --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/characteristic/service-same-object.https.html @@ -0,0 +1,16 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/descriptor/readValue/read-succeeds.https.html b/tests/wpt/web-platform-tests/bluetooth/descriptor/readValue/read-succeeds.https.html new file mode 100644 index 00000000000..35ff057cbad --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/descriptor/readValue/read-succeeds.https.html @@ -0,0 +1,21 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/disconnected.https.html b/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/disconnected.https.html new file mode 100644 index 00000000000..19ad407c93e --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/disconnected.https.html @@ -0,0 +1,19 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.html b/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.html new file mode 100644 index 00000000000..bde70370a7c --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/disconnected_gc.https.html @@ -0,0 +1,24 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.html b/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.html new file mode 100644 index 00000000000..68bf79f2086 --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/one-event-per-disconnection.https.html @@ -0,0 +1,32 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.html b/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.html new file mode 100644 index 00000000000..ee2e59882aa --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/device/gattserverdisconnected-event/reconnect-during-disconnected-event.https.html @@ -0,0 +1,34 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html b/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html new file mode 100644 index 00000000000..855d8fed800 --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/idl/idl-BluetoothDevice.https.html @@ -0,0 +1,31 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/service/device-same-from-2-services.https.html b/tests/wpt/web-platform-tests/bluetooth/service/device-same-from-2-services.https.html new file mode 100644 index 00000000000..366549378e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/service/device-same-from-2-services.https.html @@ -0,0 +1,18 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/bluetooth/service/device-same-object.https.html b/tests/wpt/web-platform-tests/bluetooth/service/device-same-object.https.html new file mode 100644 index 00000000000..f43e9f022d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/service/device-same-object.https.html @@ -0,0 +1,17 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/clipboard-apis/copy-event-manual.html b/tests/wpt/web-platform-tests/clipboard-apis/copy-event-manual.html new file mode 100644 index 00000000000..e4cf3379ace --- /dev/null +++ b/tests/wpt/web-platform-tests/clipboard-apis/copy-event-manual.html @@ -0,0 +1,19 @@ + +The copy event + + + +
+

Select and copy any part of this text to continue. + diff --git a/tests/wpt/web-platform-tests/clipboard-apis/cut-event-manual.html b/tests/wpt/web-platform-tests/clipboard-apis/cut-event-manual.html new file mode 100644 index 00000000000..abef6f94bf6 --- /dev/null +++ b/tests/wpt/web-platform-tests/clipboard-apis/cut-event-manual.html @@ -0,0 +1,19 @@ + +The cut event + + + +

+ + diff --git a/tests/wpt/web-platform-tests/clipboard-apis/paste-event-manual.html b/tests/wpt/web-platform-tests/clipboard-apis/paste-event-manual.html new file mode 100644 index 00000000000..4131a41bff6 --- /dev/null +++ b/tests/wpt/web-platform-tests/clipboard-apis/paste-event-manual.html @@ -0,0 +1,21 @@ + +The paste event + + + +
+ +

Some pre-selected text to copy for convenience

+ diff --git a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/required-csp-header-cascade.html b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/required-csp-header-cascade.html new file mode 100644 index 00000000000..f130b1714e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/required-csp-header-cascade.html @@ -0,0 +1,67 @@ + + + +Embedded Enforcement: Sec-Required-CSP header. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/required_csp-header.html b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/required_csp-header.html index 9e7894b6b30..510c25b0b00 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/required_csp-header.html +++ b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/required_csp-header.html @@ -58,25 +58,25 @@ tests.forEach(test => { async_test(t => { var url = generateURLString(Host.SAME_ORIGIN, PolicyHeader.REQUIRED_CSP); - assert_required_csp(t, url, test.csp, test.expected); + assert_required_csp(t, url, test.csp, [test.expected]); }, "Test same origin: " + test.name); async_test(t => { var url = generateURLString(Host.SAME_ORIGIN, PolicyHeader.REQUIRED_CSP); var redirect_url = generateRedirect(Host.SAME_ORIGIN, url); - assert_required_csp(t, redirect_url, test.csp, test.expected); + assert_required_csp(t, redirect_url, test.csp, [test.expected]); }, "Test same origin redirect: " + test.name); async_test(t => { var url = generateURLString(Host.SAME_ORIGIN, PolicyHeader.REQUIRED_CSP); var redirect_url = generateRedirect(Host.CROSS_ORIGIN, url); - assert_required_csp(t, redirect_url, test.csp, test.expected); + assert_required_csp(t, redirect_url, test.csp, [test.expected]); }, "Test cross origin redirect: " + test.name); async_test(t => { var url = generateURLString(Host.CROSS_ORIGIN, PolicyHeader.REQUIRED_CSP); var redirect_url = generateRedirect(Host.CROSS_ORIGIN, url); - assert_required_csp(t, redirect_url, test.csp, test.expected); + assert_required_csp(t, redirect_url, test.csp, [test.expected]); }, "Test cross origin redirect of cross origin iframe: " + test.name); async_test(t => { diff --git a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/echo-required-csp.py b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/echo-required-csp.py index 165ba9aa37a..930a1f60853 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/echo-required-csp.py +++ b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/echo-required-csp.py @@ -3,13 +3,37 @@ def main(request, response): header = request.headers.get("Sec-Required-CSP"); message = {} message['required_csp'] = header if header else None + second_level_iframe_code = "" + if "include_second_level_iframe" in request.GET: + if "second_level_iframe_csp" in request.GET and request.GET["second_level_iframe_csp"] <> "": + second_level_iframe_code = ''''''.format(request.GET["second_level_iframe_csp"]) + else: + second_level_iframe_code = '''''' + return [("Content-Type", "text/html"), ("Allow-CSP-From", "*")], ''' + + +{1} + -'''.format(json.dumps(message)) +'''.format(json.dumps(message), second_level_iframe_code, str(request.headers)) diff --git a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js index f6a64b073e4..c48a136b936 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js +++ b/tests/wpt/web-platform-tests/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js @@ -34,16 +34,25 @@ function getSecureCrossOrigin() { return url.toString(); } -function generateURL(host, path) { +function generateURL(host, path, include_second_level_iframe, second_level_iframe_csp) { var url = new URL("http://{{host}}:{{ports[http][0]}}/content-security-policy/embedded-enforcement/support/"); url.hostname = host == Host.SAME_ORIGIN ? "{{host}}" : "{{domains[天気の良い日]}}"; url.pathname += path; + if (include_second_level_iframe) { + url.searchParams.append("include_second_level_iframe", ""); + if (second_level_iframe_csp) + url.searchParams.append("second_level_iframe_csp", second_level_iframe_csp); + } return url; } function generateURLString(host, path) { - return generateURL(host, path).toString(); + return generateURL(host, path, false, "").toString(); +} + +function generateURLStringWithSecondIframeParams(host, path, second_level_iframe_csp) { + return generateURL(host, path, true, second_level_iframe_csp).toString(); } function generateRedirect(host, target) { @@ -77,8 +86,13 @@ function assert_required_csp(t, url, csp, expected) { window.addEventListener('message', t.step_func(e => { if (e.source != i.contentWindow || !('required_csp' in e.data)) return; - assert_equals(e.data['required_csp'], expected); - t.done(); + + if (expected.indexOf(e.data['required_csp']) == -1) + assert_unreached('Child iframes have unexpected csp:"' + e.data['required_csp'] + '"'); + + expected.splice(expected.indexOf(e.data['required_csp']), 1); + if (expected.length == 0) + t.done(); })); document.body.appendChild(i); diff --git a/tests/wpt/web-platform-tests/css/css-animations/pending-style-changes-001.html b/tests/wpt/web-platform-tests/css/css-animations/pending-style-changes-001.html new file mode 100644 index 00000000000..fb74d7fa7d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-animations/pending-style-changes-001.html @@ -0,0 +1,34 @@ + +CSS Animations Test: requirement on pending style changes - getAnimations + + + + + + + +
+ + diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-htb-ltr.html b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-htb-ltr.html new file mode 100644 index 00000000000..095936edf8b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-htb-ltr.html @@ -0,0 +1,34 @@ + +Absolutely positioned child with auto position in vertical-rl ltr flexbox + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-htb-rtl.html b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-htb-rtl.html new file mode 100644 index 00000000000..b377e8dd6dd --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-htb-rtl.html @@ -0,0 +1,34 @@ + +Absolutely positioned child with auto position in vertical-rl ltr flexbox + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vlr-ltr.html b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vlr-ltr.html new file mode 100644 index 00000000000..02c7cf3fd90 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vlr-ltr.html @@ -0,0 +1,34 @@ + +Absolutely positioned child with auto position in vertical-rl ltr flexbox + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vlr-rtl.html b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vlr-rtl.html new file mode 100644 index 00000000000..a156a727a52 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vlr-rtl.html @@ -0,0 +1,34 @@ + +Absolutely positioned child with auto position in vertical-rl ltr flexbox + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vrl-ltr.html b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vrl-ltr.html new file mode 100644 index 00000000000..99ea3c41ca9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vrl-ltr.html @@ -0,0 +1,34 @@ + +Absolutely positioned child with auto position in vertical-rl ltr flexbox + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vrl-rtl.html b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vrl-rtl.html new file mode 100644 index 00000000000..a156a727a52 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/abspos-autopos-vrl-rtl.html @@ -0,0 +1,34 @@ + +Absolutely positioned child with auto position in vertical-rl ltr flexbox + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-color.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-color.html new file mode 100644 index 00000000000..f684a40fb62 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/background-color.html @@ -0,0 +1,30 @@ + + +'background-color' property + + + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-color.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-color.html new file mode 100644 index 00000000000..3ce4ca94fce --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/border-color.html @@ -0,0 +1,33 @@ + + +'border-color' properties + + + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/caret-color.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/caret-color.html new file mode 100644 index 00000000000..5ea78a08d38 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/caret-color.html @@ -0,0 +1,35 @@ + + +'caret-color' property + + + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/color.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/color.html new file mode 100644 index 00000000000..f56182977c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/color.html @@ -0,0 +1,30 @@ + + +'color' property + + + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html new file mode 100644 index 00000000000..3d35b856d71 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html @@ -0,0 +1,30 @@ + + +'column-rule-color' property + + + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/outline-color.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/outline-color.html new file mode 100644 index 00000000000..6bfec87a8c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/outline-color.html @@ -0,0 +1,31 @@ + + +'outline-color' property + + + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js index d75a0d86c2d..a198c414246 100644 --- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/resources/testsuite.js @@ -228,6 +228,25 @@ function testPropertyInvalid(propertyName, examples, description) { }, `Setting '${propertyName}' to ${description} throws TypeError`); } +// Test that styleMap.get/.set roundtrips correctly for unsupported values. +function testUnsupportedValue(propertyName, cssText) { + test(t => { + let element1 = createDivWithStyle(t); + let element2 = createDivWithStyle(t); + + element1.style[propertyName] = cssText; + const result = element1.attributeStyleMap.get(propertyName); + assert_not_equals(result, null, + 'Unsupported value must not be null'); + assert_class_string(result, 'CSSStyleValue', + 'Unsupported value must be a CSSStyleValue and not one of its subclasses'); + + element2.attributeStyleMap.set(propertyName, result); + assert_equals(element2.style[propertyName], element1.style[propertyName], + 'Unsupported value can be set on different element'); + }, `'${propertyName}' does not supported '${cssText}'`); +} + function createKeywordExample(keyword) { return { description: `the '${keyword}' keyword`, @@ -297,3 +316,13 @@ function runPropertyTests(propertyName, testCases) { } } } + +// Check that |propertyName| doesn't "support" examples in |testExamples|. +// |testExamples| is a list of CSS string values. An "unsupported" value +// doesn't have a corresponding Typed OM representation. It normalizes as +// the base CSSStyleValue. +function runUnsupportedPropertyTests(propertyName, testExamples) { + for (const cssText of testExamples) { + testUnsupportedValue(propertyName, cssText); + } +} diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html new file mode 100644 index 00000000000..b76f82c3ea1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html @@ -0,0 +1,30 @@ + + +'text-decoration-color' property + + + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html new file mode 100644 index 00000000000..8623d3dfb9b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html @@ -0,0 +1,30 @@ + + +'text-emphasis-color' property + + + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/custom-elements/pseudo-class-defined.html b/tests/wpt/web-platform-tests/custom-elements/pseudo-class-defined.html index 30d5ac9ce25..60d88cffb51 100644 --- a/tests/wpt/web-platform-tests/custom-elements/pseudo-class-defined.html +++ b/tests/wpt/web-platform-tests/custom-elements/pseudo-class-defined.html @@ -9,6 +9,7 @@ const testList = [ { tag_name: 'a-a', defined: false }, { tag_name: 'font-face', defined: true }, { tag_name: 'abbr', is: 'my-abbr', defined: false }, + { tag_name: 'p', is: '', defined: false }, ]; // Setup iframe to test the parser. @@ -20,7 +21,7 @@ iframe.srcdoc = `` - + testList.map(d => `<${d.tag_name}${d.is ? ' is=' + d.is : ''}>`).join(''); + + testList.map(d => `<${d.tag_name}${d.is !== undefined ? ' is=' + d.is : ''}>`).join(''); setup({ explicit_done: true }); iframe.onload = () => { const doc = iframe.contentDocument; @@ -31,7 +32,8 @@ iframe.onload = () => { `<${data.tag_name}${data.is ? ' is=' + data.is : ''}>`); // Test DOM createElement() methods. - test_defined_for_createElement(data.defined, !data.defined, doc, data.tag_name, data.is); + let try_upgrade = !data.defined && (data.is === undefined || data.is.length > 0); + test_defined_for_createElement(data.defined, try_upgrade, doc, data.tag_name, data.is); // Documents without browsing context should behave the same. test_defined_for_createElement(data.defined, false, doc_without_browsing_context, data.tag_name, data.is, 'Without browsing context: '); @@ -41,21 +43,22 @@ iframe.onload = () => { }; function test_defined_for_createElement(defined, should_test_change, doc, tag_name, is, description = '') { - let is_desc = is ? `, { is: "${is}" }` : ''; + let has_is = is !== undefined; + let is_desc = has_is ? `, { is: "${is}" }` : ''; // Test document.createElement(). - let element = is ? doc.createElement(tag_name, { is: is }) : doc.createElement(tag_name); + let element = has_is ? doc.createElement(tag_name, { is: is }) : doc.createElement(tag_name); doc.body.appendChild(element); test_defined(defined, element, `${description}createElement("${tag_name}"${is_desc})`); // Test document.createElementNS(). - let html_element = is ? doc.createElementNS('http://www.w3.org/1999/xhtml', tag_name, { is: is }) - : doc.createElementNS('http://www.w3.org/1999/xhtml', tag_name); + let html_element = has_is ? doc.createElementNS('http://www.w3.org/1999/xhtml', tag_name, { is: is }) + : doc.createElementNS('http://www.w3.org/1999/xhtml', tag_name); doc.body.appendChild(html_element); test_defined(defined, html_element, `${description}createElementNS("http://www.w3.org/1999/xhtml", "${tag_name}"${is_desc})`); // If the element namespace is not HTML, it should be "uncustomized"; i.e., "defined". - let svg_element = is ? doc.createElementNS('http://www.w3.org/2000/svg', tag_name, { is: is }) - : doc.createElementNS('http://www.w3.org/2000/svg', tag_name); + let svg_element = has_is ? doc.createElementNS('http://www.w3.org/2000/svg', tag_name, { is: is }) + : doc.createElementNS('http://www.w3.org/2000/svg', tag_name); doc.body.appendChild(svg_element); test_defined(true, svg_element, `${description}createElementNS("http://www.w3.org/2000/svg", "${tag_name}"${is_desc})`); diff --git a/tests/wpt/web-platform-tests/fullscreen/model/move-to-fullscreen-iframe-manual.html b/tests/wpt/web-platform-tests/fullscreen/model/move-to-fullscreen-iframe-manual.html index d152f7d144b..683865a0e00 100644 --- a/tests/wpt/web-platform-tests/fullscreen/model/move-to-fullscreen-iframe-manual.html +++ b/tests/wpt/web-platform-tests/fullscreen/model/move-to-fullscreen-iframe-manual.html @@ -12,6 +12,8 @@ async_test(t => { // Enter fullscreen for the iframe's body element. trusted_request(t, iframeDoc.body, document.body); document.onfullscreenchange = t.step_func(() => { + assert_equals(document.fullscreenElement, iframe, "document's initial fullscreen element"); + assert_equals(iframeDoc.fullscreenElement, iframeDoc.body, "iframe's initial fullscreen element"); // Then, move the outer document's body into the iframe. This is an unusual // thing to do, but means that the iframe is removed from its document and @@ -20,12 +22,15 @@ async_test(t => { // If we exit in an orderly fashion, that's all one can ask for. document.onfullscreenchange = t.step_func_done(() => { - assert_equals(document.fullscreenElement, null, "document's fullscreen element"); + assert_equals(document.fullscreenElement, null, "document's final fullscreen element"); - // the iframe's contentDocument has become undefined, but the reference - // we're holding on to should not have a fullscreen element either. - assert_equals(iframe.contentDocuemnt, undefined, "iframe's content document"); - assert_equals(iframeDoc.fullscreenElement, null, "iframe's fullscreen element"); + // Because the iframe was removed, its browsing context was discarded and + // its contentDocument has become null. Because that browsing context was + // neither a descendant browsing context nor had an active document, + // nothing at all was done with it in the exit fullscreen algorithm, so + // its fullscreenElement is unchanged. + assert_equals(iframe.contentDocument, null, "iframe's content document"); + assert_equals(iframeDoc.fullscreenElement, iframeDoc.body, "iframe's final fullscreen element"); }); }); }); diff --git a/tests/wpt/web-platform-tests/interfaces/geolocation-sensor.idl b/tests/wpt/web-platform-tests/interfaces/geolocation-sensor.idl index 81891551e50..28508db389c 100644 --- a/tests/wpt/web-platform-tests/interfaces/geolocation-sensor.idl +++ b/tests/wpt/web-platform-tests/interfaces/geolocation-sensor.idl @@ -1,5 +1,6 @@ -[Constructor(optional SensorOptions options), SecureContext, Exposed=Window] +[Constructor(optional GeolocationSensorOptions options), SecureContext, Exposed=Window] interface GeolocationSensor : Sensor { + static Promise read(optional ReadOptions readOptions); readonly attribute unrestricted double? latitude; readonly attribute unrestricted double? longitude; readonly attribute unrestricted double? altitude; @@ -8,3 +9,22 @@ interface GeolocationSensor : Sensor { readonly attribute unrestricted double? heading; readonly attribute unrestricted double? speed; }; + +dictionary GeolocationSensorOptions : SensorOptions { + // placeholder for GeolocationSensor-specific options +}; + +dictionary ReadOptions : GeolocationSensorOptions { + AbortSignal? signal; +}; + +dictionary GeolocationSensorReading { + DOMHighResTimeStamp? timestamp; + double? latitude; + double? longitude; + double? altitude; + double? accuracy; + double? altitudeAccuracy; + double? heading; + double? speed; +}; diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resource-timing.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/resource-timing.https.html index da898e2bf6d..f6e197cf868 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resource-timing.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resource-timing.https.html @@ -12,28 +12,33 @@ function crossOriginUrl(path) { return get_host_info()['HTTPS_REMOTE_ORIGIN'] + base_path() + path; } -function verify(performance, resource, mode, description) { - var url = mode === 'cross-origin' ? crossOriginUrl(resource) - : resourceUrl(resource); - var entryList = performance.getEntries(); - var entry = performance.getEntriesByName(url)[0]; - assert_greater_than(entry.workerStart, 0, description); - assert_greater_than_equal(entry.workerStart, entry.startTime, description); - assert_less_than_equal(entry.workerStart, entry.fetchStart, description); - if (mode === 'cross-origin') { - assert_equals(entry.responseStart, 0, description); - assert_greater_than_equal(entry.responseEnd, entry.fetchStart, description); - } else { - assert_greater_than_equal(entry.responseStart, entry.fetchStart, description); - assert_greater_than_equal(entry.responseEnd, entry.responseStart, description); +function verify(options) { + var url = options.mode === 'cross-origin' ? crossOriginUrl(options.resource) + : resourceUrl(options.resource); + var entryList = options.performance.getEntriesByName(url); + if (entryList.length === 0 && options.allow_no_performance_entry) { + // The performance timeline may not have an entry for a resource + // which failed to load. + return; } - assert_greater_than(entry.responseEnd, entry.fetchStart, description); - assert_greater_than(entry.duration, 0, description); - if (resource.indexOf('redirect.py') != -1) { - assert_less_than_equal(entry.workerStart, entry.redirectStart, - description); + var entry = entryList[0]; + assert_greater_than(entry.workerStart, 0, options.description); + assert_greater_than_equal(entry.workerStart, entry.startTime, options.description); + assert_less_than_equal(entry.workerStart, entry.fetchStart, options.description); + if (options.mode === 'cross-origin') { + assert_equals(entry.responseStart, 0, options.description); + assert_greater_than_equal(entry.responseEnd, entry.fetchStart, options.description); } else { - assert_equals(entry.redirectStart, 0, description); + assert_greater_than_equal(entry.responseStart, entry.fetchStart, options.description); + assert_greater_than_equal(entry.responseEnd, entry.responseStart, options.description); + } + assert_greater_than(entry.responseEnd, entry.fetchStart, options.description); + assert_greater_than(entry.duration, 0, options.description); + if (options.resource.indexOf('redirect.py') != -1) { + assert_less_than_equal(entry.workerStart, entry.redirectStart, + options.description); + } else { + assert_equals(entry.redirectStart, 0, options.description); } } @@ -52,19 +57,54 @@ async_test(function(t) { }) .then(function(frame) { var performance = frame.contentWindow.performance; - verify(performance, 'resources/dummy.js', 'same-origin', - 'Generated response'); - verify(performance, 'resources/empty.js', 'same-origin', - 'Network fallback'); - verify(performance, 'resources/redirect.py?Redirect=empty.js', - 'same-origin', 'Redirect'); - verify(performance, 'resources/missing.jpg', 'same-origin', - 'Network fallback image'); - + verify({ + performance: performance, + resource: 'resources/dummy.js', + mode: 'same-origin', + description: 'Generated response', + }); + verify({ + performance: performance, + resource: 'resources/empty.js', + mode: 'same-origin', + description: 'Network fallback', + }); + verify({ + performance: performance, + resource: 'resources/redirect.py?Redirect=empty.js', + mode: 'same-origin', + description: 'Redirect', + }); + verify({ + performance: performance, + resource: 'resources/square.png', + mode: 'same-origin', + description: 'Network fallback image', + }); // Test that worker start is available on cross-origin no-cors // subresources. - verify(performance, 'resources/missing.jpg', 'cross-origin', - 'Network fallback cross-origin image'); + verify({ + performance: performance, + resource: 'resources/square.png', + mode: 'cross-origin', + description: 'Network fallback cross-origin image', + }); + + // Tests for resouces which failed to load. + verify({ + performance: performance, + resource: 'resources/missing.jpg', + mode: 'same-origin', + description: 'Network fallback load failure', + allow_no_performance_entry: true, + }); + verify({ + performance: performance, + resource: 'resources/missing.jpg', + mode: 'cross-origin', + description: 'Network fallback cross-origin load failure', + allow_no_performance_entry: true, + }); frame.remove(); return registration.unregister(); diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/resource-timing-iframe.sub.html b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/resource-timing-iframe.sub.html index c9308ea515e..69cff7c00af 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/resource-timing-iframe.sub.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/resource-timing-iframe.sub.html @@ -2,5 +2,7 @@ + + diff --git a/tests/wpt/web-platform-tests/tools/wpt/browser.py b/tests/wpt/web-platform-tests/tools/wpt/browser.py index 71b9edc63d3..86580f9c58b 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/browser.py +++ b/tests/wpt/web-platform-tests/tools/wpt/browser.py @@ -211,7 +211,7 @@ class Firefox(Browser): class Chrome(Browser): """Chrome-specific interface. - Includes installation, webdriver installation, and wptrunner setup methods. + Includes webdriver installation, and wptrunner setup methods. """ product = "chrome" @@ -284,9 +284,9 @@ class Chrome(Browser): class ChromeAndroid(Browser): - """Chrome-specific interface for android. + """Chrome-specific interface for Android. - Includes installation, webdriver installation, and wptrunner setup methods. + Includes webdriver installation. """ product = "chrome_android" @@ -309,7 +309,7 @@ class ChromeAndroid(Browser): class Opera(Browser): """Opera-specific interface. - Includes installation, webdriver installation, and wptrunner setup methods. + Includes webdriver installation, and wptrunner setup methods. """ product = "opera" @@ -386,10 +386,7 @@ class Opera(Browser): class Edge(Browser): - """Edge-specific interface. - - Includes installation, webdriver installation, and wptrunner setup methods. - """ + """Edge-specific interface.""" product = "edge" requirements = "requirements_edge.txt" @@ -409,10 +406,7 @@ class Edge(Browser): class InternetExplorer(Browser): - """Internet Explorer-specific interface. - - Includes installation, webdriver installation, and wptrunner setup methods. - """ + """Internet Explorer-specific interface.""" product = "ie" requirements = "requirements_ie.txt" @@ -432,10 +426,7 @@ class InternetExplorer(Browser): class Servo(Browser): - """Servo-specific interface. - - Includes installation, webdriver installation, and wptrunner setup methods. - """ + """Servo-specific interface.""" product = "servo" requirements = "requirements_servo.txt" @@ -457,10 +448,7 @@ class Servo(Browser): class Sauce(Browser): - """Sauce-specific interface. - - Includes installation, webdriver installation, and wptrunner setup methods. - """ + """Sauce-specific interface.""" product = "sauce" requirements = "requirements_sauce.txt" diff --git a/tests/wpt/web-platform-tests/tools/wpt/requirements.txt b/tests/wpt/web-platform-tests/tools/wpt/requirements.txt index 7369cb8e02c..271baf7e23f 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/requirements.txt +++ b/tests/wpt/web-platform-tests/tools/wpt/requirements.txt @@ -1 +1 @@ -requests==2.14.2 +requests==2.18.4 diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_sauce.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_sauce.txt index 51bce11d7b9..ed4d59a1e78 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_sauce.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_sauce.txt @@ -1,3 +1,3 @@ mozprocess == 0.26 selenium == 3.9.0 -requests +requests==2.18.4 diff --git a/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-helper.js b/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-helper.js index 97bb6f93479..23c01d9f756 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-helper.js +++ b/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-helper.js @@ -8,17 +8,50 @@ // The following helper functions are called from RTCPeerConnection-helper.js: // getTrackFromUserMedia +// doSignalingHandshake // Create a RTCDTMFSender using getUserMedia() +// Connect the PeerConnection to another PC and wait until it is +// properly connected, so that DTMF can be sent. function createDtmfSender(pc = new RTCPeerConnection()) { + var dtmfSender; return getTrackFromUserMedia('audio') .then(([track, mediaStream]) => { const sender = pc.addTrack(track, mediaStream); - const dtmfSender = sender.dtmf; - + dtmfSender = sender.dtmf; assert_true(dtmfSender instanceof RTCDTMFSender, - 'Expect audio sender.dtmf to be set to a RTCDTMFSender'); - + 'Expect audio sender.dtmf to be set to a RTCDTMFSender'); + // Note: spec bug open - https://github.com/w3c/webrtc-pc/issues/1774 + // on whether sending should be possible before negotiation. + const pc2 = new RTCPeerConnection(); + Object.defineProperty(pc, 'otherPc', { value: pc2 }); + exchangeIceCandidates(pc, pc2); + return doSignalingHandshake(pc, pc2); + }).then(() => { + // Wait until dtmfSender.canInsertDTMF becomes true. + // Up to 150 ms has been observed in test. Wait 1 second + // in steps of 10 ms. + // Note: Using a short timeout and rejected promise in order to + // make test return a clear error message on failure. + return new Promise((resolve, reject) => { + let counter = 0; + let checkfunc = function() { + if (dtmfSender.canInsertDTMF) { + resolve(); + } else { + if (counter >= 100) { + reject('Waited too long for canInsertDTMF'); + return; + } + ++counter; + step_timeout(checkfunc, 10); + } + }; + checkfunc(); + }); + }).then(() => { + assert_true(dtmfSender.canInsertDTMF, + 'Failed to create usable dtmfSender:'); return dtmfSender; }); } @@ -89,12 +122,12 @@ function test_tone_change_events(testFunc, toneChanges, desc) { t.step_func(() => { t.done(); pc.close(); + pc.otherPc.close(); }), expectedDuration + 100); } }); dtmfSender.addEventListener('tonechange', onToneChange); - testFunc(t, dtmfSender, pc); }) .catch(t.step_func(err => { diff --git a/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html b/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html index 1f6a453db54..e49a79e4aa0 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-insertDTMF.https.html @@ -55,7 +55,7 @@ */ promise_test(t => { return createDtmfSender() - .then(dtmfSender => { + .then(dtmfSender => { dtmfSender.insertDTMF(''); dtmfSender.insertDTMF('012345689'); dtmfSender.insertDTMF('ABCD'); diff --git a/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-ontonechange.https.html b/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-ontonechange.https.html index fcaa5099c23..9fa900c7368 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-ontonechange.https.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCDTMFSender-ontonechange.https.html @@ -50,7 +50,7 @@ 7. Fire an event named tonechange with a string consisting of tone at the RTCDTMFSender object. */ - test_tone_change_events(dtmfSender => { + test_tone_change_events((t, dtmfSender) => { dtmfSender.insertDTMF('123'); }, [ ['1', '23', 0], @@ -59,7 +59,7 @@ ['', '', 170] ], 'insertDTMF() with default duration and intertoneGap should fire tonechange events at the expected time'); - test_tone_change_events(dtmfSender => { + test_tone_change_events((t, dtmfSender) => { dtmfSender.insertDTMF('abc', 100, 70); }, [ ['A', 'BC', 0], diff --git a/tests/wpt/web-platform-tests/workers/data-url-shared.html b/tests/wpt/web-platform-tests/workers/data-url-shared.html index edaed99152a..7b51b4b9207 100644 --- a/tests/wpt/web-platform-tests/workers/data-url-shared.html +++ b/tests/wpt/web-platform-tests/workers/data-url-shared.html @@ -1,5 +1,5 @@ -data URL shared worker +data URL shared workers @@ -15,8 +15,8 @@ function assert_worker_sends_pass(test_desc, mime_type, worker_code) { }, test_desc); } -function assert_worker_throws(test_desc, worker_code, before_connect_worker_code) { - assert_worker_sends_pass(test_desc, '', `try { ${worker_code}; port.postMessage("FAIL"); } catch (e) { port.postMessage("PASS"); }`, before_connect_worker_code); +function assert_worker_throws(test_desc, worker_code) { + assert_worker_sends_pass(test_desc, '', `try { ${worker_code}; port.postMessage("FAIL"); } catch (e) { port.postMessage("PASS"); }`); } // Any MIME type allowed @@ -28,12 +28,17 @@ assert_worker_sends_pass('empty MIME allowed', '', 'port.postMessage("PASS")'); assert_worker_sends_pass('communication goes both ways', 'application/javascript', 'port.onmessage = function(e) { port.postMessage("PASS"); }'); // test access to storage APIs -// once https://github.com/w3c/IndexedDB/pull/150 lands, this is spec conforming -assert_worker_throws('indexedDB inaccessible', 'self.indexedDB.open("someDBName")'); -assert_worker_throws('Web SQL Database inaccessible', 'self.openDatabase("someDBName", "1.0", "someDBName", 1);'); + +// https://w3c.github.io/IndexedDB/#dom-idbfactory-open +assert_worker_sends_pass('indexedDB is present', '', 'port.postMessage("indexedDB" in self ? "PASS" : "FAIL")'); +assert_worker_throws('indexedDB is inaccessible', 'self.indexedDB.open("someDBName")'); +// Other standardized storage APIs are either not exposed to workers +// (e.g. window.localStorage, window.sessionStorage), or are [SecureContext] +// (e.g. self.caches). // 'data:' workers are cross-origin assert_worker_sends_pass('cross-origin worker', '', 'fetch("/").then(() => port.postMessage("FAIL"), () => port.postMessage("PASS"))'); + // 'data:' workers have opaque origin assert_worker_sends_pass('worker has opaque origin', 'application/javascript', 'if (self.location.origin == "null") port.postMessage("PASS"); else { port.postMessage("FAIL"); }'); diff --git a/tests/wpt/web-platform-tests/workers/data-url.html b/tests/wpt/web-platform-tests/workers/data-url.html index 1308eba8f62..f8fe65e520c 100644 --- a/tests/wpt/web-platform-tests/workers/data-url.html +++ b/tests/wpt/web-platform-tests/workers/data-url.html @@ -1,8 +1,7 @@ -Test workers can be started with a data URL +data URL dedicated workers -