From c67c5d4fb8380e7ce2b52cb7b0b11871d34190b2 Mon Sep 17 00:00:00 2001 From: WPT Sync Bot Date: Fri, 11 Dec 2020 08:19:25 +0000 Subject: [PATCH] Update web-platform-tests to revision 6ea3164d34a632b16b857d7474985b93acd8de11 --- .../url/url-in-tags-revoke.window.js.ini | 2 +- .../CSS2/floats/hit-test-floats-004.html.ini | 4 - .../css/css-paint-api/dynamic-import.html.ini | 2 + .../top-level-await.https.html.ini | 2 + .../vh-support-transform-translate.html.ini | 2 + .../offsetTopLeft-border-box.html.ini | 7 - .../fetch/content-type/response.window.js.ini | 11 +- .../nosniff/parsing-nosniff.window.js.ini | 2 +- .../traverse_the_history_1.html.ini | 4 - .../traverse_the_history_4.html.ini | 4 + ...ross-origin-objects-on-new-window.html.ini | 2 + .../sandboxing/sandbox-document-open.html.ini | 7 + .../form-double-submit-2.html.ini | 4 + .../document-write/module-delayed.html.ini | 4 + .../module-static-import-delayed.html.ini | 4 + ...le-event-handler-settings-objects.html.ini | 3 - .../realtimeanalyser-fft-scaling.html.ini | 1 + .../sub-sample-buffer-stitching.html.ini | 6 + .../webmessaging/with-ports/018.html.ini | 5 + .../url/url-in-tags-revoke.window.js.ini | 2 +- tests/wpt/metadata/MANIFEST.json | 831 +++++++++++++----- .../CSS2/floats/hit-test-floats-004.html.ini | 4 - .../css/css-paint-api/dynamic-import.html.ini | 2 + .../top-level-await.https.html.ini | 2 + .../vh-support-transform-translate.html.ini | 2 + .../offsetTopLeft-border-box.html.ini | 7 - .../fetch/content-type/response.window.js.ini | 11 +- .../nosniff/parsing-nosniff.window.js.ini | 2 +- .../traverse_the_history_1.html.ini | 4 - .../traverse_the_history_4.html.ini | 4 + ...ross-origin-objects-on-new-window.html.ini | 2 + .../sandboxing/sandbox-document-open.html.ini | 7 + .../form-double-submit-2.html.ini | 4 + .../document-write/module-delayed.html.ini | 4 + .../module-static-import-delayed.html.ini | 4 + ...le-event-handler-settings-objects.html.ini | 3 - .../realtimeanalyser-fft-scaling.html.ini | 1 + .../sub-sample-buffer-stitching.html.ini | 6 + .../webmessaging/with-ports/018.html.ini | 5 + .../.well-known/origin-policy | 2 +- ...yle-allowed-while-cloning-objects.sub.html | 2 +- .../style-src/style-blocked.sub.html | 2 +- .../cookies/resources/cookie.py | 2 +- .../content-visibility-079-ref.html | 8 + .../content-visibility-079.html | 16 + .../flex-minimum-height-flex-items-013.html | 1 - .../grid-items/replaced-element-001.html | 22 + .../grid-items/replaced-element-002.html | 22 + .../grid-items/replaced-element-007.html | 22 + .../grid-items/replaced-element-010.html | 22 + .../mask-and-nested-clip-path.svg | 16 + .../mask-and-nested-clip-path-ref.svg | 3 + ...-containing-block-outside-spanner-ref.html | 1 + ...spos-containing-block-outside-spanner.html | 1 + .../overflow-negative-margin-dynamic.html | 14 + .../overflow-negative-margin.html | 7 + .../column-count-crash.https.html | 39 + .../css/css-paint-api/dynamic-import-ref.html | 10 + .../css/css-paint-api/dynamic-import.html | 37 + .../resources/imported-module.mjs | 2 + .../css-paint-api/top-level-await-ref.html | 10 + .../css-paint-api/top-level-await.https.html | 34 + .../aspect-ratio/grid-aspect-ratio-001.html | 22 + .../aspect-ratio/grid-aspect-ratio-002.html | 22 + .../aspect-ratio/grid-aspect-ratio-003.html | 22 + .../aspect-ratio/grid-aspect-ratio-004.html | 22 + .../aspect-ratio/grid-aspect-ratio-005.html | 23 + .../aspect-ratio/grid-aspect-ratio-006.html | 23 + .../aspect-ratio/grid-aspect-ratio-007.html | 22 + .../aspect-ratio/grid-aspect-ratio-008.html | 22 + .../aspect-ratio/grid-aspect-ratio-009.html | 22 + .../aspect-ratio/grid-aspect-ratio-010.html | 22 + .../aspect-ratio/grid-aspect-ratio-011.html | 22 + .../aspect-ratio/grid-aspect-ratio-012.html | 22 + .../aspect-ratio/grid-aspect-ratio-013.html | 22 + .../aspect-ratio/grid-aspect-ratio-014.html | 22 + .../docs/writing-tests/server-features.md | 12 + .../docs/writing-tests/wdspec.md | 3 +- .../fetch/metadata/resources/post-to-owner.py | 4 + tests/wpt/web-platform-tests/html/README.md | 3 +- .../sandboxing/resources/document-open.html | 16 + .../sandboxing/sandbox-document-open.html | 52 ++ ...bout-blank-while-initial-load-pending.html | 26 + ...-colorManaged-convertToBlob-roundtrip.html | 10 +- .../canvas-createImageBitmap-e_srgb.html | 28 +- ...as-createPutGetImageData-colorManaged.html | 30 +- .../canvas-draw-high-bit-depth-images.html | 12 +- .../canvas-drawImage-e_srgb.html | 6 +- .../canvas-drawImage-offscreenCanvas.html | 17 +- .../canvas-getImageData-e_srgb.html | 8 +- .../imageData-colorManagedBehavior.html | 39 +- .../transferFromImageBitmap.html | 9 +- .../summary-in-ol-ref.html | 20 + .../the-details-element/summary-in-ol.html | 22 + .../packages-via-trailing-slashes.json | 18 +- .../resources/tricky-specifiers.json | 30 +- .../server/http2-websocket.sub.h2.any.js.ini | 10 + .../server/http2-websocket.sub.h2.any.js | 20 + .../server/wpt-server-wpt-flags.sub.html | 32 + .../webdriver/tests/test_load_file.py | 4 +- .../cross-document-root.html | 49 ++ tests/wpt/web-platform-tests/lint.ignore | 18 +- ...mediasource-webcodecs-addsourcebuffer.html | 16 +- .../showOpenFilePicker-manual.https.html | 21 + .../showPicker-errors.https.window.js | 6 + .../network-error-logging/support/nel.sub.js | 50 ++ ...cert_fetch_error-downgraded.tentative.html | 4 +- ...navigation-cert_fetch_error.tentative.html | 4 +- ...cert_parse_error-downgraded.tentative.html | 4 +- ...navigation-cert_parse_error.tentative.html | 4 +- ...rification_error-downgraded.tentative.html | 4 +- ...ion-cert_verification_error.tentative.html | 4 +- ...ailed-zero-success-fraction.tentative.html | 4 +- ...on-invalid_integrity_header.tentative.html | 4 +- ...porting-navigation-mi_error.tentative.html | 4 +- ...g-navigation-ok-no-referrer.tentative.html | 4 +- ...vigation-ok-origin-referrer.tentative.html | 4 +- ...sxg-reporting-navigation-ok.tentative.html | 4 +- ...ting-navigation-parse_error.tentative.html | 4 +- ...rification_error-downgraded.tentative.html | 4 +- ...ignature_verification_error.tentative.html | 4 +- ...e-header-integrity-mismatch.tentative.html | 4 +- .../web-platform-tests/tools/manifest/item.py | 16 +- .../tools/manifest/tests/test_item.py | 22 + .../web-platform-tests/tools/serve/serve.py | 1 + .../tools/third_party/h2/.gitignore | 11 - .../tools/third_party/h2/.travis.yml | 41 - .../tools/third_party/h2/CONTRIBUTORS.rst | 3 +- .../tools/third_party/h2/HISTORY.rst | 59 ++ .../tools/third_party/h2/MANIFEST.in | 3 +- .../tools/third_party/h2/docs/source/api.rst | 5 +- .../h2/docs/source/basic-usage.rst | 35 +- .../tools/third_party/h2/docs/source/conf.py | 4 +- .../h2/docs/source/negotiating-http2.rst | 11 +- .../h2/docs/source/twisted-head-example.rst | 4 +- .../h2/docs/source/twisted-post-example.rst | 2 +- .../h2/examples/asyncio/asyncio-server.py | 103 ++- .../h2/examples/asyncio/wsgi-server.py | 2 +- .../h2/examples/curio/curio-server.py | 18 +- .../h2/examples/eventlet/eventlet-server.py | 2 +- .../fragments/client_https_setup_fragment.py | 2 +- .../fragments/client_upgrade_fragment.py | 2 +- .../fragments/server_https_setup_fragment.py | 2 +- .../fragments/server_upgrade_fragment.py | 4 +- .../h2/examples/twisted/head_request.py | 4 +- .../h2/examples/twisted/post_request.py | 4 +- .../h2/examples/twisted/twisted-server.py | 34 +- .../tools/third_party/h2/h2/__init__.py | 2 +- .../tools/third_party/h2/h2/config.py | 8 +- .../tools/third_party/h2/h2/connection.py | 106 ++- .../tools/third_party/h2/h2/events.py | 39 +- .../tools/third_party/h2/h2/settings.py | 30 +- .../tools/third_party/h2/h2/stream.py | 44 +- .../tools/third_party/h2/h2/utilities.py | 45 +- .../tools/third_party/h2/setup.cfg | 8 + .../tools/third_party/h2/setup.py | 15 +- .../third_party/h2/test/test_basic_logic.py | 29 +- .../h2/test/test_closed_streams.py | 181 +++- .../tools/third_party/h2/test/test_events.py | 17 +- .../h2/test/test_flow_control_window.py | 36 + .../third_party/h2/test/test_h2_upgrade.py | 14 +- .../third_party/h2/test/test_head_request.py | 73 +- .../h2/test/test_invalid_frame_sequences.py | 32 +- .../h2/test/test_invalid_headers.py | 3 +- .../third_party/h2/test/test_settings.py | 191 ++-- .../third_party/h2/test/test_stream_reset.py | 20 +- .../h2/test/test_utility_functions.py | 50 +- .../third_party/h2/test_requirements.txt | 10 +- .../tools/third_party/h2/tox.ini | 42 +- .../tools/third_party/h2/utils/backport.sh | 1 + .../tools/third_party/hyperframe/HISTORY.rst | 12 + .../tools/third_party/hyperframe/PKG-INFO | 18 +- .../hyperframe/hyperframe.egg-info/PKG-INFO | 18 +- .../hyperframe/hyperframe/__init__.py | 2 +- .../hyperframe/hyperframe/flags.py | 7 +- .../hyperframe/hyperframe/frame.py | 2 + .../tools/third_party/hyperframe/setup.cfg | 3 + .../tools/third_party/hyperframe/setup.py | 4 +- .../hyperframe/test/test_frames.py | 47 +- .../tools/wptserve/wptserve/server.py | 175 +++- .../wptserve/wptserve/ws_h2_handshake.py | 247 ++++++ ...t-policy-callback-arguments.tentative.html | 3 + .../webdriver/tests/accept_alert/accept.py | 9 +- .../webdriver/tests/back/back.py | 11 +- .../webdriver/tests/back/user_prompts.py | 3 +- .../webdriver/tests/close_window/close.py | 5 +- .../webdriver/tests/delete_session/delete.py | 3 +- .../webdriver/tests/dismiss_alert/dismiss.py | 9 +- .../webdriver/tests/element_clear/clear.py | 43 +- .../tests/element_clear/user_prompts.py | 7 +- .../webdriver/tests/element_click/bubbling.py | 7 +- .../tests/element_click/center_point.py | 11 +- .../webdriver/tests/element_click/click.py | 3 +- .../tests/element_click/file_upload.py | 4 +- .../tests/element_click/interactability.py | 21 +- .../webdriver/tests/element_click/navigate.py | 15 +- .../tests/element_click/scroll_into_view.py | 6 +- .../webdriver/tests/element_click/select.py | 25 +- .../tests/element_click/shadow_dom.py | 17 +- .../webdriver/tests/element_click/stale.py | 3 +- .../tests/element_click/user_prompts.py | 7 +- .../element_send_keys/content_editable.py | 9 +- .../tests/element_send_keys/events.py | 7 +- .../tests/element_send_keys/file_upload.py | 33 +- .../tests/element_send_keys/form_controls.py | 9 +- .../element_send_keys/interactability.py | 23 +- .../element_send_keys/scroll_into_view.py | 12 +- .../tests/element_send_keys/send_keys.py | 9 +- .../tests/element_send_keys/user_prompts.py | 7 +- .../tests/execute_async_script/collections.py | 13 +- .../tests/execute_async_script/properties.py | 9 +- .../tests/execute_script/collections.py | 13 +- .../webdriver/tests/execute_script/cyclic.py | 5 +- .../webdriver/tests/execute_script/execute.py | 5 +- .../tests/execute_script/properties.py | 9 +- .../webdriver/tests/find_element/find.py | 11 +- .../tests/find_element/user_prompts.py | 7 +- .../tests/find_element_from_element/find.py | 17 +- .../find_element_from_element/user_prompts.py | 7 +- .../webdriver/tests/find_elements/find.py | 11 +- .../tests/find_elements/user_prompts.py | 7 +- .../tests/find_elements_from_element/find.py | 17 +- .../user_prompts.py | 7 +- .../webdriver/tests/forward/forward.py | 13 +- .../webdriver/tests/forward/user_prompts.py | 3 +- .../webdriver/tests/get_active_element/get.py | 13 +- .../tests/get_active_element/user_prompts.py | 7 +- .../webdriver/tests/get_alert_text/get.py | 7 +- .../webdriver/tests/get_current_url/get.py | 14 +- .../webdriver/tests/get_current_url/iframe.py | 24 +- .../tests/get_current_url/user_prompts.py | 7 +- .../tests/get_element_attribute/get.py | 9 +- .../get_element_attribute/user_prompts.py | 7 +- .../tests/get_element_css_value/get.py | 8 +- .../get_element_css_value/user_prompts.py | 7 +- .../tests/get_element_property/get.py | 15 +- .../get_element_property/user_prompts.py | 7 +- .../webdriver/tests/get_element_rect/get.py | 5 +- .../tests/get_element_rect/user_prompts.py | 7 +- .../tests/get_element_tag_name/get.py | 5 +- .../get_element_tag_name/user_prompts.py | 7 +- .../webdriver/tests/get_element_text/get.py | 5 +- .../tests/get_element_text/user_prompts.py | 7 +- .../webdriver/tests/get_named_cookie/get.py | 3 +- .../webdriver/tests/get_page_source/source.py | 3 +- .../tests/get_page_source/user_prompts.py | 7 +- .../webdriver/tests/get_title/get.py | 11 +- .../webdriver/tests/get_title/iframe.py | 26 +- .../webdriver/tests/get_title/user_prompts.py | 9 +- .../webdriver/tests/get_window_rect/get.py | 4 - .../tests/is_element_enabled/enabled.py | 21 +- .../tests/is_element_enabled/user_prompts.py | 7 +- .../tests/is_element_selected/selected.py | 22 +- .../tests/is_element_selected/user_prompts.py | 7 +- .../webdriver/tests/navigate_to/navigate.py | 5 +- .../tests/navigate_to/user_prompts.py | 7 +- .../webdriver/tests/new_window/new_tab.py | 3 +- .../webdriver/tests/new_window/new_window.py | 3 +- .../tests/perform_actions/pointer.py | 10 +- .../tests/perform_actions/pointer_origin.py | 32 +- .../perform_actions/pointer_tripleclick.py | 3 +- .../webdriver/tests/print/printcmd.py | 3 +- .../webdriver/tests/print/user_prompts.py | 7 +- .../webdriver/tests/refresh/refresh.py | 13 +- .../webdriver/tests/refresh/user_prompts.py | 7 +- .../webdriver/tests/send_alert_text/send.py | 5 +- .../webdriver/tests/support/fixtures.py | 46 +- .../webdriver/tests/support/inline.py | 30 +- .../tests/switch_to_frame/cross_origin.py | 5 +- .../webdriver/tests/switch_to_frame/switch.py | 10 +- .../tests/switch_to_frame/switch_number.py | 7 +- .../switch_to_frame/switch_webelement.py | 17 +- .../tests/switch_to_parent_frame/switch.py | 7 +- .../tests/switch_to_window/switch.py | 5 +- .../tests/take_element_screenshot/iframe.py | 5 +- .../take_element_screenshot/screenshot.py | 7 +- .../take_element_screenshot/user_prompts.py | 7 +- .../webdriver/tests/take_screenshot/iframe.py | 7 +- .../tests/take_screenshot/screenshot.py | 5 +- .../tests/take_screenshot/user_prompts.py | 7 +- .../websockets/constants.js | 3 + .../wpt/web-platform-tests/worklets/META.yml | 3 +- .../wpt/web-platform-tests/worklets/README.md | 2 +- .../xhr/resources/auth5/auth.py | 4 +- 284 files changed, 3792 insertions(+), 1407 deletions(-) delete mode 100644 tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/css-paint-api/dynamic-import.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/css-paint-api/top-level-await.https.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/css-values/vh-support-transform-translate.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeft-border-box.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/browsers/sandboxing/sandbox-document-open.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini create mode 100644 tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini delete mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini create mode 100644 tests/wpt/metadata/css/css-paint-api/dynamic-import.html.ini create mode 100644 tests/wpt/metadata/css/css-paint-api/top-level-await.https.html.ini create mode 100644 tests/wpt/metadata/css/css-values/vh-support-transform-translate.html.ini delete mode 100644 tests/wpt/metadata/css/cssom-view/offsetTopLeft-border-box.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini create mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini create mode 100644 tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini create mode 100644 tests/wpt/metadata/html/browsers/sandboxing/sandbox-document-open.html.ini create mode 100644 tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini create mode 100644 tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini create mode 100644 tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini create mode 100644 tests/wpt/metadata/webmessaging/with-ports/018.html.ini create mode 100644 tests/wpt/web-platform-tests/css/css-contain/content-visibility/content-visibility-079-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-contain/content-visibility/content-visibility-079.html create mode 100644 tests/wpt/web-platform-tests/css/css-grid/grid-items/replaced-element-001.html create mode 100644 tests/wpt/web-platform-tests/css/css-grid/grid-items/replaced-element-002.html create mode 100644 tests/wpt/web-platform-tests/css/css-grid/grid-items/replaced-element-007.html create mode 100644 tests/wpt/web-platform-tests/css/css-grid/grid-items/replaced-element-010.html create mode 100644 tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/mask-and-nested-clip-path.svg create mode 100644 tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/mask-and-nested-clip-path-ref.svg create mode 100644 tests/wpt/web-platform-tests/css/css-overflow/overflow-negative-margin-dynamic.html create mode 100644 tests/wpt/web-platform-tests/css/css-overflow/overflow-negative-margin.html create mode 100644 tests/wpt/web-platform-tests/css/css-paint-api/column-count-crash.https.html create mode 100644 tests/wpt/web-platform-tests/css/css-paint-api/dynamic-import-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-paint-api/dynamic-import.html create mode 100644 tests/wpt/web-platform-tests/css/css-paint-api/resources/imported-module.mjs create mode 100644 tests/wpt/web-platform-tests/css/css-paint-api/top-level-await-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-paint-api/top-level-await.https.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-001.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-002.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-003.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-004.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-005.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-006.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-007.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-008.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-009.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-010.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-011.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-012.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-013.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-014.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/sandboxing/resources/document-open.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-document-open.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/the-window-object/navigate-to-about-blank-while-initial-load-pending.html create mode 100644 tests/wpt/web-platform-tests/html/rendering/the-details-element/summary-in-ol-ref.html create mode 100644 tests/wpt/web-platform-tests/html/rendering/the-details-element/summary-in-ol.html create mode 100644 tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/http2-websocket.sub.h2.any.js.ini create mode 100644 tests/wpt/web-platform-tests/infrastructure/server/http2-websocket.sub.h2.any.js create mode 100644 tests/wpt/web-platform-tests/infrastructure/server/wpt-server-wpt-flags.sub.html create mode 100644 tests/wpt/web-platform-tests/intersection-observer/cross-document-root.html delete mode 100644 tests/wpt/web-platform-tests/tools/third_party/h2/.gitignore delete mode 100644 tests/wpt/web-platform-tests/tools/third_party/h2/.travis.yml create mode 100644 tests/wpt/web-platform-tests/tools/wptserve/wptserve/ws_h2_handshake.py diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini index 3605e8f3fc9..76b44d9e9cf 100644 --- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -4,7 +4,7 @@ expected: TIMEOUT [Opening a blob URL in a new window immediately before revoking it works.] - expected: TIMEOUT + expected: FAIL [Fetching a blob URL immediately before revoking it works in an iframe.] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini deleted file mode 100644 index 4bfb0c2053a..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-004.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/dynamic-import.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/dynamic-import.html.ini new file mode 100644 index 00000000000..3019c251714 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/dynamic-import.html.ini @@ -0,0 +1,2 @@ +[dynamic-import.html] + expected: CRASH diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/top-level-await.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/top-level-await.https.html.ini new file mode 100644 index 00000000000..92d137159e7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/top-level-await.https.html.ini @@ -0,0 +1,2 @@ +[top-level-await.https.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/css/css-values/vh-support-transform-translate.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/vh-support-transform-translate.html.ini new file mode 100644 index 00000000000..3d0102bd597 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/vh-support-transform-translate.html.ini @@ -0,0 +1,2 @@ +[vh-support-transform-translate.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeft-border-box.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeft-border-box.html.ini deleted file mode 100644 index 239c35135e4..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeft-border-box.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[offsetTopLeft-border-box.html] - [container: 1] - expected: FAIL - - [container: 0] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini index 668cbe97319..b358b7b7bf5 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini @@ -309,27 +309,18 @@ [Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK] expected: NOTRUN - [ + + diff --git a/tests/wpt/web-platform-tests/lint.ignore b/tests/wpt/web-platform-tests/lint.ignore index 20f90ed585c..e63b152d7ec 100644 --- a/tests/wpt/web-platform-tests/lint.ignore +++ b/tests/wpt/web-platform-tests/lint.ignore @@ -623,14 +623,22 @@ CSS-COLLIDING-REF-NAME: css/css-grid/subgrid/baseline-001-ref.html CSS-COLLIDING-REF-NAME: css/css-backgrounds/simple-bg-color-ref.html CSS-COLLIDING-REF-NAME: css/css-backgrounds/hidpi/simple-bg-color-ref.html -CSS-COLLIDING-TEST-NAME: css/css-contain/inheritance.html CSS-COLLIDING-TEST-NAME: css/css-contain/content-visibility/inheritance.html -CSS-COLLIDING-TEST-NAME: css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html -CSS-COLLIDING-TEST-NAME: css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid.html -CSS-COLLIDING-TEST-NAME: css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html +CSS-COLLIDING-TEST-NAME: css/css-contain/inheritance.html +CSS-COLLIDING-TEST-NAME: css/css-grid/grid-items/replaced-element-001.html +CSS-COLLIDING-TEST-NAME: css/css-grid/grid-items/replaced-element-002.html +CSS-COLLIDING-TEST-NAME: css/css-grid/grid-items/replaced-element-007.html +CSS-COLLIDING-TEST-NAME: css/css-grid/grid-items/replaced-element-010.html CSS-COLLIDING-TEST-NAME: css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-computed.html -CSS-COLLIDING-TEST-NAME: css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html +CSS-COLLIDING-TEST-NAME: css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-invalid.html CSS-COLLIDING-TEST-NAME: css/css-sizing/aspect-ratio/parsing/contain-intrinsic-size-valid.html +CSS-COLLIDING-TEST-NAME: css/css-sizing/aspect-ratio/replaced-element-001.html +CSS-COLLIDING-TEST-NAME: css/css-sizing/aspect-ratio/replaced-element-002.html +CSS-COLLIDING-TEST-NAME: css/css-sizing/aspect-ratio/replaced-element-007.html +CSS-COLLIDING-TEST-NAME: css/css-sizing/aspect-ratio/replaced-element-010.html +CSS-COLLIDING-TEST-NAME: css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed.html +CSS-COLLIDING-TEST-NAME: css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-invalid.html +CSS-COLLIDING-TEST-NAME: css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid.html # CSS tests that used to be at the top level and weren't subject to lints MISSING-LINK: css/css-fonts/matching/fixed-stretch-style-over-weight.html diff --git a/tests/wpt/web-platform-tests/media-source/mse-for-webcodecs/tentative/mediasource-webcodecs-addsourcebuffer.html b/tests/wpt/web-platform-tests/media-source/mse-for-webcodecs/tentative/mediasource-webcodecs-addsourcebuffer.html index a9dd7072b07..cc9cdc2b501 100644 --- a/tests/wpt/web-platform-tests/media-source/mse-for-webcodecs/tentative/mediasource-webcodecs-addsourcebuffer.html +++ b/tests/wpt/web-platform-tests/media-source/mse-for-webcodecs/tentative/mediasource-webcodecs-addsourcebuffer.html @@ -162,19 +162,15 @@ function runAddSourceBufferTest(argument, isValidArgument, argumentDescription, assert_equals(mediaSource.readyState, 'open', 'MediaSource is open'); let sourceBuffer; if (isValidArgument) { - // TODO(crbug.com/1144908): Update to expect success once the impl is - // more complete. - assert_throws_dom('QuotaExceededError', - () => { sourceBuffer = mediaSource.addSourceBuffer(argument); }, - 'addSourceBuffer(valid config) throws QuotaExceededError'); - assert_equals(sourceBuffer, undefined, - 'addSourceBuffer result for valid config while "open" should be exception'); + sourceBuffer = mediaSource.addSourceBuffer(argument); + assert_true(sourceBuffer instanceof SourceBuffer, + 'addSourceBuffer result for valid config while "open" should be a SourceBuffer instance'); } else { assert_throws_js(TypeError, - () => { sourceBuffer = mediaSource.addSourceBuffer(argument); }, - 'addSourceBuffer(invalid config) throws TypeError if MediaSource is "open"'); + () => { sourceBuffer = mediaSource.addSourceBuffer(argument); }, + 'addSourceBuffer(invalid config) throws TypeError if MediaSource is "open"'); assert_equals(sourceBuffer, undefined, - 'addSourceBufferResult for invalid config while "open" should be exception'); + 'addSourceBufferResult for invalid config while "open" should be exception'); } }, testDescription); break; diff --git a/tests/wpt/web-platform-tests/native-file-system/showOpenFilePicker-manual.https.html b/tests/wpt/web-platform-tests/native-file-system/showOpenFilePicker-manual.https.html index 370aa45c578..e6405a9c8c6 100644 --- a/tests/wpt/web-platform-tests/native-file-system/showOpenFilePicker-manual.https.html +++ b/tests/wpt/web-platform-tests/native-file-system/showOpenFilePicker-manual.https.html @@ -38,4 +38,25 @@ }, 'showOpenFilePicker returns correct permissions'); }, 'showOpenFilePicker works'); + promise_test(async t => { + await window.test_driver.bless( + 'show a file picker.
Please select native-file-system/resources/data/testfile.txt'); + const files = await self.showOpenFilePicker({ + multiple: false, + startIn: null, + types: [ + { description: 'Text files', accept: { ' text/plain ': ['.txt'] } }, + { description: 'Images', accept: { ' image/* ': ['.jpg', '.jpeg', '.png'] } }, + ], + }); + assert_true(Array.isArray(files)); + assert_equals(files.length, 1); + assert_true(files[0] instanceof FileSystemHandle); + assert_true(files[0] instanceof FileSystemFileHandle); + assert_equals(files[0].kind, "file"); + assert_equals(files[0].name, 'testfile.txt'); + assert_equals(await (await files[0].getFile()).text(), 'Hello World!\n'); + }, 'showOpenFilePicker does not fail when starting directory is null'); + + diff --git a/tests/wpt/web-platform-tests/native-file-system/showPicker-errors.https.window.js b/tests/wpt/web-platform-tests/native-file-system/showPicker-errors.https.window.js index d1dabf37da8..ecc64dfe66d 100644 --- a/tests/wpt/web-platform-tests/native-file-system/showPicker-errors.https.window.js +++ b/tests/wpt/web-platform-tests/native-file-system/showPicker-errors.https.window.js @@ -80,6 +80,12 @@ function define_file_picker_error_tests(showPickerMethod) { showPickerMethod + ': MIME type can\'t have invalid characters in subtype.'); + promise_test(async t => { + await promise_rejects_js(t, TypeError, self[showPickerMethod]({ + startIn: 'secrets', + })); + }, showPickerMethod + ': unknown common starting directory.'); + const invalid_extensions = { '.extensiontoolong': 'extension length more than 16.', '.txt.': 'extenstion ends with "."', diff --git a/tests/wpt/web-platform-tests/network-error-logging/support/nel.sub.js b/tests/wpt/web-platform-tests/network-error-logging/support/nel.sub.js index 8fa83505320..51a01a082e8 100644 --- a/tests/wpt/web-platform-tests/network-error-logging/support/nel.sub.js +++ b/tests/wpt/web-platform-tests/network-error-logging/support/nel.sub.js @@ -24,6 +24,15 @@ function nel_test(callback, name, properties) { }, name, properties); } +function nel_iframe_test(callback, name, properties) { + promise_test(async t => { + await obtainNELLock(); + await clearReportingAndNELConfigurationsInIframe(); + await callback(t); + await releaseNELLock(); + }, name, properties); +} + /* * Helper functions for constructing domain names that contain NEL policies. */ @@ -68,6 +77,37 @@ function fetchResourceWithZeroSuccessFractionPolicy(subdomain) { return fetch(url, {mode: "no-cors"}); } +/* + * Similar to the above methods, but fetch resources in an iframe. Allows matching + * full context of reports sent from an iframe that's same-site relative to the domains + * a policy set. + */ + + function loadResourceWithBasicPolicyInIframe(subdomain) { + return loadResourceWithPolicyInIframe( + getURLForResourceWithBasicPolicy(subdomain)); +} + +function loadResourceWithZeroSuccessFractionPolicyInIframe(subdomain) { + return loadResourceWithPolicyInIframe( + _getNELResourceURL(subdomain, "pass.png?id="+reportID+"&success_fraction=0.0")); +} + +function clearResourceWithBasicPolicyInIframe(subdomain) { + return loadResourceWithPolicyInIframe( + getURLForClearingConfiguration(subdomain)); +} + +function loadResourceWithPolicyInIframe(url) { + return new Promise((resolve, reject) => { + const frame = document.createElement('iframe'); + frame.src = url; + frame.onload = () => resolve(frame); + frame.onerror = () => reject('failed to load ' + url); + document.body.appendChild(frame); + }); +} + /* * Fetches a resource whose headers define an include_subdomains NEL policy. */ @@ -170,6 +210,16 @@ async function clearReportingAndNELConfigurations(subdomain) { return; } +async function clearReportingAndNELConfigurationsInIframe(subdomain) { + await Promise.all([ + clearResourceWithBasicPolicyInIframe(""), + clearResourceWithBasicPolicyInIframe("www"), + clearResourceWithBasicPolicyInIframe("www1"), + clearResourceWithBasicPolicyInIframe("www2"), + ]); + return; +} + /* * Returns whether all of the fields in obj1 also exist in obj2 with the same * values. (Put another way, returns whether obj1 and obj2 are equal, ignoring diff --git a/tests/wpt/web-platform-tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error-downgraded.tentative.html b/tests/wpt/web-platform-tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error-downgraded.tentative.html index 420eaaaf260..ce20c4726e9 100644 --- a/tests/wpt/web-platform-tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error-downgraded.tentative.html +++ b/tests/wpt/web-platform-tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error-downgraded.tentative.html @@ -10,8 +10,8 @@ const alt_origin = get_host_info().HTTPS_NOTSAMESITE_ORIGIN; const test_origin = get_host_info().HTTPS_ORIGIN; -nel_test(async t => { - await fetchResourceWithBasicPolicy(); +nel_iframe_test(async t => { + await loadResourceWithBasicPolicyInIframe(); const sxg_url = alt_origin + '/signed-exchange/resources/sxg/sxg-cert-not-found.sxg?navigation'; const cert_url = test_origin + '/signed-exchange/resources/not_found_certfile.cbor'; diff --git a/tests/wpt/web-platform-tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html b/tests/wpt/web-platform-tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html index bab50b7f885..15a7176e749 100644 --- a/tests/wpt/web-platform-tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html +++ b/tests/wpt/web-platform-tests/signed-exchange/reporting/sxg-reporting-navigation-cert_fetch_error.tentative.html @@ -9,8 +9,8 @@ ") response = accept_alert(session) @@ -33,20 +32,20 @@ def test_no_user_prompt(session): assert_error(response, "no such alert") -def test_accept_alert(session): +def test_accept_alert(session, inline): session.url = inline("") response = accept_alert(session) assert_success(response) -def test_accept_confirm(session): +def test_accept_confirm(session, inline): session.url = inline("") response = accept_alert(session) assert_success(response) assert session.execute_script("return window.result") is True -def test_accept_prompt(session): +def test_accept_prompt(session, inline): session.url = inline(""" ") response = dismiss_alert(session) @@ -33,20 +32,20 @@ def test_no_user_prompt(session): assert_error(response, "no such alert") -def test_dismiss_alert(session): +def test_dismiss_alert(session, inline): session.url = inline("") response = dismiss_alert(session) assert_success(response) -def test_dismiss_confirm(session): +def test_dismiss_confirm(session, inline): session.url = inline("") response = dismiss_alert(session) assert_success(response) assert session.execute_script("return window.result;") is False -def test_dismiss_prompt(session): +def test_dismiss_prompt(session, inline): session.url = inline("") response = dismiss_alert(session) assert_success(response) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_clear/clear.py b/tests/wpt/web-platform-tests/webdriver/tests/element_clear/clear.py index 8b7bb501043..b65f443aa75 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/element_clear/clear.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/element_clear/clear.py @@ -11,7 +11,6 @@ from tests.support.asserts import ( assert_in_events, assert_success, ) -from tests.support.inline import inline @pytest.fixture @@ -37,7 +36,7 @@ def text_file(tmpdir_factory): return fh -def test_null_response_value(session): +def test_null_response_value(session, inline): session.url = inline("") element = session.find.css("input", all=False) @@ -67,7 +66,7 @@ def test_no_browsing_context(session, closed_frame): assert_error(response, "no such window") -def test_connected_element(session): +def test_connected_element(session, inline): session.url = inline("") element = session.find.css("input", all=False) @@ -76,7 +75,7 @@ def test_connected_element(session): assert_error(response, "stale element reference") -def test_pointer_interactable(session): +def test_pointer_interactable(session, inline): session.url = inline("") element = session.find.css("input", all=False) @@ -84,7 +83,7 @@ def test_pointer_interactable(session): assert_error(response, "element not interactable") -def test_keyboard_interactable(session): +def test_keyboard_interactable(session, inline): session.url = inline("""
@@ -121,7 +120,7 @@ def test_keyboard_interactable(session): ("time", "19:48", ""), ("month", "2017-11", ""), ("week", "2017-W52", "")]) -def test_input(session, add_event_listeners, tracked_events, type, value, default): +def test_input(session, inline, add_event_listeners, tracked_events, type, value, default): session.url = inline("" % (type, value)) element = session.find.css("input", all=False) add_event_listeners(element, tracked_events) @@ -151,7 +150,7 @@ def test_input(session, add_event_listeners, tracked_events, type, value, defaul "month", "week", "file"]) -def test_input_disabled(session, type): +def test_input_disabled(session, inline, type): session.url = inline("" % type) element = session.find.css("input", all=False) @@ -176,7 +175,7 @@ def test_input_disabled(session, type): "month", "week", "file"]) -def test_input_readonly(session, type): +def test_input_readonly(session, inline, type): session.url = inline("" % type) element = session.find.css("input", all=False) @@ -184,7 +183,7 @@ def test_input_readonly(session, type): assert_error(response, "invalid element state") -def test_textarea(session, add_event_listeners, tracked_events): +def test_textarea(session, inline, add_event_listeners, tracked_events): session.url = inline("") element = session.find.css("textarea", all=False) add_event_listeners(element, tracked_events) @@ -196,7 +195,7 @@ def test_textarea(session, add_event_listeners, tracked_events): assert_in_events(session, ["focus", "change", "blur"]) -def test_textarea_disabled(session): +def test_textarea_disabled(session, inline): session.url = inline("") element = session.find.css("textarea", all=False) @@ -204,7 +203,7 @@ def test_textarea_disabled(session): assert_error(response, "invalid element state") -def test_textarea_readonly(session): +def test_textarea_readonly(session, inline): session.url = inline("") element = session.find.css("textarea", all=False) @@ -212,7 +211,7 @@ def test_textarea_readonly(session): assert_error(response, "invalid element state") -def test_input_file(session, text_file): +def test_input_file(session, text_file, inline): session.url = inline("") element = session.find.css("input", all=False) element.send_keys(str(text_file)) @@ -222,7 +221,7 @@ def test_input_file(session, text_file): assert element.property("value") == "" -def test_input_file_multiple(session, text_file): +def test_input_file_multiple(session, text_file, inline): session.url = inline("") element = session.find.css("input", all=False) element.send_keys(str(text_file)) @@ -233,7 +232,7 @@ def test_input_file_multiple(session, text_file): assert element.property("value") == "" -def test_select(session): +def test_select(session, inline): session.url = inline(""" ") element = session.find.css("input", all=False) add_event_listeners(element, tracked_events) @@ -320,7 +319,7 @@ def test_resettable_element_focus_when_empty(session, add_event_listeners, track ("time", "foo"), ("month", "foo"), ("week", "foo")]) -def test_resettable_element_does_not_satisfy_validation_constraints(session, type, invalid_value): +def test_resettable_element_does_not_satisfy_validation_constraints(session, inline, type, invalid_value): """ Some UAs allow invalid input to certain types of constrained form controls. For example, Gecko allows non-valid characters @@ -357,7 +356,7 @@ def test_resettable_element_does_not_satisfy_validation_constraints(session, typ "submit", "button", "image"]) -def test_non_editable_inputs(session, type): +def test_non_editable_inputs(session, inline, type): session.url = inline("" % type) element = session.find.css("input", all=False) @@ -365,7 +364,7 @@ def test_non_editable_inputs(session, type): assert_error(response, "invalid element state") -def test_scroll_into_view(session): +def test_scroll_into_view(session, inline): session.url = inline("""
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_clear/user_prompts.py b/tests/wpt/web-platform-tests/webdriver/tests/element_clear/user_prompts.py index cfb850e08d5..7a8564a684a 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/element_clear/user_prompts.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/element_clear/user_prompts.py @@ -3,7 +3,6 @@ import pytest from tests.support.asserts import assert_dialog_handled, assert_error, assert_success -from tests.support.inline import inline def element_clear(session, element): @@ -14,7 +13,7 @@ def element_clear(session, element): @pytest.fixture -def check_user_prompt_closed_without_exception(session, create_dialog): +def check_user_prompt_closed_without_exception(session, create_dialog, inline): def check_user_prompt_closed_without_exception(dialog_type, retval): session.url = inline("") element = session.find.css("input", all=False) @@ -35,7 +34,7 @@ def check_user_prompt_closed_without_exception(session, create_dialog): @pytest.fixture -def check_user_prompt_closed_with_exception(session, create_dialog): +def check_user_prompt_closed_with_exception(session, create_dialog, inline): def check_user_prompt_closed_with_exception(dialog_type, retval): session.url = inline("") element = session.find.css("input", all=False) @@ -56,7 +55,7 @@ def check_user_prompt_closed_with_exception(session, create_dialog): @pytest.fixture -def check_user_prompt_not_closed_but_exception(session, create_dialog): +def check_user_prompt_not_closed_but_exception(session, create_dialog, inline): def check_user_prompt_not_closed_but_exception(dialog_type): session.url = inline("") element = session.find.css("input", all=False) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_click/bubbling.py b/tests/wpt/web-platform-tests/webdriver/tests/element_click/bubbling.py index a069a5a5df3..7620ec3224f 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/element_click/bubbling.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/element_click/bubbling.py @@ -1,5 +1,4 @@ from tests.support.asserts import assert_success -from tests.support.inline import inline def element_click(session, element): @@ -9,7 +8,7 @@ def element_click(session, element): element_id=element.id)) -def test_click_event_bubbles_to_parents(session): +def test_click_event_bubbles_to_parents(session, inline): session.url = inline("""