aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/2dcontext/transformations/canvas_transformations_reset_001.html.ini3
-rw-r--r--tests/wpt/metadata/MANIFEST.json788
-rw-r--r--tests/wpt/metadata/XMLHttpRequest/status-basic.htm.ini2
-rw-r--r--tests/wpt/metadata/encoding/big5-encoder.html.ini41
-rw-r--r--tests/wpt/metadata/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html.ini8
-rw-r--r--tests/wpt/metadata/html/semantics/forms/the-input-element/input-textselection-01.html.ini3
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/event-loops/task_microtask_ordering.html.ini8
-rw-r--r--tests/wpt/metadata/mozilla-sync2
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html2
-rw-r--r--tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.dispatchEvent.html65
-rw-r--r--tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html66
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/base-uri-allow.sub.html8
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html11
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html12
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html13
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html18
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html24
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html7
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html11
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html (renamed from tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-policies.sub.html)9
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html.sub.headers (renamed from tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-policies.sub.html.sub.headers)4
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis60
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html12
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html4
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html11
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html56
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html51
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html26
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html21
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-allowed.sub.html64
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-blocked.sub.html62
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html12
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.js10
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js23
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.js10
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js23
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js.sub.headers (renamed from tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.js.sub.headers)0
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.js7
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js21
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js.sub.headers (renamed from tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.js.sub.headers)0
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr.js7
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js21
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html45
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html4
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html12
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html45
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html13
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html5
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-from-guid.sub.html65
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html5
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-script-src.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html24
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html20
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html63
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-blocked.sub.html61
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-blocked.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html61
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub.html68
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-allowed.sub.html32
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html31
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/deep-allows-none.sub.html37
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html21
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers5
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html20
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers5
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html41
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html37
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html39
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html33
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html35
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html37
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html23
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none.html22
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers5
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-self.html22
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers5
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html35
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/meta/meta-img-src.html33
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/meta/meta-modified.html35
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_1.html84
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_2.html8
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html3
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_9.html22
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_9.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js5
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/support/checkReport.sub.js2
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/support/fail.asis5
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/support/fail.js1
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js1
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/including.sub.svg18
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/including.sub.svg.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/scripted.svg20
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/scripted.svg.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/svg-from-guid.html51
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/svg-inline.sub.html34
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/svg-inline.sub.html.sub.headers6
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/svg-policy-resource-doc-includes.html29
-rw-r--r--tests/wpt/web-platform-tests/content-security-policy/svg/svg-policy-with-resource.html30
-rw-r--r--tests/wpt/web-platform-tests/csp/assert_undefined.py8
-rw-r--r--tests/wpt/web-platform-tests/csp/csp-inline-script.html11
-rw-r--r--tests/wpt/web-platform-tests/csp/csp-inline-script.html.headers1
-rw-r--r--tests/wpt/web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html59
-rw-r--r--tests/wpt/web-platform-tests/encoding/big5-encoder.html33
-rw-r--r--tests/wpt/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html52
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js8
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-manual.html30
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html12
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01.html4
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html35
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html14
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html3
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html2
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/resources/common.js20
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering-manual.html64
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering.html85
-rw-r--r--tests/wpt/web-platform-tests/lint.whitelist4
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/069.html7
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/101.html28
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/106.html27
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/107.html22
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/111.html2
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/112.html18
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/background.css4
-rw-r--r--tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/import.css2
-rw-r--r--tests/wpt/web-platform-tests/resources/testharnessreport.js13
-rw-r--r--tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js30
-rw-r--r--tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js36
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-003.html60
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/LICENSE (renamed from tests/wpt/web-platform-tests/shadow-dom/LICENSE)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/README2
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-005.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-006.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-004.html (renamed from tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-003.html81
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-004.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-004.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-005.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-005.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-006.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-006.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-007.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-007.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-008.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-008.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-009.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-009.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/events/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/events/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-004.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/resources/blank.html (renamed from tests/wpt/web-platform-tests/shadow-dom/resources/blank.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/resources/bobs_page.html (renamed from tests/wpt/web-platform-tests/shadow-dom/resources/bobs_page.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/composition/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/composition/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/custom-pseudo-elements/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-004.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-005.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/rendering-shadow-trees/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/rendering-shadow-trees/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-004.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-005.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-001-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-002-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/text-decoration-001-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/text-decoration-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-009.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-011.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/css-variables/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/css-variables/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/deep-combinator/deep-combinator-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/deep-combinator/deep-combinator-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001-ref.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/shadow-pseudoelement/shadow-pseudoelement-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-005.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/test-005.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-007.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/test-007.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-008.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/test-008.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-009.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/test-009.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-010.html (renamed from tests/wpt/web-platform-tests/shadow-dom/styles/test-010.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/testcommon.js (renamed from tests/wpt/web-platform-tests/shadow-dom/testcommon.js)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/active-element/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/active-element/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/editing/inheritance-of-content-editable-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/editing/inheritance-of-content-editable-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-003.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-004.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html (renamed from tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html20
-rw-r--r--tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py2
-rw-r--r--tests/wpt/web-platform-tests/websockets/README.md2
-rw-r--r--tests/wpt/web-platform-tests/websockets/constructor/014.html16
-rwxr-xr-xtests/wpt/web-platform-tests/websockets/handlers/handshake_sleep_2_wsh.py (renamed from tests/wpt/web-platform-tests/websockets/handlers/handshake_sleep_1_wsh.py)2
290 files changed, 2927 insertions, 971 deletions
diff --git a/tests/wpt/metadata/2dcontext/transformations/canvas_transformations_reset_001.html.ini b/tests/wpt/metadata/2dcontext/transformations/canvas_transformations_reset_001.html.ini
deleted file mode 100644
index 7faf80e06d1..00000000000
--- a/tests/wpt/metadata/2dcontext/transformations/canvas_transformations_reset_001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[canvas_transformations_reset_001.html]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 9b05804d9f9..9897d79eb49 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -710,10 +710,18 @@
"url": "/html/semantics/forms/attributes-common-to-form-controls/dirname-rtl-manual.html"
},
{
+ "path": "html/semantics/forms/constraints/tooLong-manual.html",
+ "url": "/html/semantics/forms/constraints/tooLong-manual.html"
+ },
+ {
"path": "html/semantics/forms/the-input-element/file-manual.html",
"url": "/html/semantics/forms/the-input-element/file-manual.html"
},
{
+ "path": "html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html",
+ "url": "/html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html"
+ },
+ {
"path": "html/semantics/forms/the-option-element/option-disabled-manual.html",
"url": "/html/semantics/forms/the-option-element/option-disabled-manual.html"
},
@@ -734,6 +742,10 @@
"url": "/html/semantics/grouping-content/the-li-element/grouping-li-novalue-manual.html"
},
{
+ "path": "html/webappapis/scripting/event-loops/task_microtask_ordering-manual.html",
+ "url": "/html/webappapis/scripting/event-loops/task_microtask_ordering-manual.html"
+ },
+ {
"path": "html/webappapis/system-state-and-capabilities/the-navigator-object/get-navigatorlanguage-manual.html",
"url": "/html/webappapis/system-state-and-capabilities/the-navigator-object/get-navigatorlanguage-manual.html"
},
@@ -3531,7 +3543,7 @@
"path": "2dcontext/transformations/canvas_transformations_reset_001.html",
"references": [
[
- "/2dcontext/transformations/canvas_transformations_reset_001-ref.htm",
+ "/2dcontext/transformations/canvas_transformations_reset_001-ref.html",
"=="
]
],
@@ -4868,94 +4880,94 @@
"url": "/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html"
},
{
- "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html",
+ "path": "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001.html",
"references": [
[
- "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001.html"
},
{
- "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html",
+ "path": "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002.html",
"references": [
[
- "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002.html"
},
{
- "path": "shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html",
+ "path": "shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html",
"references": [
[
- "/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html"
},
{
- "path": "shadow-dom/shadow-trees/reprojection/reprojection-001.html",
+ "path": "shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html",
"references": [
[
- "/shadow-dom/shadow-trees/reprojection/reprojection-001-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/reprojection/reprojection-001.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html"
},
{
- "path": "shadow-dom/shadow-trees/reprojection/reprojection-002.html",
+ "path": "shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002.html",
"references": [
[
- "/shadow-dom/shadow-trees/reprojection/reprojection-002-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/reprojection/reprojection-002.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002.html"
},
{
- "path": "shadow-dom/shadow-trees/shadow-root-001.html",
+ "path": "shadow-dom/untriaged/shadow-trees/shadow-root-001.html",
"references": [
[
- "/shadow-dom/shadow-trees/shadow-root-001-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/shadow-root-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/shadow-root-001.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/shadow-root-001.html"
},
{
- "path": "shadow-dom/shadow-trees/shadow-root-002.html",
+ "path": "shadow-dom/untriaged/shadow-trees/shadow-root-002.html",
"references": [
[
- "/shadow-dom/shadow-trees/shadow-root-002-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/shadow-root-002-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/shadow-root-002.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/shadow-root-002.html"
},
{
- "path": "shadow-dom/shadow-trees/text-decoration-001.html",
+ "path": "shadow-dom/untriaged/shadow-trees/text-decoration-001.html",
"references": [
[
- "/shadow-dom/shadow-trees/text-decoration-001-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/text-decoration-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/text-decoration-001.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/text-decoration-001.html"
},
{
- "path": "shadow-dom/styles/not-apply-in-shadow-root-001.html",
+ "path": "shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html",
"references": [
[
- "/shadow-dom/styles/not-apply-in-shadow-root-001-ref.html",
+ "/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/styles/not-apply-in-shadow-root-001.html"
+ "url": "/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html"
},
{
"path": "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html",
@@ -10324,10 +10336,6 @@
"url": "/DOMEvents/tests/approved/stopPropagation.deferred.effect.html"
},
{
- "path": "DOMEvents/tests/approved/stopPropagation.dispatchEvent.html",
- "url": "/DOMEvents/tests/approved/stopPropagation.dispatchEvent.html"
- },
- {
"path": "DOMEvents/tests/submissions/Microsoft/converted/DOM.event.flow.html",
"url": "/DOMEvents/tests/submissions/Microsoft/converted/DOM.event.flow.html"
},
@@ -10368,10 +10376,6 @@
"url": "/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.deferred.effect.html"
},
{
- "path": "DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html",
- "url": "/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html"
- },
- {
"path": "DOMEvents/throwing-in-listener-and-window-error-event.html",
"url": "/DOMEvents/throwing-in-listener-and-window-error-event.html"
},
@@ -12300,8 +12304,8 @@
"url": "/content-security-policy/blink-contrib/blob-urls-match-blob.sub.html"
},
{
- "path": "content-security-policy/blink-contrib/combine-multiple-policies.sub.html",
- "url": "/content-security-policy/blink-contrib/combine-multiple-policies.sub.html"
+ "path": "content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html",
+ "url": "/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html"
},
{
"path": "content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html",
@@ -12396,6 +12400,22 @@
"url": "/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html"
},
{
+ "path": "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html",
+ "url": "/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html"
+ },
+ {
+ "path": "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html",
+ "url": "/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html"
+ },
+ {
+ "path": "content-security-policy/blink-contrib/frame-src-allowed.sub.html",
+ "url": "/content-security-policy/blink-contrib/frame-src-allowed.sub.html"
+ },
+ {
+ "path": "content-security-policy/blink-contrib/frame-src-blocked.sub.html",
+ "url": "/content-security-policy/blink-contrib/frame-src-blocked.sub.html"
+ },
+ {
"path": "content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html",
"url": "/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html"
},
@@ -12528,6 +12548,10 @@
"url": "/content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html"
},
{
+ "path": "content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html",
+ "url": "/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html"
+ },
+ {
"path": "content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html",
"url": "/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html"
},
@@ -12544,6 +12568,10 @@
"url": "/content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html"
},
{
+ "path": "content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html",
+ "url": "/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html"
+ },
+ {
"path": "content-security-policy/blink-contrib/style-allowed.sub.html",
"url": "/content-security-policy/blink-contrib/style-allowed.sub.html"
},
@@ -12564,6 +12592,10 @@
"url": "/content-security-policy/blink-contrib/worker-eval-blocked.sub.html"
},
{
+ "path": "content-security-policy/blink-contrib/worker-from-guid.sub.html",
+ "url": "/content-security-policy/blink-contrib/worker-from-guid.sub.html"
+ },
+ {
"path": "content-security-policy/blink-contrib/worker-function-function-blocked.sub.html",
"url": "/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html"
},
@@ -12580,6 +12612,70 @@
"url": "/content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html"
},
{
+ "path": "content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html",
+ "url": "/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html"
+ },
+ {
+ "path": "content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html",
+ "url": "/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html"
+ },
+ {
+ "path": "content-security-policy/child-src/child-src-allowed.sub.html",
+ "url": "/content-security-policy/child-src/child-src-allowed.sub.html"
+ },
+ {
+ "path": "content-security-policy/child-src/child-src-blocked.sub.html",
+ "url": "/content-security-policy/child-src/child-src-blocked.sub.html"
+ },
+ {
+ "path": "content-security-policy/child-src/child-src-conflicting-frame-src.sub.html",
+ "url": "/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html"
+ },
+ {
+ "path": "content-security-policy/child-src/child-src-cross-origin-load.sub.html",
+ "url": "/content-security-policy/child-src/child-src-cross-origin-load.sub.html"
+ },
+ {
+ "path": "content-security-policy/child-src/child-src-worker-allowed.sub.html",
+ "url": "/content-security-policy/child-src/child-src-worker-allowed.sub.html"
+ },
+ {
+ "path": "content-security-policy/child-src/child-src-worker-blocked.sub.html",
+ "url": "/content-security-policy/child-src/child-src-worker-blocked.sub.html"
+ },
+ {
+ "path": "content-security-policy/frame-ancestors/deep-allows-none.sub.html",
+ "url": "/content-security-policy/frame-ancestors/deep-allows-none.sub.html"
+ },
+ {
+ "path": "content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html",
+ "url": "/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html"
+ },
+ {
+ "path": "content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html",
+ "url": "/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html"
+ },
+ {
+ "path": "content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html",
+ "url": "/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html"
+ },
+ {
+ "path": "content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html",
+ "url": "/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html"
+ },
+ {
+ "path": "content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html",
+ "url": "/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html"
+ },
+ {
+ "path": "content-security-policy/frame-ancestors/nested-traversing-banned.sub.html",
+ "url": "/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html"
+ },
+ {
+ "path": "content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html",
+ "url": "/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html"
+ },
+ {
"path": "content-security-policy/generic/generic-0_1-img-src.html",
"url": "/content-security-policy/generic/generic-0_1-img-src.html"
},
@@ -12640,6 +12736,14 @@
"url": "/content-security-policy/media-src/media-src-7_3_2.html"
},
{
+ "path": "content-security-policy/meta/meta-img-src.html",
+ "url": "/content-security-policy/meta/meta-img-src.html"
+ },
+ {
+ "path": "content-security-policy/meta/meta-modified.html",
+ "url": "/content-security-policy/meta/meta-modified.html"
+ },
+ {
"path": "content-security-policy/script-src/script-src-1_1.html",
"url": "/content-security-policy/script-src/script-src-1_1.html"
},
@@ -12676,10 +12780,6 @@
"url": "/content-security-policy/script-src/script-src-1_4_2.html"
},
{
- "path": "content-security-policy/script-src/script-src-1_9.html",
- "url": "/content-security-policy/script-src/script-src-1_9.html"
- },
- {
"path": "content-security-policy/style-src/style-src-3_1.html",
"url": "/content-security-policy/style-src/style-src-3_1.html"
},
@@ -12696,6 +12796,22 @@
"url": "/content-security-policy/style-src/style-src-3_4.html"
},
{
+ "path": "content-security-policy/svg/svg-from-guid.html",
+ "url": "/content-security-policy/svg/svg-from-guid.html"
+ },
+ {
+ "path": "content-security-policy/svg/svg-inline.sub.html",
+ "url": "/content-security-policy/svg/svg-inline.sub.html"
+ },
+ {
+ "path": "content-security-policy/svg/svg-policy-resource-doc-includes.html",
+ "url": "/content-security-policy/svg/svg-policy-resource-doc-includes.html"
+ },
+ {
+ "path": "content-security-policy/svg/svg-policy-with-resource.html",
+ "url": "/content-security-policy/svg/svg-policy-with-resource.html"
+ },
+ {
"path": "cors/allow-headers.htm",
"url": "/cors/allow-headers.htm"
},
@@ -12760,10 +12876,6 @@
"url": "/cors/status.htm"
},
{
- "path": "csp/csp-inline-script.html",
- "url": "/csp/csp-inline-script.html"
- },
- {
"path": "custom-elements/concepts/custom-elements-type-allowed-chars-first-char.html",
"url": "/custom-elements/concepts/custom-elements-type-allowed-chars-first-char.html"
},
@@ -13028,6 +13140,10 @@
"url": "/dom/events/Event-dispatch-omitted-capture.html"
},
{
+ "path": "dom/events/Event-dispatch-propagation-stopped.html",
+ "url": "/dom/events/Event-dispatch-propagation-stopped.html"
+ },
+ {
"path": "dom/events/Event-dispatch-redispatch.html",
"url": "/dom/events/Event-dispatch-redispatch.html"
},
@@ -13992,6 +14108,10 @@
"url": "/encoding/api-surrogates-utf8.html"
},
{
+ "path": "encoding/big5-encoder.html",
+ "url": "/encoding/big5-encoder.html"
+ },
+ {
"path": "encoding/gb18030-encoder.html",
"url": "/encoding/gb18030-encoder.html"
},
@@ -15504,6 +15624,10 @@
"url": "/html/infrastructure/urls/terminology-0/multiple-base.sub.html"
},
{
+ "path": "html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html",
+ "url": "/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html"
+ },
+ {
"path": "html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html",
"url": "/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html"
},
@@ -17804,6 +17928,10 @@
"url": "/html/webappapis/atob/base64.html"
},
{
+ "path": "html/webappapis/scripting/event-loops/task_microtask_ordering.html",
+ "url": "/html/webappapis/scripting/event-loops/task_microtask_ordering.html"
+ },
+ {
"path": "html/webappapis/scripting/events/body-onload.html",
"url": "/html/webappapis/scripting/events/body-onload.html"
},
@@ -24988,452 +25116,452 @@
"url": "/selectors/attribute-selectors/attribute-case/syntax.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html",
- "url": "/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html",
- "url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/the-content-html-element/test-001.html",
- "url": "/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-001.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-001.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/the-content-html-element/test-002.html",
- "url": "/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-002.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-002.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/the-content-html-element/test-003.html",
- "url": "/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-003.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-003.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/the-content-html-element/test-005.html",
- "url": "/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-005.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-005.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/the-content-html-element/test-006.html",
- "url": "/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-006.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-006.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001.html",
- "url": "/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-001.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-001.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002.html",
- "url": "/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-002.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-002.html"
},
{
- "path": "shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004.html",
- "url": "/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004.html"
+ "path": "shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-004.html",
+ "url": "/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-004.html"
},
{
- "path": "shadow-dom/events/event-dispatch/test-001.html",
- "url": "/shadow-dom/events/event-dispatch/test-001.html"
+ "path": "shadow-dom/untriaged/events/event-dispatch/test-001.html",
+ "url": "/shadow-dom/untriaged/events/event-dispatch/test-001.html"
},
{
- "path": "shadow-dom/events/event-dispatch/test-002.html",
- "url": "/shadow-dom/events/event-dispatch/test-002.html"
+ "path": "shadow-dom/untriaged/events/event-dispatch/test-002.html",
+ "url": "/shadow-dom/untriaged/events/event-dispatch/test-002.html"
},
{
- "path": "shadow-dom/events/event-dispatch/test-003.html",
- "url": "/shadow-dom/events/event-dispatch/test-003.html"
+ "path": "shadow-dom/untriaged/events/event-dispatch/test-003.html",
+ "url": "/shadow-dom/untriaged/events/event-dispatch/test-003.html"
},
{
- "path": "shadow-dom/events/event-retargeting/test-001.html",
- "url": "/shadow-dom/events/event-retargeting/test-001.html"
+ "path": "shadow-dom/untriaged/events/event-retargeting/test-001.html",
+ "url": "/shadow-dom/untriaged/events/event-retargeting/test-001.html"
},
{
- "path": "shadow-dom/events/event-retargeting/test-002.html",
- "url": "/shadow-dom/events/event-retargeting/test-002.html"
+ "path": "shadow-dom/untriaged/events/event-retargeting/test-002.html",
+ "url": "/shadow-dom/untriaged/events/event-retargeting/test-002.html"
},
{
- "path": "shadow-dom/events/event-retargeting/test-003.html",
- "url": "/shadow-dom/events/event-retargeting/test-003.html"
+ "path": "shadow-dom/untriaged/events/event-retargeting/test-003.html",
+ "url": "/shadow-dom/untriaged/events/event-retargeting/test-003.html"
},
{
- "path": "shadow-dom/events/event-retargeting/test-004.html",
- "url": "/shadow-dom/events/event-retargeting/test-004.html"
+ "path": "shadow-dom/untriaged/events/event-retargeting/test-004.html",
+ "url": "/shadow-dom/untriaged/events/event-retargeting/test-004.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-001.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-001.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-001.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-001.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-002.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-002.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-002.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-002.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-003.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-003.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-003.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-003.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-004.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-004.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-004.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-004.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-005.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-005.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-005.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-005.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-006.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-006.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-006.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-006.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-007.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-007.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-007.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-007.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-008.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-008.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-008.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-008.html"
},
{
- "path": "shadow-dom/events/events-that-are-always-stopped/test-009.html",
- "url": "/shadow-dom/events/events-that-are-always-stopped/test-009.html"
+ "path": "shadow-dom/untriaged/events/events-that-are-always-stopped/test-009.html",
+ "url": "/shadow-dom/untriaged/events/events-that-are-always-stopped/test-009.html"
},
{
- "path": "shadow-dom/events/retargeting-focus-events/test-001.html",
- "url": "/shadow-dom/events/retargeting-focus-events/test-001.html"
+ "path": "shadow-dom/untriaged/events/retargeting-focus-events/test-001.html",
+ "url": "/shadow-dom/untriaged/events/retargeting-focus-events/test-001.html"
},
{
- "path": "shadow-dom/events/retargeting-focus-events/test-002.html",
- "url": "/shadow-dom/events/retargeting-focus-events/test-002.html"
+ "path": "shadow-dom/untriaged/events/retargeting-focus-events/test-002.html",
+ "url": "/shadow-dom/untriaged/events/retargeting-focus-events/test-002.html"
},
{
- "path": "shadow-dom/events/retargeting-focus-events/test-003.html",
- "url": "/shadow-dom/events/retargeting-focus-events/test-003.html"
+ "path": "shadow-dom/untriaged/events/retargeting-focus-events/test-003.html",
+ "url": "/shadow-dom/untriaged/events/retargeting-focus-events/test-003.html"
},
{
- "path": "shadow-dom/events/retargeting-relatedtarget/test-001.html",
- "url": "/shadow-dom/events/retargeting-relatedtarget/test-001.html"
+ "path": "shadow-dom/untriaged/events/retargeting-relatedtarget/test-001.html",
+ "url": "/shadow-dom/untriaged/events/retargeting-relatedtarget/test-001.html"
},
{
- "path": "shadow-dom/events/retargeting-relatedtarget/test-002.html",
- "url": "/shadow-dom/events/retargeting-relatedtarget/test-002.html"
+ "path": "shadow-dom/untriaged/events/retargeting-relatedtarget/test-002.html",
+ "url": "/shadow-dom/untriaged/events/retargeting-relatedtarget/test-002.html"
},
{
- "path": "shadow-dom/events/retargeting-relatedtarget/test-003.html",
- "url": "/shadow-dom/events/retargeting-relatedtarget/test-003.html"
+ "path": "shadow-dom/untriaged/events/retargeting-relatedtarget/test-003.html",
+ "url": "/shadow-dom/untriaged/events/retargeting-relatedtarget/test-003.html"
},
{
- "path": "shadow-dom/events/test-001.html",
- "url": "/shadow-dom/events/test-001.html"
+ "path": "shadow-dom/untriaged/events/test-001.html",
+ "url": "/shadow-dom/untriaged/events/test-001.html"
},
{
- "path": "shadow-dom/html-elements-and-their-shadow-trees/test-001.html",
- "url": "/shadow-dom/html-elements-and-their-shadow-trees/test-001.html"
+ "path": "shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-001.html",
+ "url": "/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-001.html"
},
{
- "path": "shadow-dom/html-elements-and-their-shadow-trees/test-002.html",
- "url": "/shadow-dom/html-elements-and-their-shadow-trees/test-002.html"
+ "path": "shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-002.html",
+ "url": "/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-002.html"
},
{
- "path": "shadow-dom/html-elements-and-their-shadow-trees/test-003.html",
- "url": "/shadow-dom/html-elements-and-their-shadow-trees/test-003.html"
+ "path": "shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-003.html",
+ "url": "/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-003.html"
},
{
- "path": "shadow-dom/html-elements-and-their-shadow-trees/test-004.html",
- "url": "/shadow-dom/html-elements-and-their-shadow-trees/test-004.html"
+ "path": "shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-004.html",
+ "url": "/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-004.html"
},
{
- "path": "shadow-dom/html-elements-in-shadow-trees/html-forms/test-001.html",
- "url": "/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001.html"
+ "path": "shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html",
+ "url": "/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html"
},
{
- "path": "shadow-dom/html-elements-in-shadow-trees/html-forms/test-002.html",
- "url": "/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002.html"
+ "path": "shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html",
+ "url": "/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html"
},
{
- "path": "shadow-dom/html-elements-in-shadow-trees/html-forms/test-003.html",
- "url": "/shadow-dom/html-elements-in-shadow-trees/html-forms/test-003.html"
+ "path": "shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html",
+ "url": "/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html"
},
{
- "path": "shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-001.html",
- "url": "/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-001.html"
+ "path": "shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html",
+ "url": "/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html"
},
{
- "path": "shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002.html",
- "url": "/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002.html"
+ "path": "shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html",
+ "url": "/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html"
},
{
- "path": "shadow-dom/shadow-trees/composition/test-001.html",
- "url": "/shadow-dom/shadow-trees/composition/test-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/composition/test-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/composition/test-001.html"
},
{
- "path": "shadow-dom/shadow-trees/content-pseudo-element/test-001.html",
- "url": "/shadow-dom/shadow-trees/content-pseudo-element/test-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-001.html"
},
{
- "path": "shadow-dom/shadow-trees/content-pseudo-element/test-002.html",
- "url": "/shadow-dom/shadow-trees/content-pseudo-element/test-002.html"
+ "path": "shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-002.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-002.html"
},
{
- "path": "shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html",
- "url": "/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/custom-pseudo-elements/test-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/custom-pseudo-elements/test-001.html"
},
{
- "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html",
- "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html"
+ "path": "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-003.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-003.html"
},
{
- "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html",
- "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html"
+ "path": "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-003.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-003.html"
},
{
- "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004.html",
- "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004.html"
+ "path": "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-004.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-004.html"
},
{
- "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005.html",
- "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005.html"
+ "path": "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-005.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-005.html"
},
{
- "path": "shadow-dom/shadow-trees/nested-shadow-trees/test-001.html",
- "url": "/shadow-dom/shadow-trees/nested-shadow-trees/test-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/nested-shadow-trees/test-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/test-001.html"
},
{
- "path": "shadow-dom/shadow-trees/rendering-shadow-trees/test-001.html",
- "url": "/shadow-dom/shadow-trees/rendering-shadow-trees/test-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/rendering-shadow-trees/test-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/rendering-shadow-trees/test-001.html"
},
{
- "path": "shadow-dom/shadow-trees/reprojection/test-001.html",
- "url": "/shadow-dom/shadow-trees/reprojection/test-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/reprojection/test-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/reprojection/test-001.html"
},
{
- "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-001.html",
- "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-001.html"
},
{
- "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-002.html",
- "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002.html"
+ "path": "shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-002.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-002.html"
},
{
- "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-003.html",
- "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003.html"
+ "path": "shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-003.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-003.html"
},
{
- "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html",
- "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html"
+ "path": "shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-004.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-004.html"
},
{
- "path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html",
- "url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html"
+ "path": "shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-005.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-005.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-009.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-009.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-011.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-011.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html"
},
{
- "path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html",
- "url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html"
+ "path": "shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html",
+ "url": "/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html"
},
{
- "path": "shadow-dom/styles/css-variables/test-001.html",
- "url": "/shadow-dom/styles/css-variables/test-001.html"
+ "path": "shadow-dom/untriaged/styles/css-variables/test-001.html",
+ "url": "/shadow-dom/untriaged/styles/css-variables/test-001.html"
},
{
- "path": "shadow-dom/styles/deep-combinator/deep-combinator-001.html",
- "url": "/shadow-dom/styles/deep-combinator/deep-combinator-001.html"
+ "path": "shadow-dom/untriaged/styles/deep-combinator/deep-combinator-001.html",
+ "url": "/shadow-dom/untriaged/styles/deep-combinator/deep-combinator-001.html"
},
{
- "path": "shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html",
- "url": "/shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html"
+ "path": "shadow-dom/untriaged/styles/shadow-pseudoelement/shadow-pseudoelement-001.html",
+ "url": "/shadow-dom/untriaged/styles/shadow-pseudoelement/shadow-pseudoelement-001.html"
},
{
- "path": "shadow-dom/styles/test-001.html",
- "url": "/shadow-dom/styles/test-001.html"
+ "path": "shadow-dom/untriaged/styles/test-001.html",
+ "url": "/shadow-dom/untriaged/styles/test-001.html"
},
{
- "path": "shadow-dom/styles/test-003.html",
- "url": "/shadow-dom/styles/test-003.html"
+ "path": "shadow-dom/untriaged/styles/test-003.html",
+ "url": "/shadow-dom/untriaged/styles/test-003.html"
},
{
- "path": "shadow-dom/styles/test-005.html",
- "url": "/shadow-dom/styles/test-005.html"
+ "path": "shadow-dom/untriaged/styles/test-005.html",
+ "url": "/shadow-dom/untriaged/styles/test-005.html"
},
{
- "path": "shadow-dom/styles/test-007.html",
- "url": "/shadow-dom/styles/test-007.html"
+ "path": "shadow-dom/untriaged/styles/test-007.html",
+ "url": "/shadow-dom/untriaged/styles/test-007.html"
},
{
- "path": "shadow-dom/styles/test-008.html",
- "url": "/shadow-dom/styles/test-008.html"
+ "path": "shadow-dom/untriaged/styles/test-008.html",
+ "url": "/shadow-dom/untriaged/styles/test-008.html"
},
{
- "path": "shadow-dom/styles/test-009.html",
- "url": "/shadow-dom/styles/test-009.html"
+ "path": "shadow-dom/untriaged/styles/test-009.html",
+ "url": "/shadow-dom/untriaged/styles/test-009.html"
},
{
- "path": "shadow-dom/styles/test-010.html",
- "url": "/shadow-dom/styles/test-010.html"
+ "path": "shadow-dom/untriaged/styles/test-010.html",
+ "url": "/shadow-dom/untriaged/styles/test-010.html"
},
{
- "path": "shadow-dom/user-interaction/active-element/test-001.html",
- "url": "/shadow-dom/user-interaction/active-element/test-001.html"
+ "path": "shadow-dom/untriaged/user-interaction/active-element/test-001.html",
+ "url": "/shadow-dom/untriaged/user-interaction/active-element/test-001.html"
},
{
- "path": "shadow-dom/user-interaction/active-element/test-002.html",
- "url": "/shadow-dom/user-interaction/active-element/test-002.html"
+ "path": "shadow-dom/untriaged/user-interaction/active-element/test-002.html",
+ "url": "/shadow-dom/untriaged/user-interaction/active-element/test-002.html"
},
{
- "path": "shadow-dom/user-interaction/editing/inheritance-of-content-editable-001.html",
- "url": "/shadow-dom/user-interaction/editing/inheritance-of-content-editable-001.html"
+ "path": "shadow-dom/untriaged/user-interaction/editing/inheritance-of-content-editable-001.html",
+ "url": "/shadow-dom/untriaged/user-interaction/editing/inheritance-of-content-editable-001.html"
},
{
- "path": "shadow-dom/user-interaction/focus-navigation/test-001.html",
- "url": "/shadow-dom/user-interaction/focus-navigation/test-001.html"
+ "path": "shadow-dom/untriaged/user-interaction/focus-navigation/test-001.html",
+ "url": "/shadow-dom/untriaged/user-interaction/focus-navigation/test-001.html"
},
{
- "path": "shadow-dom/user-interaction/focus-navigation/test-002.html",
- "url": "/shadow-dom/user-interaction/focus-navigation/test-002.html"
+ "path": "shadow-dom/untriaged/user-interaction/focus-navigation/test-002.html",
+ "url": "/shadow-dom/untriaged/user-interaction/focus-navigation/test-002.html"
},
{
- "path": "shadow-dom/user-interaction/focus-navigation/test-003.html",
- "url": "/shadow-dom/user-interaction/focus-navigation/test-003.html"
+ "path": "shadow-dom/untriaged/user-interaction/focus-navigation/test-003.html",
+ "url": "/shadow-dom/untriaged/user-interaction/focus-navigation/test-003.html"
},
{
- "path": "shadow-dom/user-interaction/focus-navigation/test-004.html",
- "url": "/shadow-dom/user-interaction/focus-navigation/test-004.html"
+ "path": "shadow-dom/untriaged/user-interaction/focus-navigation/test-004.html",
+ "url": "/shadow-dom/untriaged/user-interaction/focus-navigation/test-004.html"
},
{
- "path": "shadow-dom/user-interaction/ranges-and-selections/test-001.html",
- "url": "/shadow-dom/user-interaction/ranges-and-selections/test-001.html"
+ "path": "shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html",
+ "url": "/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html"
},
{
- "path": "shadow-dom/user-interaction/ranges-and-selections/test-002.html",
- "url": "/shadow-dom/user-interaction/ranges-and-selections/test-002.html"
+ "path": "shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html",
+ "url": "/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html"
},
{
"path": "subresource-integrity/subresource-integrity.html",
@@ -26396,10 +26524,6 @@
"url": "/websockets/constructor/012.html"
},
{
- "path": "websockets/constructor/014.html",
- "url": "/websockets/constructor/014.html"
- },
- {
"path": "websockets/constructor/016.html",
"url": "/websockets/constructor/016.html"
},
@@ -28919,6 +29043,11 @@
"url": "/websockets/constructor/013.html"
},
{
+ "path": "websockets/constructor/014.html",
+ "timeout": "long",
+ "url": "/websockets/constructor/014.html"
+ },
+ {
"path": "websockets/cookies/005.html",
"timeout": "long",
"url": "/websockets/cookies/005.html"
@@ -29056,27 +29185,6 @@
"local_changes": {
"deleted": [],
"items": {},
- "deleted": [
- "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html",
- "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html",
- "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html",
- "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html",
- "2dcontext/transformations/canvas_transformations_reset_001.htm",
- "shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html"
- ],
-
- "items": {
- "testharness": {
- "dom/nodes/CharacterData-surrogates.html": [
- {
- "path": "dom/nodes/CharacterData-surrogates.html",
- "url": "/dom/nodes/CharacterData-surrogates.html"
- }
- ]
- }
- },
-
- "items": {},
"reftest_nodes": {}
},
"reftest_nodes": {
@@ -29481,7 +29589,7 @@
"path": "2dcontext/transformations/canvas_transformations_reset_001.html",
"references": [
[
- "/2dcontext/transformations/canvas_transformations_reset_001-ref.htm",
+ "/2dcontext/transformations/canvas_transformations_reset_001-ref.html",
"=="
]
],
@@ -31696,18 +31804,6 @@
"url": "/html/semantics/text-level-semantics/the-br-element/br-bidi.html"
}
],
- "html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html": [
- {
- "path": "html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html",
- "references": [
- [
- "/html/semantics/text-level-semantics/the-wbr-element/wbr-element-notref.html",
- "!="
- ]
- ],
- "url": "/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html"
- }
- ],
"html/semantics/text-level-semantics/the-wbr-element/wbr-element.html": [
{
"path": "html/semantics/text-level-semantics/the-wbr-element/wbr-element.html",
@@ -31720,112 +31816,112 @@
"url": "/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html"
}
],
- "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html": [
+ "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001.html": [
{
- "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html",
+ "path": "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001.html",
"references": [
[
- "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001.html"
}
],
- "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html": [
+ "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002.html": [
{
- "path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html",
+ "path": "shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002.html",
"references": [
[
- "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002.html"
}
],
- "shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html": [
+ "shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html": [
{
- "path": "shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html",
+ "path": "shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html",
"references": [
[
- "/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html"
}
],
- "shadow-dom/shadow-trees/reprojection/reprojection-001.html": [
+ "shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html": [
{
- "path": "shadow-dom/shadow-trees/reprojection/reprojection-001.html",
+ "path": "shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html",
"references": [
[
- "/shadow-dom/shadow-trees/reprojection/reprojection-001-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/reprojection/reprojection-001.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html"
}
],
- "shadow-dom/shadow-trees/reprojection/reprojection-002.html": [
+ "shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002.html": [
{
- "path": "shadow-dom/shadow-trees/reprojection/reprojection-002.html",
+ "path": "shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002.html",
"references": [
[
- "/shadow-dom/shadow-trees/reprojection/reprojection-002-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/reprojection/reprojection-002.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002.html"
}
],
- "shadow-dom/shadow-trees/shadow-root-001.html": [
+ "shadow-dom/untriaged/shadow-trees/shadow-root-001.html": [
{
- "path": "shadow-dom/shadow-trees/shadow-root-001.html",
+ "path": "shadow-dom/untriaged/shadow-trees/shadow-root-001.html",
"references": [
[
- "/shadow-dom/shadow-trees/shadow-root-001-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/shadow-root-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/shadow-root-001.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/shadow-root-001.html"
}
],
- "shadow-dom/shadow-trees/shadow-root-002.html": [
+ "shadow-dom/untriaged/shadow-trees/shadow-root-002.html": [
{
- "path": "shadow-dom/shadow-trees/shadow-root-002.html",
+ "path": "shadow-dom/untriaged/shadow-trees/shadow-root-002.html",
"references": [
[
- "/shadow-dom/shadow-trees/shadow-root-002-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/shadow-root-002-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/shadow-root-002.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/shadow-root-002.html"
}
],
- "shadow-dom/shadow-trees/text-decoration-001.html": [
+ "shadow-dom/untriaged/shadow-trees/text-decoration-001.html": [
{
- "path": "shadow-dom/shadow-trees/text-decoration-001.html",
+ "path": "shadow-dom/untriaged/shadow-trees/text-decoration-001.html",
"references": [
[
- "/shadow-dom/shadow-trees/text-decoration-001-ref.html",
+ "/shadow-dom/untriaged/shadow-trees/text-decoration-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/shadow-trees/text-decoration-001.html"
+ "url": "/shadow-dom/untriaged/shadow-trees/text-decoration-001.html"
}
],
- "shadow-dom/styles/not-apply-in-shadow-root-001.html": [
+ "shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html": [
{
- "path": "shadow-dom/styles/not-apply-in-shadow-root-001.html",
+ "path": "shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html",
"references": [
[
- "/shadow-dom/styles/not-apply-in-shadow-root-001-ref.html",
+ "/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001-ref.html",
"=="
]
],
- "url": "/shadow-dom/styles/not-apply-in-shadow-root-001.html"
+ "url": "/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html"
}
],
"webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html": [
@@ -34481,7 +34577,7 @@
}
]
},
- "rev": "cf8340b5fae7b820788ffc31f8cc6b6b04978002",
+ "rev": "71a0d51d14d8b0f1b53cda3a7d39ef8765164485",
"url_base": "/",
"version": 2
-}
+} \ No newline at end of file
diff --git a/tests/wpt/metadata/XMLHttpRequest/status-basic.htm.ini b/tests/wpt/metadata/XMLHttpRequest/status-basic.htm.ini
index a54590be465..9f64a6a41fe 100644
--- a/tests/wpt/metadata/XMLHttpRequest/status-basic.htm.ini
+++ b/tests/wpt/metadata/XMLHttpRequest/status-basic.htm.ini
@@ -1,8 +1,8 @@
[status-basic.htm]
type: testharness
-
[XMLHttpRequest: status/statusText - various responses 7 (GET 402)]
expected: FAIL
[XMLHttpRequest: status/statusText - various responses 9 (CHICKEN 402)]
expected: FAIL
+
diff --git a/tests/wpt/metadata/encoding/big5-encoder.html.ini b/tests/wpt/metadata/encoding/big5-encoder.html.ini
new file mode 100644
index 00000000000..5974166bd02
--- /dev/null
+++ b/tests/wpt/metadata/encoding/big5-encoder.html.ini
@@ -0,0 +1,41 @@
+[big5-encoder.html]
+ type: testharness
+ [big5 encoder: very basic]
+ expected: FAIL
+
+ [big5 encoder: Highest-pointer BMP character excluded from encoder]
+ expected: FAIL
+
+ [big5 encoder: Highest-pointer character excluded from encoder]
+ expected: FAIL
+
+ [big5 encoder: Lowest-pointer character included in encoder]
+ expected: FAIL
+
+ [big5 encoder: Euro; the highest-pointer character before a range of 30 unmapped pointers]
+ expected: FAIL
+
+ [big5 encoder: The lowest-pointer character after the range of 30 unmapped pointers]
+ expected: FAIL
+
+ [big5 encoder: The highest-pointer character before a range of 41 unmapped pointers]
+ expected: FAIL
+
+ [big5 encoder: The lowest-pointer character after the range of 41 unmapped pointers]
+ expected: FAIL
+
+ [big5 encoder: The last character in the index]
+ expected: FAIL
+
+ [big5 encoder: The canonical BMP test character that is not in the index]
+ expected: FAIL
+
+ [big5 encoder: The canonical astral test character that is not in the index]
+ expected: FAIL
+
+ [big5 encoder: A Plane 2 character whose low 16 bits match a BMP character that has a lower pointer]
+ expected: FAIL
+
+ [big5 encoder: A duplicate-mapped code point that prefers the highest pointer in the encoder]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html.ini b/tests/wpt/metadata/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html.ini
new file mode 100644
index 00000000000..285e706e6df
--- /dev/null
+++ b/tests/wpt/metadata/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html.ini
@@ -0,0 +1,8 @@
+[document-all.html]
+ type: testharness
+ ['unusual behaviors' of document.all]
+ expected: FAIL
+
+ ['unusual behaviors' of document.all with assignment]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/forms/the-input-element/input-textselection-01.html.ini b/tests/wpt/metadata/html/semantics/forms/the-input-element/input-textselection-01.html.ini
index 5bf679c6e45..8688e717a48 100644
--- a/tests/wpt/metadata/html/semantics/forms/the-input-element/input-textselection-01.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/the-input-element/input-textselection-01.html.ini
@@ -66,3 +66,6 @@
[Selection attributes should not apply to type reset]
expected: FAIL
+ [Selection attributes should not apply to type email]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/webappapis/scripting/event-loops/task_microtask_ordering.html.ini b/tests/wpt/metadata/html/webappapis/scripting/event-loops/task_microtask_ordering.html.ini
new file mode 100644
index 00000000000..8d063ebb67f
--- /dev/null
+++ b/tests/wpt/metadata/html/webappapis/scripting/event-loops/task_microtask_ordering.html.ini
@@ -0,0 +1,8 @@
+[task_microtask_ordering.html]
+ type: testharness
+ [Basic task and microtask ordering]
+ expected: FAIL
+
+ [Level 1 bossfight (synthetic click)]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/mozilla-sync b/tests/wpt/metadata/mozilla-sync
index 9a6ec174823..843da690335 100644
--- a/tests/wpt/metadata/mozilla-sync
+++ b/tests/wpt/metadata/mozilla-sync
@@ -1 +1 @@
-dbf549ea32d23cf96b7f49e3333c068aaf050bc3 \ No newline at end of file
+9e914ca0db2820b365c06deedb8b5325c63c007b \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html b/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html
index 9cc643da8b8..c12acbf6f34 100644
--- a/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html
+++ b/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<meta charset="utf-8">
-<link rel="match" href="canvas_transformations_reset_001-ref.htm">
+<link rel="match" href="canvas_transformations_reset_001-ref.html">
<style>
html, body {
margin: 0;
diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.dispatchEvent.html
deleted file mode 100644
index 5c31a1d1330..00000000000
--- a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.dispatchEvent.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title> Calling stopPropagation() prior to dispatchEvent() </title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-</head>
-<body>
-<div id=log></div>
-
-<table id="table" border="1" style="display: none">
- <tbody id="table-body">
- <tr id="table-row">
- <td id="table-cell">Shady Grove</td>
- <td>Aeolian</td>
- </tr>
- <tr id="parent">
- <td id="target">Over the river, Charlie</td>
- <td>Dorian</td>
- </tr>
- </tbody>
-</table>
-
-<script>
- var EVENT = "foo";
- var TARGET = document.getElementById("target");
- var PARENT = document.getElementById("parent");
- var TBODY = document.getElementById("table-body");
- var TABLE = document.getElementById("table");
- var BODY = document.body;
- var HTML = document.documentElement;
- var CurrentTargets = [window, document, HTML, BODY, TABLE, TBODY, PARENT, TARGET];
- var ExpectResult = [];
- var ActualResult = [];
- var ExpectPhases = [];
- var ActualPhases = [];
-
- var description = "Test Description: " +
- "If Event.stopPropagation() has been called prior to the dispatch, all phases must be skipped.";
- test(function()
- {
- for (var i=0; i < CurrentTargets.length; i++)
- {
- CurrentTargets[i].addEventListener(EVENT, TestEvent, true);
- CurrentTargets[i].addEventListener(EVENT, TestEvent, false);
- }
-
- var evt = document.createEvent("Event");
- evt.initEvent(EVENT, true, true);
- evt.stopPropagation();
- TARGET.dispatchEvent(evt);
-
- assert_array_equals(ActualResult, ExpectResult, "ActualResult");
- assert_array_equals(ActualPhases, ExpectPhases, "ActualPhases");
-
- }, description);
-
- function TestEvent(evt)
- {
- ActualResult.push(evt.currentTarget);
- ActualPhases.push(evt.eventPhase);
- }
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html
deleted file mode 100644
index 70ff9706290..00000000000
--- a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title> Calling stopPropagation() prior to dispatchEvent() </title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-</head>
-<body>
-<div id=log></div>
-
-<table id="table" border="1" style="display: none">
- <tbody id="table-body">
- <tr id="table-row">
- <td id="table-cell">Shady Grove</td>
- <td>Aeolian</td>
- </tr>
- <tr id="parent">
- <td id="target">Over the river, Charlie</td>
- <td>Dorian</td>
- </tr>
- </tbody>
-</table>
-
-<script>
-
- var EVENT = "foo";
- var TARGET = document.getElementById("target");
- var PARENT = document.getElementById("parent");
- var TBODY = document.getElementById("table-body");
- var TABLE = document.getElementById("table");
- var BODY = document.body;
- var HTML = document.documentElement;
- var CurrentTargets = [window, document, HTML, BODY, TABLE, TBODY, PARENT, TARGET];
- var ExpectResult = [];
- var ActualResult = [];
- var ExpectPhases = [];
- var ActualPhases = [];
-
- var description = "Test Description: " +
- "If Event.stopPropagation() has been called prior to the dispatch, all phases must be skipped.";
- test(function()
- {
- for (var i=0; i < CurrentTargets.length; i++)
- {
- CurrentTargets[i].addEventListener(EVENT, TestEvent, true);
- CurrentTargets[i].addEventListener(EVENT, TestEvent, false);
- }
-
- var evt = document.createEvent("Event");
- evt.initEvent(EVENT, true, true);
- evt.stopPropagation();
- TARGET.dispatchEvent(evt);
-
- assert_array_equals(ActualResult, ExpectResult, "ActualResult");
- assert_array_equals(ActualPhases, ExpectPhases, "ActualPhases");
-
- }, description);
-
- function TestEvent(evt)
- {
- ActualResult.push(evt.currentTarget);
- ActualPhases.push(evt.eventPhase);
- }
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/base-uri-allow.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/base-uri-allow.sub.html
index 113d157366d..14377740736 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/base-uri-allow.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/base-uri-allow.sub.html
@@ -14,7 +14,13 @@ base-uri http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inli
<base href="http://www1.{{host}}:{{ports[http][0]}}/">
<script>
test(function() {
- assert_equals(document.baseURI, 'http://www1.{{host}}:{{ports[http][0]}}/');
+ if ('{{ports[http][0]}}' == '80' ||
+ '{{ports[http][0]}}' == '443') {
+ assert_equals(document.baseURI, 'http://www1.{{host}}/');
+ } else {
+ assert_equals(document.baseURI, 'http://www1.{{host}}' + ':{{ports[http][0]}}/');
+ }
+
log("TEST COMPLETE")
});
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html
index 376a06a180a..57889e5966c 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html
@@ -6,12 +6,15 @@
<title>form-action-src-allowed</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
- <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
+ <script src='../support/logTest.sub.js?logs=["PASS","TEST COMPLETE"]'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script>
+ window.addEventListener("message", function(event) {
+ log(event.data);
+ }, false);
window.addEventListener('load', function() {
setTimeout(function() {
document.getElementById('submit').click();
@@ -23,13 +26,15 @@ form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
</head>
<body>
- <form action="../support/pass.png" id="theform" method="post" target="_blank">
+ <iframe name="test_target" id="test_iframe"></iframe>
+
+ <form action="/common/redirect.py?location=/content-security-policy/blink-contrib/resources/postmessage-pass.html" id="theform" method="post" target="test_target">
<input type="text" name="fieldname" value="fieldvalue">
<input type="submit" id="submit" value="submit">
</form>
<p>Tests that allowed form actions work correctly. If this test passes, you will see a page indicating a form was POSTed.</p>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
-</body>
+ </body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html
index 81fe844f1e2..33ce163af24 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html
@@ -12,25 +12,29 @@
form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
window.addEventListener('load', function() {
setTimeout(function() {
document.getElementById('submit').click();
- log("TEST COMPLETE");
}, 0);
});
- setTimeout(function() {}, 1000);
+ setTimeout(function() {log("TEST COMPLETE");}, 1);
</script>
</head>
<body>
- <form action="../content-security-policy/support/fail.png" id="theform" method="post">
+ <iframe name="test_target" id="test_iframe"></iframe>
+ <form action="/common/redirect.py?location=/content-security-policy/blink-contrib/resources/postmessage-fail.html" id="theform" method="post" target="test_target">
<input type="text" name="fieldname" value="fieldvalue">
<input type="submit" id="submit" value="submit">
</form>
<p>Tests that blocking form actions works correctly. If this test passes, a CSP violation will be generated, and will not see a page indicating a form was POSTed.</p>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=form-action%20&apos;none&apos;"></script>
-</body>
+
+ </body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html
index 14efac46e75..32823d6806f 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html
@@ -6,12 +6,15 @@
<title>form-action-src-default-ignored</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
- <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
+ <script src='../support/logTest.sub.js?logs=["PASS","TEST COMPLETE"]'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
-default-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self';
+default-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; frame-src 'self';
-->
<script>
+ window.addEventListener("message", function(event) {
+ log(event.data);
+ }, false);
window.addEventListener('load', function() {
setTimeout(function() {
document.getElementById('submit').click();
@@ -23,11 +26,13 @@ default-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-s
</head>
<body>
- <form action="../support/pass.png" id="theform" method="post" target="_blank">
+ <iframe name="test_target" id="test_iframe"></iframe>
+
+ <form action="/common/redirect.py?location=/content-security-policy/blink-contrib/resources/postmessage-pass.html" id="theform" method="post" target="test_target">
<input type="text" name="fieldname" value="fieldvalue">
<input type="submit" id="submit" value="submit">
</form>
- <p>Tests that default-src does. If this test passes, you will see a page indicating a form was POSTed or a blocked pop-up warning.</p>
+ <p>Tests that default-src does not cascade to form-action.</p>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers
index d8655e27856..1abbcf50c40 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: form-action-src-default-ignored={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
-Content-Security-Policy: default-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; style-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: default-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; frame-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html
index 82a0714dd90..2f2804b64bb 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html
@@ -3,15 +3,18 @@
<head>
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
- <title>form-action-src-get-allowed</title>
+ <title>form-action-src-allowed</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
- <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
+ <script src='../support/logTest.sub.js?logs=["PASS","TEST COMPLETE"]'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script>
+ window.addEventListener("message", function(event) {
+ log(event.data);
+ }, false);
window.addEventListener('load', function() {
setTimeout(function() {
document.getElementById('submit').click();
@@ -23,13 +26,16 @@ form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
</head>
<body>
- <form action="../support/pass.png" id="theform" method="get" target="_blank">
+ <iframe name="test_target" id="test_iframe"></iframe>
+
+ <form action="/common/redirect.py" id="theform" method="get" target="test_target">
+ <input type="text" name="location" value="/content-security-policy/blink-contrib/resources/postmessage-pass.html">
<input type="text" name="fieldname" value="fieldvalue">
<input type="submit" id="submit" value="submit">
</form>
- <p>Tests that allowed form actions work correctly. If this test passes, you will see a page indicating a form was POSTed or a blocked pop-up warning.</p>
+ <p>Tests that allowed form actions work correctly. If this test passes, you will see a page indicating a form was POSTed.</p>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
-</body>
+ </body>
-</html>
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html
index 9a1b9f5b1a6..559e159f057 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html
@@ -3,7 +3,7 @@
<head>
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
- <title>form-action-src-get-blocked</title>
+ <title>form-action-src-allowed</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
@@ -12,23 +12,31 @@
form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
window.addEventListener('load', function() {
- setTimeout(function() {}, 1000);
- document.getElementById('submit').click();
- log("TEST COMPLETE");
+ setTimeout(function() {
+ document.getElementById('submit').click();
+ log("TEST COMPLETE");
+ }, 0);
});
</script>
</head>
<body>
- <form action="/navigation/resources/form-target.pl" id="theform" method="get">
+ <iframe name="test_target" id="test_iframe"></iframe>
+
+ <form action="/common/redirect.py" id="theform" method="get" target="test_target">
+ <input type="text" name="location" value="/content-security-policy/blink-contrib/resources/postmessage-fail.html">
<input type="text" name="fieldname" value="fieldvalue">
<input type="submit" id="submit" value="submit">
</form>
- <p>Tests that blocking form actions works correctly. If this test passes, a CSP violation will be generated, and will not see a page indicating a form was POSTed.</p>
+ <p>Tests that allowed form actions work correctly. If this test passes, you will see a page indicating a form was POSTed.</p>
<div id="log"></div>
- <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=form-action%20&apos;none&apos;"></script>
-</body>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=form-action%20&apos;none&apos;
+"></script>
+ </body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html
index 7bef874e862..c362ea6fdc3 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html
@@ -9,16 +9,15 @@
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
-form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
+form-action 'none'; script-src 'self' 'nonce-noncynonce'; connect-src 'self';
-->
- <script>
+ <script nonce='noncynonce'>
window.addEventListener('load', function() {
setTimeout(function() {
document.getElementById('submit').click();
log("TEST COMPLETE");
}, 0);
});
-
</script>
</head>
@@ -29,7 +28,7 @@ form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
</form>
<p>Tests that blocking form actions works correctly. If this test passes, a CSP violation will be generated, and will not see a JavaScript alert.</p>
<div id="log"></div>
- <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=form-action%20&apos;none&apos;"></script>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true"></script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers
index bbdf4a0711e..ffa2288c051 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: form-action-src-javascript-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
-Content-Security-Policy: form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: form-action 'none'; script-src 'self' 'nonce-noncynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html
index 6829a27e585..1d9d5693ac1 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html
@@ -9,9 +9,12 @@
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
-form-action 127.0.0.1:8000; script-src 'self' 'unsafe-inline'; connect-src 'self';
+form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
window.addEventListener('load', function() {
setTimeout(function() {
document.getElementById('submit').click();
@@ -24,13 +27,15 @@ form-action 127.0.0.1:8000; script-src 'self' 'unsafe-inline'; connect-src 'self
</head>
<body>
- <form id="form1" action="/navigation/resources/redirection-response.php?host=localhost:8000&amp;status=302&amp;target=form-target.pl" method="post">
+ <iframe name="test_target" id="test_iframe"></iframe>
+
+ <form id="form1" action="/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-fail.html" method="post" target="test_target">
<input type="text" name="fieldname" value="fieldvalue">
<input type="submit" id="submit" value="submit">
</form>
<p>Tests that blocking form redirect works correctly. If this test passes, a CSP violation will be generated, and will not see a page indicating a form was POSTed.</p>
<div id="log"></div>
- <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=form-action%20127.0.0.1:8000"></script>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=form-action%20'self'"></script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers
index cca14ebb5af..ee767f4a77c 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: form-action-src-redirect-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
-Content-Security-Policy: form-action 127.0.0.1:8000; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers
index 740f975a2de..6a92e06f4f4 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: scripthash-basic-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
-Content-Security-Policy: script-src 'self' 'unsafe-inline' 'sha1-Au4uYFbkf7OYd+ACMnKq96FN3qo='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: script-src 'self' 'sha256-k7iO9DPkNQ7PcwPP+8XyYuRiCJ0p76Ofveol9g3mFNs=' 'sha256-EgE/bwVJ+ZLL9F5hNjDqD4C7nlFFrdDaKeNIJ2cUem4='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers
index 4fe453debf7..fb3fc76550e 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: scripthash-ignore-unsafeinline={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
-Content-Security-Policy: script-src 'self' 'unsafe-inline' 'sha1-Au4uYFbkf7OYd+ACMnKq96FN3qo=' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: script-src 'self' unsafe-inline' 'sha256-k7iO9DPkNQ7PcwPP+8XyYuRiCJ0p76Ofveol9g3mFNs=' 'sha256-EgE/bwVJ+ZLL9F5hNjDqD4C7nlFFrdDaKeNIJ2cUem4='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html
index 3f25b94834f..912a29e0b86 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html
@@ -9,7 +9,7 @@
<script src="../support/logTest.sub.js?logs=[]"></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
-script-src 'self' 'unsafe-inline'; connect-src 'self';
+script-src 'self' 'unsafe-inline'; connect-src 'self'; child-src 'self';
-->
</head>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers
index 41c66413ca0..cbfc8d4e47a 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: blob-urls-do-not-match-self={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
-Content-Security-Policy: script-src 'self' 'unsafe-inline' '*'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; child-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-policies.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html
index 9d785210119..66b86f195d7 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-policies.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html
@@ -4,20 +4,21 @@
<head>
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
<meta http-equiv="Content-Security-Policy" content="img-src 'none'">
- <title>combine-multiple-policies</title>
+ <title>combine-header-and-meta-policies</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing multiple policies:
-Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; styls-src 'self'
+Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'
Content-Security-Policy: img-src 'none'
-->
</head>
<body>
- This test checks that we enforce all the supplied policies. This test passe if it doesn&apos;t alert fail and if the style doesn&apos;t apply.
- Check that a SecurityPolicyViolationEvent is fired upon blocking an image.
+<p>Test passes if both style and image are blocked and a report is generated for the
+ style block from the header-supplied policy.</p>
+
<script>
var img = document.createElement('img');
img.src = '../support/fail.png';
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-policies.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html.sub.headers
index eec4b0be352..b1f0e7f012d 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-policies.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html.sub.headers
@@ -2,5 +2,5 @@ Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
-Set-Cookie: combine-multiple-policies={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
-Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}} \ No newline at end of file
+Set-Cookie: combine-header-and-meta-policies={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
+Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis
new file mode 100644
index 00000000000..a14be5cd9ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis
@@ -0,0 +1,60 @@
+HTTP/1.1 200 OK
+Content-Type: text/html
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: combine-multiple-policies=d0140e7d-3800-4842-b66d-370840a4569a; Path=/content-security-policy/blink-contrib
+Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID=d0140e7d-3800-4842-b66d-370840a4569a
+Content-Security-Policy: img-src 'none'
+
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <meta http-equiv="Content-Security-Policy" content="img-src 'none'">
+ <title>combine-multiple-policies</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
+ <script src="../support/alertAssert.sub.js?alerts=[]"></script>
+ <!-- enforcing multiple policies:
+Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; styls-src 'self'
+Content-Security-Policy: img-src 'none'
+-->
+</head>
+
+<body>
+ This test checks that we enforce all the supplied policies. This test passe if it doesn&apos;t alert fail and if the style doesn&apos;t apply.
+ Check that a SecurityPolicyViolationEvent is fired upon blocking an image.
+ <script>
+ var img = document.createElement('img');
+ img.src = '../support/fail.png';
+ img.onerror = function() {
+ log("TEST COMPLETE");
+ };
+ img.onload = function() {
+ log("FAIL");
+ };
+ document.body.appendChild(img);
+
+ </script>
+ <style>
+ body {
+ background-color: blue;
+ }
+
+ </style>
+ <script>
+ var el = document.querySelector('body');
+ test(function() {
+ assert_equals(window.getComputedStyle(el).color, "rgb(0, 0, 0)")
+ });
+
+ </script>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=style-src%20&apos;self&apos;"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html
index 44d8fddbeb5..5be570c46fc 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html
@@ -17,7 +17,17 @@ connect-src 'self'; script-src 'self' 'unsafe-inline';
<script>
try {
var es = new EventSource("http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream");
- log("Fail");
+ // Firefox doesn't throw an exception and takes some time to close async
+ if (es.readyState == EventSource.CONNECTING) {
+ setTimeout( function() {
+ es.readyState != EventSource.CLOSED ? log("Fail") : log("Pass");
+ }, 2);
+ } else if (es.readyState == EventSource.CLOSED) {
+ log("Pass");
+ } else {
+ log("Fail");
+ }
+
} catch (e) {
log("Pass");
}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html
index 129a2613690..a3ba4bad03a 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html
@@ -6,7 +6,7 @@
<title>connect-src-eventsource-redirect-to-blocked</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
- <script src='../support/logTest.sub.js?logs=["PASS EventSource() did not follow the disallowed redirect.","PASS successfullyParsed is true","TEST COMPLETE"]'></script>
+ <script src='../support/logTest.sub.js?logs=["PASS EventSource() did not follow the disallowed redirect.","TEST COMPLETE"]'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
connect-src 'self'; script-src 'self' 'unsafe-inline';
@@ -18,7 +18,7 @@ connect-src 'self'; script-src 'self' 'unsafe-inline';
<script>
var es;
try {
- es = new EventSource("/common/redirect.py?location= http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream");
+ es = new EventSource("/common/redirect.py?location= http://www.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream");
} catch (e) {
log("FAIL " + "EventSource() should not throw an exception.");
}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html
index 148f68228c8..6fc0769b618 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html
@@ -11,19 +11,24 @@
<!-- enforcing policy:
connect-src 'self'; script-src 'self' 'unsafe-inline';
-->
- <script></script>
+ <script id="inject_here"></script>
</head>
<body>
<script>
var xhr = new XMLHttpRequest;
try {
- xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png", true);
+ xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true);
} catch (e) {
log("FAIL " + "XMLHttpRequest.open() should not throw an exception.");
}
xhr.onload = function() {
- log("FAIL " + "XMLHttpRequest.send() should fail to follow the disallowed redirect.");
+ //cons/**/ole.log(xhr.responseText);
+ if(xhr.responseText == "FAIL") {
+ log("FAIL " + "XMLHttpRequest.send() should fail to follow the disallowed redirect.");
+ } else {
+ log("PASS " + "XMLHttpRequest.send() did not follow the disallowed redirect.");
+ }
log("TEST COMPLETE");
};
xhr.onerror = function() {
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html
index e3ab5ea6dd4..f9e814a1e3b 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html
@@ -9,7 +9,7 @@
<script src="../support/logTest.sub.js?logs=[]"></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
-script-src 'self' 'unsafe-inline' 'unsafe-inline' 'self'; connect-src 'self';
+script-src 'self' 'unsafe-inline' 'self'; connect-src 'self';
-->
</head>
@@ -18,31 +18,45 @@ script-src 'self' 'unsafe-inline' 'unsafe-inline' 'self'; connect-src 'self';
filesystem: URLs are same-origin with the page in which they were created, but explicitly do not match the &apos;self&apos; or &apos;*&apos; source in CSP directives because they are more akin to 'unsafe-inline' content..
</p>
<script>
- function fail() {
- alert_assert("FAIL!");
- }
- window.webkitRequestFileSystem(TEMPORARY, 1024 * 1024 /*1MB*/ , function(fs) {
- fs.root.getFile('fail.js', {
- create: true
- }, function(fileEntry) {
- fileEntry.createWriter(function(fileWriter) {
- fileWriter.onwriteend = function(e) {
- var script = document.createElement('script');
- script.src = fileEntry.toURL('application/javascript');
- document.body.appendChild(script);
- };
- // Create a new Blob and write it to pass.js.
- var b = new Blob(['fail();'], {
- type: 'application/javascript'
+ if(!window.webkitRequestFileSystem) {
+ t_log = async_test();
+ t_log.set_status(t_log.NOTRUN, "No filesystem:// support, cannot run test.");
+ t_log.phase = t_log.phases.HAS_RESULT;
+ t_log.done();
+ } else {
+ function fail() {
+ alert_assert("FAIL!");
+ }
+ window.webkitRequestFileSystem(
+ TEMPORARY, 1024 * 1024 /*1MB*/ , function(fs) {
+ fs.root.getFile('fail.js', {
+ create: true
+ }, function(fileEntry) {
+ fileEntry.createWriter(function(fileWriter) {
+ fileWriter.onwriteend = function(e) {
+ var script = document.createElement('script');
+ script.src = fileEntry.toURL('application/javascript');
+ document.body.appendChild(script);
+ };
+ // Create a new Blob and write it to pass.js.
+ var b = new Blob(['fail();'], {
+ type: 'application/javascript'
+ });
+ fileWriter.write(b);
+ });
});
- fileWriter.write(b);
});
- });
- });
+ var s = document.createElement('script');
+ s.async = true;
+ s.defer = true;
+ s.src = "../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=script-src%20&apos;self&apos;%20&apos;unsafe-inline&apos;%20&apos;*&apos;"
+ document.lastChild.appendChild(s);
+ }
+
</script>
<div id="log"></div>
- <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=script-src%20&apos;self&apos;%20&apos;unsafe-inline&apos;%20&apos;*&apos;"></script>
+
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers
index fa4fbee48e1..a68e2a3df3b 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: filesystem-urls-do-not-match-self={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
-Content-Security-Policy: script-src 'self' 'unsafe-inline' '*'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html
index e835c95ac87..99e8592e593 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html
@@ -18,31 +18,42 @@ script-src 'self' 'unsafe-inline' 'unsafe-inline' 'self'; connect-src 'self';
filesystem: URLs are same-origin with the page in which they were created, but explicitly do not match the &apos;self&apos; or &apos;*&apos; source in CSP directives because they are more akin to 'unsafe-inline' content, but should match filesystem: source.
</p>
<script>
- function pass() {
- log("PASS (1/1)");
- }
- window.webkitRequestFileSystem(TEMPORARY, 1024 * 1024 /*1MB*/ , function(fs) {
- fs.root.getFile('pass.js', {
- create: true
- }, function(fileEntry) {
- fileEntry.createWriter(function(fileWriter) {
- fileWriter.onwriteend = function(e) {
- var script = document.createElement('script');
- script.src = fileEntry.toURL('application/javascript');
- document.body.appendChild(script);
- };
- // Create a new Blob and write it to pass.js.
- var b = new Blob(['pass();'], {
- type: 'application/javascript'
+ if(!window.webkitRequestFileSystem) {
+ t_log.set_status(t_log.NOTRUN, "No filesystem:// support, cannot run test.");
+ t_log.phase = t_log.phases.HAS_RESULT;
+ t_log.done();
+ } else {
+ function pass() {
+ log("PASS (1/1)");
+ }
+ window.webkitRequestFileSystem(
+ TEMPORARY, 1024 * 1024 /*1MB*/ , function(fs) {
+ fs.root.getFile('pass.js', {
+ create: true
+ }, function(fileEntry) {
+ fileEntry.createWriter(function(fileWriter) {
+ fileWriter.onwriteend = function(e) {
+ var script = document.createElement('script');
+ script.src = fileEntry.toURL('application/javascript');
+ document.body.appendChild(script);
+ };
+ // Create a new Blob and write it to pass.js.
+ var b = new Blob(['pass();'], {
+ type: 'application/javascript'
+ });
+ fileWriter.write(b);
+ });
});
- fileWriter.write(b);
});
- });
- });
+ var s = document.createElement('script');
+ s.async = true;
+ s.defer = true;
+ s.src = "../support/checkReport.sub.js?reportExists=false"
+ document.lastChild.appendChild(s);
+ }
</script>
<div id="log"></div>
- <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html
index f88b3e57d37..a363ce9116f 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html
@@ -1,4 +1,24 @@
+<!DOCTYPE html>
+<html>
-These frames should not be blocked by Content-Security-Policy. It&apos;s pointle to block about:blank iframes because blocking a frame just results in displaying about:blank anyway!
-<iframe src="about:blank"></iframe>
-<object type="text/html" data="about:blank"></object>
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>frame-src-about-blank-allowed-by-default</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+
+ <!-- enforcing policy:
+frame-src 'none'; object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>These frames should not be blocked by Content-Security-Policy.
+ It&apos;s pointless to block about:blank iframes because
+ blocking a frame just results in displaying about:blank anyway!
+ </p>
+ <iframe src="about:blank"></iframe>
+ <object type="text/html" data="about:blank"></object>
+
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html
index 2aea6e6dd35..e4c47392c25 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html
@@ -1,3 +1,20 @@
+<!DOCTYPE html>
+<html>
-This iframe should not be blocked by Content-Security-Policy:
-<iframe src="about:blank"></iframe>
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>frame-src-about-blank-allowed-by-scheme</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+
+ <!-- enforcing policy:
+frame-src about:; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>This frame should not be blocked by Content-Security-Policy.
+ </p>
+ <iframe src="about:blank"></iframe>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-allowed.sub.html
index a43e4be27c2..1d34679c8d0 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-allowed.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-allowed.sub.html
@@ -1 +1,63 @@
-<iframe src="resources/alert-pass.html"></iframe>
+<!DOCTYPE html>
+<html>
+
+<head>
+ <title>frame-src-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+
+ var t_alert = async_test('Expecting alerts: ["PASS"]');
+ var expected_alerts = ["PASS"];
+
+ function alert_assert(msg) {
+ t_alert.step(function() {
+ if (msg.match(/^FAIL/i)) {
+ assert_unreached(msg);
+ t_alert.done();
+ }
+ for (var i = 0; i < expected_alerts.length; i++) {
+ if (expected_alerts[i] == msg) {
+ assert_true(expected_alerts[i] == msg);
+ expected_alerts.splice(i, 1);
+ if (expected_alerts.length == 0) {
+ t_alert.done();
+ }
+ return;
+ }
+ }
+ assert_unreached('unexpected alert: ' + msg);
+ t_log.done();
+ });
+ }
+
+ </script>
+ <!-- enforcing policy:
+Content-Security-Policy: frame-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>
+ This iframe should be allowed.
+ </p>
+ <script>
+ window.wasPostTestScriptParsed = true;
+ var loads = 0;
+
+ function loadEvent() {
+ loads++;
+ log("PASS " + "IFrame #" + loads + " generated a load event.");
+ }
+
+ </script>
+</head>
+
+<body>
+ <iframe src="/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-blocked.sub.html
index 80427ad5cd7..fe7555aebb5 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-blocked.sub.html
@@ -1 +1,61 @@
-<iframe src="resources/alert-fail.html"></iframe>
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>frame-src-blocked</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+
+ function alert_assert(msg) {
+ t_alert.step(function() {
+ if (msg.match(/^FAIL/i)) {
+ assert_unreached(msg);
+ t_alert.done();
+ }
+ for (var i = 0; i < expected_alerts.length; i++) {
+ if (expected_alerts[i] == msg) {
+ assert_true(expected_alerts[i] == msg);
+ expected_alerts.splice(i, 1);
+ if (expected_alerts.length == 0) {
+ t_alert.done();
+ }
+ return;
+ }
+ }
+ assert_unreached('unexpected alert: ' + msg);
+ t_log.done();
+ });
+ }
+
+ </script>
+ <!-- enforcing policy:
+frame-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>
+ IFrames blocked by CSP should generate a 'load', not 'error' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS.
+ </p>
+ <script>
+ window.wasPostTestScriptParsed = true;
+ var loads = 0;
+
+ function loadEvent() {
+ loads++;
+ log("PASS " + "IFrame #" + loads + " generated a load event.");
+ }
+
+ </script>
+</head>
+
+<body>
+ <iframe src="/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=frame-src%20&apos;none&apos;"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html
index 4904c9070c3..5238e7c0f9d 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html
@@ -32,16 +32,16 @@
}
}
assert_unreached('unexpected alert: ' + msg);
- t_log.done();
+ t_alert.done();
});
}
</script>
<!-- enforcing policy:
-frame-src 'self' http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self';
+frame-src 'self' http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<p>
- IFrames blocked by CSP should generate a 'load' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS.
+ IFrames blocked by CSP should generate a 'load', not 'error' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS.
</p>
<script>
window.wasPostTestScriptParsed = true;
@@ -50,8 +50,6 @@ frame-src 'self' http://localhost:8080; script-src 'self' 'unsafe-inline'; conne
function loadEvent() {
loads++;
log("PASS " + "IFrame #" + loads + " generated a load event.");
- if (loads == 3)
- log("TEST COMPLETE");
}
</script>
@@ -60,9 +58,9 @@ frame-src 'self' http://localhost:8080; script-src 'self' 'unsafe-inline'; conne
<body>
<iframe src="resources/postmessage-pass.html" onload="loadEvent()"></iframe>
<iframe src="http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe>
- <iframe src="http://www2.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()"></iframe>
+ <iframe src="http://www2.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe>
<div id="log"></div>
- <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=frame-src%20&apos;self&apos;%20http://localhost:8080"></script>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=frame-src%20&apos;self&apos;http://www1.{{host}}:{{ports[http][0]}}"></script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.js
deleted file mode 100644
index 04e68d61b4f..00000000000
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.js
+++ /dev/null
@@ -1,10 +0,0 @@
-onconnect = function(event) {
- var port = event.ports[0];
- try {
- var xhr = new XMLHttpRequest;
- xhr.open("GET", "http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/blue.css", true);
- port.postMessage("xhr allowed");
- } catch (e) {
- port.postMessage("xhr blocked");
- }
-};
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js
new file mode 100644
index 00000000000..28937d05dab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js
@@ -0,0 +1,23 @@
+onconnect = function (event) {
+ var port = event.ports[0];
+ var xhr = new XMLHttpRequest;
+ xhr.onerror = function () {
+ port.postMessage("xhr blocked");
+ port.postMessage("TEST COMPLETE");
+ };
+ xhr.onload = function () {
+ if (xhr.responseText == "FAIL") {
+ port.postMessage("xhr allowed");
+ } else {
+ port.postMessage("xhr blocked");
+ }
+ port.postMessage("TEST COMPLETE");
+ };
+ try {
+ xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true);
+ xhr.send();
+ } catch (e) {
+ port.postMessage("xhr blocked");
+ port.postMessage("TEST COMPLETE");
+ }
+} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.js
deleted file mode 100644
index 04e68d61b4f..00000000000
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.js
+++ /dev/null
@@ -1,10 +0,0 @@
-onconnect = function(event) {
- var port = event.ports[0];
- try {
- var xhr = new XMLHttpRequest;
- xhr.open("GET", "http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/blue.css", true);
- port.postMessage("xhr allowed");
- } catch (e) {
- port.postMessage("xhr blocked");
- }
-};
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js
new file mode 100644
index 00000000000..28937d05dab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js
@@ -0,0 +1,23 @@
+onconnect = function (event) {
+ var port = event.ports[0];
+ var xhr = new XMLHttpRequest;
+ xhr.onerror = function () {
+ port.postMessage("xhr blocked");
+ port.postMessage("TEST COMPLETE");
+ };
+ xhr.onload = function () {
+ if (xhr.responseText == "FAIL") {
+ port.postMessage("xhr allowed");
+ } else {
+ port.postMessage("xhr blocked");
+ }
+ port.postMessage("TEST COMPLETE");
+ };
+ try {
+ xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true);
+ xhr.send();
+ } catch (e) {
+ port.postMessage("xhr blocked");
+ port.postMessage("TEST COMPLETE");
+ }
+} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.js.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js.sub.headers
index ac7368c32ee..ac7368c32ee 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.js.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js.sub.headers
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.js
deleted file mode 100644
index 38e0c53e785..00000000000
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.js
+++ /dev/null
@@ -1,7 +0,0 @@
-try {
- var xhr = new XMLHttpRequest;
- xhr.open("GET", "http://127.0.0.1:8000/xmlhttprequest/resources/get.txt", true);
- postMessage("xhr allowed");
-} catch (e) {
- postMessage("xhr blocked");
-}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js
new file mode 100644
index 00000000000..22819d57a20
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js
@@ -0,0 +1,21 @@
+var xhr = new XMLHttpRequest;
+xhr.onerror = function () {
+ postMessage("xhr blocked");
+ postMessage("TEST COMPLETE");
+};
+xhr.onload = function () {
+ //cons/**/ole.log(xhr.responseText);
+ if (xhr.responseText == "FAIL") {
+ postMessage("xhr allowed");
+ } else {
+ postMessage("xhr blocked");
+ }
+ postMessage("TEST COMPLETE");
+};
+try {
+ xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true);
+ xhr.send();
+} catch (e) {
+ postMessage("xhr blocked");
+ postMessage("TEST COMPLETE");
+} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.js.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js.sub.headers
index ac7368c32ee..ac7368c32ee 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.js.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js.sub.headers
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr.js
deleted file mode 100644
index 38e0c53e785..00000000000
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr.js
+++ /dev/null
@@ -1,7 +0,0 @@
-try {
- var xhr = new XMLHttpRequest;
- xhr.open("GET", "http://127.0.0.1:8000/xmlhttprequest/resources/get.txt", true);
- postMessage("xhr allowed");
-} catch (e) {
- postMessage("xhr blocked");
-}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js
new file mode 100644
index 00000000000..73359a39ead
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js
@@ -0,0 +1,21 @@
+var xhr = new XMLHttpRequest;
+xhr.onerror = function () {
+ postMessage("xhr blocked");
+ postMessage("TEST COMPLETE");
+};
+xhr.onload = function () {
+ //cons/**/ole.log(xhr.responseText);
+ if (xhr.responseText == "FAIL") {
+ postMessage("xhr allowed");
+ } else {
+ postMessage("xhr blocked");
+ }
+ postMessage("TEST COMPLETE");
+};
+try {
+ xhr.open("GET", "/common/redirect.py?location=http://{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true);
+ xhr.send();
+} catch (e) {
+ postMessage("xhr blocked");
+ postMessage("TEST COMPLETE");
+} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html
new file mode 100644
index 00000000000..487e8881bdd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>worker-connect-src-blocked</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["TEST COMPLETE"]'></script>
+ <!-- enforcing policy:
+connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src 'self';
+-->
+
+</head>
+<p>This test loads a worker, from a guid.
+ The worker should be blocked from loading with a child-src policy of 'self'
+ as the blob: scheme must be specified explicitly.
+ A report should be sent to the report-uri specified
+ with this resource.</p>
+<body>
+ <script>
+ try {
+ var blob = new Blob([
+ "postMessage('FAIL');" +
+ "postMessage('TEST COMPLETE');"
+ ],
+ {type : 'application/javascript'});
+ var url = URL.createObjectURL(blob);
+ var worker = new Worker(url);
+ worker.onmessage = function(event) {
+ alert_assert(event.data);
+ };
+ } catch (e) {
+ alert_assert('TEST COMPLETE');
+ }
+ function timeout() {
+ alert_assert('TEST COMPLETE');
+ }
+ </script>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=child-src%20&apos;self&apos;"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers
new file mode 100644
index 00000000000..05843484b88
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: self-doesnt-match-blob={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
+Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html
index 17ec12b883b..007d66c1fcb 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html
@@ -7,7 +7,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/logTest.sub.js?logs=[]"></script>
- <script src='../support/alertAssert.sub.js?alerts=["xhr allowed"]'></script>
+ <script src='../support/alertAssert.sub.js?alerts=["xhr allowed","TEST COMPLETE"]'></script>
<!-- enforcing policy:
connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline';
-->
@@ -17,7 +17,7 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
<body>
<script>
try {
- var worker = new SharedWorker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.js');
+ var worker = new SharedWorker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js');
worker.port.onmessage = function(event) {
alert_assert(event.data);
};
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html
index d2a8c18c7a2..f049b933632 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html
@@ -7,17 +7,23 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/logTest.sub.js?logs=[]"></script>
- <script src='../support/alertAssert.sub.js?alerts=["xhr blocked"]'></script>
+ <script src='../support/alertAssert.sub.js?alerts=["xhr blocked","TEST COMPLETE"]'></script>
<!-- enforcing policy:
-connect-src 'self' 'none'; script-src 'self' 'unsafe-inline';
+connect-src *; script-src 'self' 'unsafe-inline';
-->
</head>
<body>
+ <p>This test loads a shared worker, delivered with its own
+ policy. The worker should be blocked from making an XHR
+ as that policy specifies a connect-src 'none', though
+ this resource's policy is connect-src *. No report
+ should be sent since the worker's policy doesn't specify
+ a report-uri.</p>
<script>
try {
- var worker = new SharedWorker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.js');
+ var worker = new SharedWorker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js');
worker.port.onmessage = function(event) {
alert_assert(event.data);
};
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers
index 6654b121c9d..bb4fb4c90c6 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: shared-worker-connect-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
-Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: connect-src *; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html
new file mode 100644
index 00000000000..57fec43b6bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>worker-connect-src-blocked</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["TEST COMPLETE"]'></script>
+ <!-- enforcing policy:
+connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src *;
+-->
+
+</head>
+<p>This test loads a worker, from a guid.
+ The worker should be blocked from loading with a child-src policy of *
+ as the blob: scheme must be specified explicitly.
+ A report should be sent to the report-uri specified
+ with this resource.</p>
+<body>
+ <script>
+ try {
+ var blob = new Blob([
+ "postMessage('FAIL');" +
+ "postMessage('TEST COMPLETE');"
+ ],
+ {type : 'application/javascript'});
+ var url = URL.createObjectURL(blob);
+ var worker = new Worker(url);
+ worker.onmessage = function(event) {
+ alert_assert(event.data);
+ };
+ } catch (e) {
+ alert_assert('TEST COMPLETE');
+ }
+ function timeout() {
+ alert_assert('TEST COMPLETE');
+ }
+ </script>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=child-src%20&apos;self&apos;"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers
new file mode 100644
index 00000000000..9f7db5b0f6f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: star-doesnt-match-blob={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
+Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src *; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html
index 24c9e9fad20..923149199a4 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html
@@ -17,7 +17,7 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
<body>
<script>
try {
- var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-make-xhr.js');
+ var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js');
worker.onmessage = function(event) {
alert_assert(event.data);
};
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html
index fd05da32888..0541322902d 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html
@@ -7,17 +7,22 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/logTest.sub.js?logs=[]"></script>
- <script src='../support/alertAssert.sub.js?alerts=["xhr blocked"]'></script>
+ <script src='../support/alertAssert.sub.js?alerts=["xhr blocked","TEST COMPLETE"]'></script>
<!-- enforcing policy:
-connect-src 'self' 'none'; script-src 'self' 'unsafe-inline';
+connect-src *; script-src 'self' 'unsafe-inline';
-->
</head>
-
+<p>This test loads a worker, which is delivered with its own
+ policy. The worker should be blocked from making an XHR
+ as that policy specifies a connect-src 'none', though
+ this resource's policy is connect-src *. No report
+ should be sent since the worker's policy doesn't specify
+ a report-uri.</p>
<body>
<script>
try {
- var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.js');
+ var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js');
worker.onmessage = function(event) {
alert_assert(event.data);
};
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers
index 9a7d0e88b59..e302aa84aa8 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: worker-connect-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
-Content-Security-Policy: connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: connect-src *; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html
index 013f09c3f20..ac96e0f4d7f 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html
@@ -14,6 +14,11 @@ script-src 'self' 'unsafe-inline' 'self'; connect-src 'self';
</head>
<body>
+ <p>This test loads a worker, delivered with its own policy.
+ The eval() call in the worker should be forbidden by that
+ policy. No report should be generated because the worker
+ policy does not set a report-uri (although this parent
+ resource does).</p>
<script>
try {
var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-eval.js');
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers
index 8a982d40e69..8964f80abad 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers
@@ -3,4 +3,4 @@ Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: worker-eval-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
-Content-Security-Policy: script-src 'self' 'unsafe-inline' 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
+Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-from-guid.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-from-guid.sub.html
new file mode 100644
index 00000000000..b290b82f649
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-from-guid.sub.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>worker-connect-src-blocked</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["xhr blocked","TEST COMPLETE"]'></script>
+ <!-- enforcing policy:
+connect-src 'self'; script-src 'self' 'unsafe-inline' blob:;
+-->
+
+</head>
+<p>This test loads a worker, from a guid.
+ The worker should be blocked from making an XHR
+ to www1 as this resource's policy is connect-src 'self
+ and a guid Worker should inherit is parent's policy.
+ A report should be sent to the report-uri specified
+ with this resource.</p>
+<body>
+ <script>
+ try {
+ var blob = new Blob([
+ "var xhr = new XMLHttpRequest;" +
+ "xhr.onerror = function () {" +
+ " postMessage('xhr blocked');" +
+ " postMessage('TEST COMPLETE');" +
+ "};" +
+ "xhr.onload = function () {" +
+ " if (xhr.responseText == 'FAIL') {" +
+ " postMessage('xhr allowed');" +
+ " } else {" +
+ " postMessage('xhr blocked');" +
+ " }" +
+ " postMessage('TEST COMPLETE');" +
+ "};" +
+ "try { " +
+ " xhr.open(" +
+ " 'GET'," +
+ " 'http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis'," +
+ " true" +
+ " );" +
+ " xhr.send();" +
+ "} catch (e) {" +
+ " postMessage('xhr blocked');" +
+ " postMessage('TEST COMPLETE');" +
+ "}"],
+ {type : 'application/javascript'});
+ var url = URL.createObjectURL(blob);
+ var worker = new Worker(url);
+ worker.onmessage = function(event) {
+ alert_assert(event.data);
+ };
+ } catch (e) {
+ alert_assert(e);
+ }
+
+ </script>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=connect-src%20&apos;self&apos;"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers
new file mode 100644
index 00000000000..d94d31ace8c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: worker-from-guid={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
+Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline' blob:; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html
index cd1b92e59a5..1db574780dc 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html
@@ -15,6 +15,11 @@ script-src 'self' 'unsafe-inline' 'self' 'unsafe-inline'; connect-src 'self';
</head>
<body>
+ <p>This test loads a worker, delivered with its own policy.
+ The Function constructor should be forbidden by that
+ policy. No report should be generated because the worker
+ policy does not set a report-uri (although this parent
+ resource does).</p>
<script>
try {
var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-function-function.js');
diff --git a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-script-src.sub.html b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-script-src.sub.html
index 9c524e715e7..9caf77224f9 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-script-src.sub.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/blink-contrib/worker-script-src.sub.html
@@ -9,7 +9,7 @@
<script src="../support/logTest.sub.js?logs=[]"></script>
<script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script>
<!-- enforcing policy:
-script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self';
+script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
</head>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html
new file mode 100644
index 00000000000..9222a8ddc95
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>child-src-about-blank-allowed-by-default</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+
+ <!-- enforcing policy:
+child-src 'none'; object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>These frames should not be blocked by Content-Security-Policy.
+ It&apos;s pointless to block about:blank iframes because
+ blocking a frame just results in displaying about:blank anyway!
+ </p>
+ <iframe src="about:blank"></iframe>
+ <object type="text/html" data="about:blank"></object>
+
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers
new file mode 100644
index 00000000000..68b2fb2fb89
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: child-src-about-blank-allowed-by-default={{$id:uuid()}}; Path=/content-security-policy/child-src
+Content-Security-Policy: child-src 'none'; object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html
new file mode 100644
index 00000000000..d94eff6843c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>child-src-about-blank-allowed-by-scheme</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+
+ <!-- enforcing policy:
+child-src about:; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>This frame should not be blocked by Content-Security-Policy.
+ </p>
+ <iframe src="about:blank"></iframe>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers
new file mode 100644
index 00000000000..9ff84d67dd2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: child-src-about-blank-allowed-by-scheme={{$id:uuid()}}; Path=/content-security-policy/child-src
+Content-Security-Policy: child-src about:; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html
new file mode 100644
index 00000000000..12a075adb65
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <title>child-src-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+
+ var t_alert = async_test('Expecting alerts: ["PASS"]');
+ var expected_alerts = ["PASS"];
+
+ function alert_assert(msg) {
+ t_alert.step(function() {
+ if (msg.match(/^FAIL/i)) {
+ assert_unreached(msg);
+ t_alert.done();
+ }
+ for (var i = 0; i < expected_alerts.length; i++) {
+ if (expected_alerts[i] == msg) {
+ assert_true(expected_alerts[i] == msg);
+ expected_alerts.splice(i, 1);
+ if (expected_alerts.length == 0) {
+ t_alert.done();
+ }
+ return;
+ }
+ }
+ assert_unreached('unexpected alert: ' + msg);
+ t_alert.done();
+ });
+ }
+
+ </script>
+ <!-- enforcing policy:
+Content-Security-Policy: child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>
+ This iframe should be allowed.
+ </p>
+ <script>
+ window.wasPostTestScriptParsed = true;
+ var loads = 0;
+
+ function loadEvent() {
+ loads++;
+ log("PASS " + "IFrame #" + loads + " generated a load event.");
+ }
+
+ </script>
+</head>
+
+<body>
+ <iframe src="/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html.sub.headers
new file mode 100644
index 00000000000..7eb8d76f960
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: child-src-allowed={{$id:uuid()}}; Path=/content-security-policy/child-src
+Content-Security-Policy: child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-blocked.sub.html
new file mode 100644
index 00000000000..e32cc0af05e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-blocked.sub.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>child-src-blocked</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+
+ function alert_assert(msg) {
+ t_log.step(function() {
+ if (msg.match(/^FAIL/i)) {
+ assert_unreached(msg);
+ t_log.done();
+ }
+ for (var i = 0; i < expected_alerts.length; i++) {
+ if (expected_alerts[i] == msg) {
+ assert_true(expected_alerts[i] == msg);
+ expected_alerts.splice(i, 1);
+ if (expected_alerts.length == 0) {
+ t_log.done();
+ }
+ return;
+ }
+ }
+ assert_unreached('unexpected alert: ' + msg);
+ t_log.done();
+ });
+ }
+
+ </script>
+ <!-- enforcing policy:
+child-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>
+ IFrames blocked by CSP should generate a 'load', not 'error' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS.
+ </p>
+ <script>
+ window.wasPostTestScriptParsed = true;
+ var loads = 0;
+
+ function loadEvent() {
+ loads++;
+ log("PASS " + "IFrame #" + loads + " generated a load event.");
+ }
+
+ </script>
+</head>
+
+<body>
+ <iframe src="/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=child-src%20&apos;none&apos;"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-blocked.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-blocked.sub.html.sub.headers
new file mode 100644
index 00000000000..961d18a7dd6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: child-src-blocked={{$id:uuid()}}; Path=/content-security-policy/child-src
+Content-Security-Policy: child-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html
new file mode 100644
index 00000000000..b681253ae01
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>child-src-blocked</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+
+ function alert_assert(msg) {
+ t_log.step(function() {
+ if (msg.match(/^FAIL/i)) {
+ assert_unreached(msg);
+ t_log.done();
+ }
+ for (var i = 0; i < expected_alerts.length; i++) {
+ if (expected_alerts[i] == msg) {
+ assert_true(expected_alerts[i] == msg);
+ expected_alerts.splice(i, 1);
+ if (expected_alerts.length == 0) {
+ t_log.done();
+ }
+ return;
+ }
+ }
+ assert_unreached('unexpected alert: ' + msg);
+ t_log.done();
+ });
+ }
+
+ </script>
+ <!-- enforcing policy:
+frame-src 'none'; child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>
+ A more permissive child-src should not relax restrictions from a less-
+ permissive frame-src. Directives still combine for least privilege, even when
+ one obsoletes another.
+ </p>
+ <script>
+ window.wasPostTestScriptParsed = true;
+ var loads = 0;
+
+ function loadEvent() {
+ loads++;
+ log("PASS " + "IFrame #" + loads + " generated a load event.");
+ }
+
+ </script>
+</head>
+
+<body>
+ <iframe src="/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=frame-src%20&apos;none&apos;"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers
new file mode 100644
index 00000000000..9c3ce84263c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: child-src-conflicting-frame-src={{$id:uuid()}}; Path=/content-security-policy/child-src
+Content-Security-Policy: frame-src 'none'; child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub.html
new file mode 100644
index 00000000000..b6f3e5164e2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
+ <title>child-src-cross-origin-load</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event.","PASS IFrame %232 generated a load event.","PASS IFrame %233 generated a load event."]'></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+
+ var t_alert = async_test('Expecting alerts: ["PASS","PASS"]');
+ var expected_alerts = ["PASS", "PASS"];
+
+ function alert_assert(msg) {
+ t_alert.step(function() {
+ if (msg.match(/^FAIL/i)) {
+ assert_unreached(msg);
+ t_alert.done();
+ }
+ for (var i = 0; i < expected_alerts.length; i++) {
+ if (expected_alerts[i] == msg) {
+ assert_true(expected_alerts[i] == msg);
+ expected_alerts.splice(i, 1);
+ if (expected_alerts.length == 0) {
+ t_alert.done();
+ }
+ return;
+ }
+ }
+ assert_unreached('unexpected alert: ' + msg);
+ t_alert.done();
+ });
+ }
+
+ </script>
+ <!-- enforcing policy:
+child-src 'self' http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; connect-src 'self';
+-->
+ <p>
+ IFrames blocked by CSP should generate a 'load', not 'error' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS.
+ </p>
+ <script>
+ window.wasPostTestScriptParsed = true;
+ var loads = 0;
+
+ function loadEvent() {
+ loads++;
+ log("PASS " + "IFrame #" + loads + " generated a load event.");
+ if (loads == 3)
+ log("TEST COMPLETE");
+ }
+
+ </script>
+</head>
+
+<body>
+ <iframe src="/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe>
+ <iframe src="http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe>
+ <iframe src="http://www2.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=child-src%20&apos;self&apos;"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers
new file mode 100644
index 00000000000..53527c1adaf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: child-src-cross-origin-load={{$id:uuid()}}; Path=/content-security-policy/child-src
+Content-Security-Policy: child-src 'self' http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-allowed.sub.html
new file mode 100644
index 00000000000..361d0974287
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-allowed.sub.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <title>child-src-worker-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script>
+ <!-- enforcing policy:
+child-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self';
+-->
+
+</head>
+
+<body>
+ <script>
+ try {
+ var foo = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js');
+ foo.onmessage = function(event) {
+ alert_assert("PASS");
+ };
+ } catch (e) {
+ alert_assert(e);
+ }
+
+ </script>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers
new file mode 100644
index 00000000000..4ddb39e84b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: child-src-worker-allowed={{$id:uuid()}}; Path=/content-security-policy/child-src
+Content-Security-Policy: child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html
new file mode 100644
index 00000000000..d8908b17b3d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <title>child-src-worker-blocked</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script>
+ <!-- enforcing policy:
+child-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self';
+-->
+
+</head>
+
+<body>
+ <script>
+ try {
+ var foo = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js');
+ foo.onmessage = function(event) {
+ alert_assert("FAIL");
+ };
+ } catch (e) {
+ alert_assert("PASS");
+ }
+
+ </script>
+ <div id="log"></div>
+ <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=child-src%20&apos;none&apos;"></script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers
new file mode 100644
index 00000000000..685d6dcf5ea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: child-src-worker-blocked={{$id:uuid()}}; Path=/content-security-policy/child-src
+Content-Security-Policy: child-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/deep-allows-none.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/deep-allows-none.sub.html
new file mode 100644
index 00000000000..1926007d34c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/deep-allows-none.sub.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>single-frame-self-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script>
+ <!-- enforcing policy:
+connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self';
+-->
+ <script>
+ function onMessage(event) {
+ if(event.data == "start test") {
+ startTest();
+ } else {
+ alert_assert(event.data);
+ }
+ }
+
+ window.addEventListener(
+ "message",
+ onMessage,
+ false);
+
+ function startTest() {
+ window.frames['frame1'].frames['deepframe'].postMessage("hello deep frame", "*");
+ }
+ function done() { alert_assert("PASS"); }
+ setTimeout(done(), 1);
+ </script>
+</head>
+<body>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html?subframe=http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-none.html' name="frame1"></iframe>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html
new file mode 100644
index 00000000000..6b9c91c9356
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<body>
+ <p>Reporting Frame...</p>
+ <script>
+ function onMessage(event) {
+ var p = document.createElement(p);
+ p.textContent = event.data;
+ document.body.appendChild(p);
+ window.parent.postMessage(event.data, "*");
+ }
+
+ window.addEventListener(
+ "message",
+ onMessage,
+ false
+ );
+ </script>
+ <iframe src='{{GET[subframe]}}' name="deepframe"></iframe>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers
new file mode 100644
index 00000000000..f0eb936b362
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers
@@ -0,0 +1,5 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Content-Security-Policy: frame-ancestors 'self'
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html
new file mode 100644
index 00000000000..d51e0d5329d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<body>
+ <p>Reporting Frame...</p>
+ <script>
+ function onMessage(event) {
+ var p = document.createElement(p);
+ p.textContent = event.data;
+ document.body.appendChild(p);
+ window.parent.postMessage(event.data, "*");
+ }
+ window.addEventListener(
+ "message",
+ onMessage,
+ false
+ );
+ </script>
+ <iframe src='{{GET[subframe]}}' name="deepframe"></iframe>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers
new file mode 100644
index 00000000000..734aa227ffe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers
@@ -0,0 +1,5 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Content-Security-Policy: frame-ancestors *
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html
new file mode 100644
index 00000000000..47bb0244b4b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>multiple-frames-self-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["hello frame1","hello frame2"]'></script>
+ <!-- enforcing policy:
+connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self';
+-->
+ <script>
+ var startTestCtr = 0;
+ function onMessage(event) {
+ if(event.data == "start test") {
+ startTestCtr++;
+ if(startTestCtr == 2) {
+ startTest();
+ }
+ } else {
+ alert_assert(event.data);
+ }
+ }
+
+ window.addEventListener(
+ "message",
+ onMessage,
+ false);
+
+ function startTest() {
+ window.frames['frame1'].postMessage("hello frame1", "*");
+ window.frames['frame2'].postMessage("hello frame2", "*");
+ }
+ </script>
+</head>
+<body>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html' name="frame2"></iframe>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html
new file mode 100644
index 00000000000..3857a173cc2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>multiple-frames-self-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["hello frame2"]'></script>
+ <!-- enforcing policy:
+connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self';
+-->
+ <script>
+ function onMessage(event) {
+ if(event.data == "start test") {
+ startTest();
+ } else {
+ alert_assert(event.data);
+ }
+ }
+
+ window.addEventListener(
+ "message",
+ onMessage,
+ false);
+
+ function startTest() {
+ window.frames['frame1'].postMessage("hello frame1", "*");
+ window.frames['frame2'].postMessage("hello frame2", "*");
+ }
+ </script>
+</head>
+<body>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-none.html' name="frame1"></iframe>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame2"></iframe>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html
new file mode 100644
index 00000000000..485b6eb0f17
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>multiple-frames-self-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["hello frame1","hello frame2"]'></script>
+ <!-- enforcing policy:
+connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self';
+-->
+ <script>
+ var startTestCtr = 0;
+ function onMessage(event) {
+ if(event.data == "start test") {
+ startTestCtr++;
+ if(startTestCtr == 2) {
+ startTest();
+ }
+ } else {
+ alert_assert(event.data);
+ }
+ }
+ window.addEventListener(
+ "message",
+ onMessage,
+ false);
+ function startTest() {
+ window.frames['frame1'].postMessage("hello frame1", "*");
+ window.frames['frame2'].postMessage("hello frame2", "*");
+ }
+ </script>
+</head>
+<body>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame2"></iframe>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html
new file mode 100644
index 00000000000..a49049d1367
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>single-frame-self-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["hello deep frame"]'></script>
+ <!-- enforcing policy:
+connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self';
+-->
+ <script>
+ function onMessage(event) {
+ if(event.data == "start test") {
+ startTest();
+ } else {
+ alert_assert(event.data);
+ }
+ }
+ window.addEventListener(
+ "message",
+ onMessage,
+ false);
+ function startTest() {
+ window.frames['frame1'].frames['deepframe'].postMessage("hello deep frame", "*");
+ }
+ </script>
+</head>
+<body>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html?subframe=http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html
new file mode 100644
index 00000000000..ced262fd702
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>single-frame-self-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script>
+ <!-- enforcing policy:
+connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self';
+-->
+ <script>
+ function onMessage(event) {
+ if(event.data == "start test") {
+ startTest();
+ } else {
+ alert_assert(event.data);
+ }
+ }
+ window.addEventListener(
+ "message",
+ onMessage,
+ false);
+ function startTest() {
+ window.frames['frame1'].frames['deepframe'].postMessage("hello deep frame", "*");
+ }
+ function done() { alert_assert("PASS"); }
+ setTimeout(done(), 1);
+ </script>
+</head>
+<body>
+ <iframe src='http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html?subframe=http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html
new file mode 100644
index 00000000000..e58f0ba8d2b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>single-frame-self-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script>
+ <!-- enforcing policy:
+connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self';
+-->
+ <script>
+ function onMessage(event) {
+ if(event.data == "start test") {
+ startTest();
+ } else {
+ alert_assert(event.data);
+ }
+ }
+
+ window.addEventListener(
+ "message",
+ onMessage,
+ false);
+
+ function startTest() {
+ window.frames['frame1'].frames['deepframe'].postMessage("hello deep frame", "*");
+ }
+ function done() { alert_assert("PASS"); }
+ setTimeout(done(), 1);
+ </script>
+</head>
+<body>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html?subframe=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html
new file mode 100644
index 00000000000..c0d079f01c4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Security-Policy" content="frame-ancestors 'none'">
+</head>
+<body>
+ <p>Reporting Frame...</p>
+ <script>
+ function onMessage(event) {
+ var p = document.createElement(p);
+ p.textContent = event.data;
+ document.body.appendChild(p);
+ window.parent.postMessage(event.data, "*");
+ }
+ window.addEventListener(
+ "message",
+ onMessage,
+ false
+ );
+ window.parent.postMessage("start test", "*");
+ </script>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none.html
new file mode 100644
index 00000000000..e38d99a6c19
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<body>
+ <p>Reporting Frame...</p>
+ <script>
+ function onMessage(event) {
+ var p = document.createElement(p);
+ p.textContent = event.data;
+ document.body.appendChild(p);
+ window.parent.postMessage(event.data, "*");
+ }
+
+ window.addEventListener(
+ "message",
+ onMessage,
+ false
+ );
+
+ window.parent.postMessage("start test", "*");
+ </script>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers
new file mode 100644
index 00000000000..18bfb8156f3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers
@@ -0,0 +1,5 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Content-Security-Policy: frame-ancestors 'none'
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-self.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-self.html
new file mode 100644
index 00000000000..7c1186e77a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-self.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<body>
+ <p>Reporting Frame...</p>
+ <script>
+ function onMessage(event) {
+ var p = document.createElement(p);
+ p.textContent = event.data;
+ document.body.appendChild(p);
+ window.parent.postMessage(event.data, "*");
+ }
+
+ window.addEventListener(
+ "message",
+ onMessage,
+ false
+ );
+
+ window.parent.postMessage("start test", "*");
+ </script>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers
new file mode 100644
index 00000000000..f0eb936b362
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers
@@ -0,0 +1,5 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Content-Security-Policy: frame-ancestors 'self'
diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html
new file mode 100644
index 00000000000..3a9b4552e08
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>single-frame-self-allowed</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../support/logTest.sub.js?logs=[]"></script>
+ <script src='../support/alertAssert.sub.js?alerts=["hello frame1"]'></script>
+ <!-- enforcing policy:
+connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self';
+-->
+ <script>
+ function onMessage(event) {
+ if(event.data == "start test") {
+ startTest();
+ } else {
+ alert_assert(event.data);
+ }
+ }
+
+ window.addEventListener(
+ "message",
+ onMessage,
+ false);
+
+ function startTest() {
+ window.frames['frame1'].postMessage("hello frame1", "*");
+ }
+ </script>
+</head>
+<body>
+ <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/meta/meta-img-src.html b/tests/wpt/web-platform-tests/content-security-policy/meta/meta-img-src.html
new file mode 100644
index 00000000000..bc7ffd66a70
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/meta/meta-img-src.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta id="meta_csp" http-equiv="Content-Security-Policy" content="img-src 'none'">
+ <title>meta-img-src</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["PASS","TEST COMPLETE"]'></script>
+</head>
+
+<body>
+<p>Test passes if the image is blocked.</p>
+
+ <script>
+ function testImgSrc() {
+ var img = document.createElement('img');
+ img.src = '../support/fail.png';
+ img.onerror = function() {
+ log("PASS");
+ };
+ img.onload = function() {
+ log("FAIL");
+ };
+ document.body.appendChild(img);
+ }
+ testImgSrc();
+ log("TEST COMPLETE");
+ </script>
+ <div id="log"></div>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/meta/meta-modified.html b/tests/wpt/web-platform-tests/content-security-policy/meta/meta-modified.html
new file mode 100644
index 00000000000..d03115f31b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/meta/meta-modified.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta id="meta_csp" http-equiv="Content-Security-Policy" content="img-src 'none'">
+ <title>meta-modified</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["PASS", "PASS","TEST COMPLETE"]'></script>
+</head>
+
+<body>
+<p>Test passes if the image is blocked both before and after policy modification.</p>
+
+ <script>
+ function testImgSrc() {
+ var img = document.createElement('img');
+ img.src = '../support/fail.png';
+ img.onerror = function() {
+ log("PASS");
+ };
+ img.onload = function() {
+ log("FAIL");
+ };
+ document.body.appendChild(img);
+ }
+ testImgSrc();
+ document.getElementById("meta_csp").setAttribute("content", "img-src *");
+ testImgSrc();
+ log("TEST COMPLETE");
+ </script>
+ <div id="log"></div>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_1.html b/tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_1.html
index 93d408b7910..db29fd394c9 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_1.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_1.html
@@ -1,58 +1,66 @@
<!DOCTYPE HTML>
<html>
+
<head>
<title>Objects loaded using data attribute of &lt;object&gt; tag are blocked unless their host is listed as an allowed source in the object-src directive</title>
<meta name=timeout content=long>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
</head>
+
<body onLoad="object_loaded()">
<h1>Objects loaded using data attribute of &lt;object&gt; tag are blocked unless their host is listed as an allowed source in the object-src directive</h1>
<div id="log"></div>
<script>
- var relativeMediaURL = "/support/media/flash.swf";
- var pageURL = window.location.toString();
- var temp1 = pageURL.split("//");
- var temp2 = temp1[1].substring (0, temp1[1].lastIndexOf("/object-src/"));
- var mediaURL = "http://www2." + temp2 + relativeMediaURL;
- var htmlStr = "<object id='flashObject' type='application/x-shockwave-flash' data='" + mediaURL + "' width='200' height='200'></object>";
- document.write (htmlStr);
+ var relativeMediaURL = "/support/media/flash.swf";
+ var pageURL = window.location.toString();
+ var temp1 = pageURL.split("//");
+ var temp2 = temp1[1].substring(0, temp1[1].lastIndexOf("/object-src/"));
+ var mediaURL = "http://www2." + temp2 + relativeMediaURL;
+ var htmlStr = "<object id='flashObject' type='application/x-shockwave-flash' data='" + mediaURL + "' width='200' height='200'></object>";
+ document.write(htmlStr);
</script>
<script>
- var len = navigator.mimeTypes.length;
- var allTypes = "";
- var flashMimeType = "application/x-shockwave-flash";
- for ( var i=0;i<len;i++ ) {
- allTypes+=navigator.mimeTypes[i].type;
- }
-
- var hasMimeType = allTypes.indexOf(flashMimeType) != -1;
-
- <!-- The actual test. -->
- var test1 = async_test("Async SWF load test")
-
- function object_loaded() {
- var elem = document.getElementById("flashObject");
- var is_loaded = false;
- try {
- <!-- The Flash Player exposes values to JavaScript if a SWF has successfully been loaded. -->
- var pct_loaded = elem.PercentLoaded();
- is_loaded = true;
- } catch (e) {}
-
- if (hasMimeType) {
- test1.step(function() {assert_false(is_loaded, "External object loaded.")});
- } else {
- test1.set_status(test1.NOTRUN, "No Flash Player, cannot run test.");
- test1.phase = test1.phases.HAS_RESULT;
+ var len = navigator.mimeTypes.length;
+ var allTypes = "";
+ var flashMimeType = "application/x-shockwave-flash";
+ for (var i = 0; i < len; i++) {
+ allTypes += navigator.mimeTypes[i].type;
}
- test1.done();
- }
- </script>
- <script async defer src="../support/checkReport.sub.js?reportField=violated-directive&reportValue=object-src%20%27self%27"></script>
+ var hasMimeType = allTypes.indexOf(flashMimeType) != -1;
+
+ <!-- The actual test. -->
+ var test1 = async_test("Async SWF load test")
+
+ function object_loaded() {
+ var elem = document.getElementById("flashObject");
+ var is_loaded = false;
+ try {
+ <!-- The Flash Player exposes values to JavaScript if a SWF has successfully been loaded. -->
+ var pct_loaded = elem.PercentLoaded();
+ is_loaded = true;
+ } catch (e) {}
+
+ if (hasMimeType) {
+ test1.step(function () {
+ assert_false(is_loaded, "External object loaded.")
+ });
+ var s = document.createElement('script');
+ s.async = true;
+ s.defer = true;
+ s.src = "../support/checkReport.sub.js?reportField=violated-directive&reportValue=object-src%20%27self%27"
+ document.lastChild.appendChild(s);
+ } else {
+ test1.set_status(test1.NOTRUN, "No Flash Player, cannot run test.");
+ test1.phase = test1.phases.HAS_RESULT;
+ }
+ test1.done();
+ }
+ </script>
</body>
-</html>
+
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_2.html b/tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_2.html
index 6abc4206bc4..a868834acb4 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_2.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/object-src/object-src-2_2.html
@@ -44,6 +44,11 @@
if (hasMimeType) {
test1.step(function() {assert_false(is_loaded, "External object loaded.")});
+ var s = document.createElement('script');
+ s.async = true;
+ s.defer = true;
+ s.src = "../support/checkReport.sub.js?reportField=violated-directive&reportValue=object-src%20%27self%27"
+ document.lastChild.appendChild(s);
} else {
//test1.step(function() {});
test1.set_status(test1.NOTRUN, "No Flash Player, cannot run test.");
@@ -52,8 +57,5 @@
test1.done();
}
</script>
-
- <script async defer src="../support/checkReport.sub.js?reportField=violated-directive&reportValue=object-src%20%27self%27"></script>
-
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html
index ba5265aa744..5293183d300 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html
+++ b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_4.html
@@ -14,6 +14,9 @@
var evalRan = false;
test(function() {assert_throws(new EvalError(), function() { eval('evalRan = true;') })}, "eval() should throw without 'unsafe-eval' keyword source in script-src directive.");
+
+ test(function() {assert_false(evalRan);})
+
</script>
<script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27+%27unsafe-inline%27'></script>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_9.html b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_9.html
deleted file mode 100644
index 923eab82629..00000000000
--- a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_9.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Worker created from inline text and loaded via blob URI should not run with policy default-src *</title>
- <script src='/resources/testharness.js'></script>
- <script src='/resources/testharnessreport.js'></script>
-</head>
-<body>
- <h1>Worker created from inline text and loaded via blob URI should not run with policy default-src *</h1>
- <div id='log'></div>
-
- <script id="inlineWorker" type="app/worker">
- addEventListener('message', function() {
- postMessage('fail');
- }, false);
- </script>
-
- <script src="buildInlineWorker.js"></script>
- <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=default-src%20*'></script>
-
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_9.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_9.html.sub.headers
deleted file mode 100644
index 89a05ef03b2..00000000000
--- a/tests/wpt/web-platform-tests/content-security-policy/script-src/script-src-1_9.html.sub.headers
+++ /dev/null
@@ -1,6 +0,0 @@
-Expires: Mon, 26 Jul 1997 05:00:00 GMT
-Cache-Control: no-store, no-cache, must-revalidate
-Cache-Control: post-check=0, pre-check=0, false
-Pragma: no-cache
-Set-Cookie: script-src-1_9={{$id:uuid()}}; Path=/content-security-policy/script-src/
-Content-Security-Policy: default-src *; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js b/tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js
index 1c1b430e017..6ca2849ca31 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js
+++ b/tests/wpt/web-platform-tests/content-security-policy/support/alertAssert.sub.js
@@ -9,7 +9,10 @@ if(expected_alerts.length == 0) {
var t_alert = async_test('Expecting alerts: {{GET[alerts]}}');
function alert_assert(msg) {
t_alert.step(function () {
- if (msg.match(/^FAIL/i)) {
+ if(msg && msg instanceof Error) {
+ msg = msg.message;
+ }
+ if (msg && msg.match(/^FAIL/i)) {
assert_unreached(msg);
t_alert.done();
}
diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/checkReport.sub.js b/tests/wpt/web-platform-tests/content-security-policy/support/checkReport.sub.js
index 571b854b4ab..803dc06d5ea 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/support/checkReport.sub.js
+++ b/tests/wpt/web-platform-tests/content-security-policy/support/checkReport.sub.js
@@ -44,7 +44,7 @@
var data = JSON.parse(report.responseText);
if (data.error) {
- assert_equals("false", reportExists, reportExists ? "Report sent in error" : "No report sent.");
+ assert_equals("false", reportExists, data.error);
} else {
if(reportExists != "" && reportExists == "false" && data["csp-report"]) {
assert_unreached("CSP report sent, but not expecting one: " + JSON.stringify(data["csp-report"]));
diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/fail.asis b/tests/wpt/web-platform-tests/content-security-policy/support/fail.asis
new file mode 100644
index 00000000000..96196615bd4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/support/fail.asis
@@ -0,0 +1,5 @@
+HTTP/1.1 200 OK
+Content-Type: text/plain
+Access-Control-Allow-Origin: *
+
+FAIL \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/fail.js b/tests/wpt/web-platform-tests/content-security-policy/support/fail.js
new file mode 100644
index 00000000000..9632567a6e7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/support/fail.js
@@ -0,0 +1 @@
+test(function() { assert_unreached("FAIL")}); \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js b/tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js
index 25ab221254a..d797475d2a6 100644
--- a/tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js
+++ b/tests/wpt/web-platform-tests/content-security-policy/support/logTest.sub.js
@@ -8,6 +8,7 @@ if (expected_logs.length == 0) {
} else {
var t_log = async_test('Expecting logs: {{GET[logs]}}');
function log(msg) {
+ //cons/**/ole.log(msg);
t_log.step(function () {
if (msg.match(/^FAIL/i)) {
assert_unreached(msg);
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/including.sub.svg b/tests/wpt/web-platform-tests/content-security-policy/svg/including.sub.svg
new file mode 100644
index 00000000000..99b416b5ec3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/including.sub.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="6cm" height="5cm" viewBox="0 0 600 500"
+ xmlns="http://www.w3.org/2000/svg" version="1.1">
+ <desc>using SVG as a resource doc should apply this doc's CSP</desc>
+
+ <use xlink:href="scripted.svg#postmessagescript" />
+
+ <circle cx="300" cy="225" r="100" fill="lawngreen"/>
+
+ <text x="300" y="250"
+ font-family="Verdana"
+ font-size="50"
+ text-anchor="middle">
+ PASS
+ </text>
+</svg>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/including.sub.svg.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/svg/including.sub.svg.sub.headers
new file mode 100644
index 00000000000..0f3f281d902
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/including.sub.svg.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: including={{$id:uuid()}}; Path=/content-security-policy/svg
+Content-Security-Policy: script-src 'none';
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/scripted.svg b/tests/wpt/web-platform-tests/content-security-policy/svg/scripted.svg
new file mode 100644
index 00000000000..a8aca4e3082
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/scripted.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="6cm" height="5cm" viewBox="0 0 600 500"
+ xmlns="http://www.w3.org/2000/svg" version="1.1">
+ <desc>Example script01 - redirect</desc>
+
+ <script id="postmessagescript" type="application/ecmascript"> <![CDATA[
+ location = "/content-security-policy/blink-contrib/resources/postmessage-fail.html";
+ ]]> </script>
+
+ <circle cx="300" cy="225" r="100" fill="lawngreen"/>
+
+ <text x="300" y="250"
+ font-family="Verdana"
+ font-size="50"
+ text-anchor="middle">
+ PASS
+ </text>
+</svg>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/scripted.svg.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/svg/scripted.svg.sub.headers
new file mode 100644
index 00000000000..0e90e147ad2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/scripted.svg.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: scripted={{$id:uuid()}}; Path=/content-security-policy/svg
+Content-Security-Policy: script-src 'none';
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/svg-from-guid.html b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-from-guid.html
new file mode 100644
index 00000000000..b565e94a4e6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-from-guid.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>svg-from-guid</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
+ <script src="../support/alertAssert.sub.js?alerts=[]"></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+ window.addEventListener('load', function() {
+ setTimeout(function() {
+ log("TEST COMPLETE");
+ }, 1);
+ });
+ </script>
+</head>
+
+<body>
+ <p>Tests that an SVG loaded in an iframe with a policy enforces it, not
+ the policy enforced by this parent frame. The SVG should render and
+ not redirect to a different resource.</p>
+ <!--
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="6cm" height="5cm" viewBox="0 0 600 500"
+ xmlns="http://www.w3.org/2000/svg" version="1.1">
+ <desc>Example script01 - redirect</desc>
+
+ <script id="postmessagescript" type="application/ecmascript"> <![CDATA[
+ location = "/content-security-policy/blink-contrib/resources/postmessage-fail.html";
+ ]]> </script>
+
+ <circle cx="300" cy="225" r="100" fill="lawngreen"/>
+
+ <text x="300" y="250"
+ font-family="Verdana"
+ font-size="50"
+ text-anchor="middle">
+ PASS
+ </text>
+</svg>
+ -->
+ <iframe name="test_target" id="test_iframe" src="data:image/svg+xml;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIg0KICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgd2lkdGg9IjZjbSIgaGVpZ2h0PSI1Y20iIHZpZXdCb3g9IjAgMCA2MDAgNTAwIg0KICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+DQogIDxkZXNjPkV4YW1wbGUgc2NyaXB0MDEgLSByZWRpcmVjdDwvZGVzYz4NCg0KICA8c2NyaXB0IGlkPSJwb3N0bWVzc2FnZXNjcmlwdCIgdHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCI+IDwhW0NEQVRBWw0KICAgIGxvY2F0aW9uID0gIi9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9ibGluay1jb250cmliL3Jlc291cmNlcy9wb3N0bWVzc2FnZS1mYWlsLmh0bWwiOw0KICBdXT4gPC9zY3JpcHQ+DQoNCiAgPGNpcmNsZSBjeD0iMzAwIiBjeT0iMjI1IiByPSIxMDAiIGZpbGw9Imxhd25ncmVlbiIvPg0KDQogIDx0ZXh0IHg9IjMwMCIgeT0iMjUwIg0KICAgICAgICBmb250LWZhbWlseT0iVmVyZGFuYSINCiAgICAgICAgZm9udC1zaXplPSI1MCINCiAgICAgICAgdGV4dC1hbmNob3I9Im1pZGRsZSI+DQogICAgICBQQVNTDQogICAgPC90ZXh0Pg0KPC9zdmc+"></iframe>
+ <div id="log"></div>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/svg-inline.sub.html b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-inline.sub.html
new file mode 100644
index 00000000000..7beb295f14b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-inline.sub.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>svg-policy-with-resource</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+</head>
+
+<body>
+ <p>Tests that an SVG loaded in an iframe with a policy enforces it, not
+ the policy enforced by this parent frame. The SVG should render and
+ not redirect to a different resource.</p>
+ <div id="log"></div>
+ <?xml version="1.0" standalone="no"?>
+<svg width="6cm" height="5cm" viewBox="0 0 600 500"
+ xmlns="http://www.w3.org/2000/svg" version="1.1">
+
+ <script type="application/ecmascript"
+ xlink:href="http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/.js">
+ </script>
+
+ <circle cx="300" cy="225" r="100" fill="lawngreen"/>
+
+ <text x="300" y="250"
+ font-family="Verdana"
+ font-size="50"
+ text-anchor="middle">
+ PASS
+ </text>
+</svg>
+
+ <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27+%27unsafe-inline%27'></script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/svg-inline.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-inline.sub.html.sub.headers
new file mode 100644
index 00000000000..a846c4b1647
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-inline.sub.html.sub.headers
@@ -0,0 +1,6 @@
+Expires: Mon, 26 Jul 1997 05:00:00 GMT
+Cache-Control: no-store, no-cache, must-revalidate
+Cache-Control: post-check=0, pre-check=0, false
+Pragma: no-cache
+Set-Cookie: svg-inline={{$id:uuid()}}; Path=/content-security-policy/svg/
+Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/svg-policy-resource-doc-includes.html b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-policy-resource-doc-includes.html
new file mode 100644
index 00000000000..3ca62624058
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-policy-resource-doc-includes.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>svg-policy-with-resource</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
+ <script src="../support/alertAssert.sub.js?alerts=[]"></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+ window.addEventListener('load', function() {
+ setTimeout(function() {
+ log("TEST COMPLETE");
+ }, 0);
+ });
+ </script>
+</head>
+
+<body>
+ <p>Tests that an SVG loaded in an iframe with a policy enforces it, not
+ the policy enforced by this parent frame. The SVG should render and
+ not redirect to a different resource.</p>
+ <iframe name="test_target" id="test_iframe" src="scripted.svg"></iframe>
+ <div id="log"></div>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/content-security-policy/svg/svg-policy-with-resource.html b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-policy-with-resource.html
new file mode 100644
index 00000000000..88ba0b3e65c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-security-policy/svg/svg-policy-with-resource.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>svg-policy-with-resource</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script>
+ <script src="../support/alertAssert.sub.js?alerts=[]"></script>
+ <script>
+ window.addEventListener("message", function(event) {
+ alert_assert(event.data);
+ }, false);
+ window.addEventListener('load', function() {
+ setTimeout(function() {
+ log("TEST COMPLETE");
+ }, 0);
+ });
+ </script>
+</head>
+
+<body>
+ <p>Tests that an SVG loaded in an iframe with a policy enforces it, not
+ the policy enforced by this parent frame. The SVG should render and
+ not redirect to a different resource.</p>
+ <iframe name="test_target" id="test_iframe" src="scripted.svg"></iframe>
+ <object type="image/svg+xml" data="scripted.svg"></object>
+ <div id="log"></div>
+</body>
+
+</html>
diff --git a/tests/wpt/web-platform-tests/csp/assert_undefined.py b/tests/wpt/web-platform-tests/csp/assert_undefined.py
deleted file mode 100644
index 1f45ee8e60d..00000000000
--- a/tests/wpt/web-platform-tests/csp/assert_undefined.py
+++ /dev/null
@@ -1,8 +0,0 @@
-def main(request, response):
- code = """
-test(function() {
- assert_equals(self.%s, undefined);
-});
-""" % request.GET["varName"]
-
- return ([("Content-Type", "text/javascript")], code)
diff --git a/tests/wpt/web-platform-tests/csp/csp-inline-script.html b/tests/wpt/web-platform-tests/csp/csp-inline-script.html
deleted file mode 100644
index 4caa25a4b8a..00000000000
--- a/tests/wpt/web-platform-tests/csp/csp-inline-script.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!doctype html>
-<meta charset=UTF-8>
-<link rel="author" title="tanvi@mozilla.com">
-<title>No inline script</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id=log></div>
-<script>
-unsafeScript = false;
-</script>
-<script src="assert_undefined.py?varName=unsafeScript"></script>
diff --git a/tests/wpt/web-platform-tests/csp/csp-inline-script.html.headers b/tests/wpt/web-platform-tests/csp/csp-inline-script.html.headers
deleted file mode 100644
index 4c6fa3c26a7..00000000000
--- a/tests/wpt/web-platform-tests/csp/csp-inline-script.html.headers
+++ /dev/null
@@ -1 +0,0 @@
-Content-Security-Policy: default-src 'self'
diff --git a/tests/wpt/web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html b/tests/wpt/web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html
new file mode 100644
index 00000000000..889f8cfe114
--- /dev/null
+++ b/tests/wpt/web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title> Calling stopPropagation() prior to dispatchEvent() </title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<div id=log></div>
+
+<table id="table" border="1" style="display: none">
+ <tbody id="table-body">
+ <tr id="table-row">
+ <td id="table-cell">Shady Grove</td>
+ <td>Aeolian</td>
+ </tr>
+ <tr id="parent">
+ <td id="target">Over the river, Charlie</td>
+ <td>Dorian</td>
+ </tr>
+ </tbody>
+</table>
+
+<script>
+test(function() {
+ var event = "foo";
+ var target = document.getElementById("target");
+ var parent = document.getElementById("parent");
+ var tbody = document.getElementById("table-body");
+ var table = document.getElementById("table");
+ var body = document.body;
+ var html = document.documentElement;
+ var current_targets = [window, document, html, body, table, tbody, parent, target];
+ var expected_targets = [];
+ var actual_targets = [];
+ var expected_phases = [];
+ var actual_phases = [];
+
+ var test_event = function(evt) {
+ actual_targets.push(evt.currentTarget);
+ actual_phases.push(evt.eventPhase);
+ };
+
+ for (var i = 0; i < current_targets.length; ++i) {
+ current_targets[i].addEventListener(event, test_event, true);
+ current_targets[i].addEventListener(event, test_event, false);
+ }
+
+ var evt = document.createEvent("Event");
+ evt.initEvent(event, true, true);
+ evt.stopPropagation();
+ target.dispatchEvent(evt);
+
+ assert_array_equals(actual_targets, expected_targets, "actual_targets");
+ assert_array_equals(actual_phases, expected_phases, "actual_phases");
+});
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/encoding/big5-encoder.html b/tests/wpt/web-platform-tests/encoding/big5-encoder.html
new file mode 100644
index 00000000000..7260b6b155b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/encoding/big5-encoder.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<meta charset=big5> <!-- test breaks if the server overrides this -->
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<script>
+ function encode(input, output, desc) {
+ test(function() {
+ var a = document.createElement("a"); // <a> uses document encoding for URL's query
+ // Append and prepend X to test for off-by-one errors
+ a.href = "https://example.com/?X" + input + "X";
+ assert_equals(a.search.substr(1), "X" + output + "X"); // remove leading "?"
+ }, "big5 encoder: " + desc);
+ }
+
+ encode("ab", "ab", "very basic")
+ // edge cases
+ encode("\u9EA6", "%26%2340614%3B", "Highest-pointer BMP character excluded from encoder");
+ encode("\uD858\uDE6B", "%26%23156267%3B", "Highest-pointer character excluded from encoder");
+ encode("\u3000", "%A1@", "Lowest-pointer character included in encoder");
+ encode("\u20AC", "%A3%E1", "Euro; the highest-pointer character before a range of 30 unmapped pointers");
+ encode("\u4E00", "%A4@", "The lowest-pointer character after the range of 30 unmapped pointers");
+ encode("\uD85D\uDE07", "%C8%A4", "The highest-pointer character before a range of 41 unmapped pointers");
+ encode("\uFFE2", "%C8%CD", "The lowest-pointer character after the range of 41 unmapped pointers");
+ encode("\u79D4", "%FE%FE", "The last character in the index");
+ // not in index
+ encode("\u2603", "%26%239731%3B", "The canonical BMP test character that is not in the index");
+ encode("\uD83D\uDCA9", "%26%23128169%3B", "The canonical astral test character that is not in the index");
+ // duplicate low bits
+ encode("\uD840\uDFB5", "%FDj", "A Plane 2 character whose low 16 bits match a BMP character that has a lower pointer");
+ // prefer last
+ encode("\u2550", "%F9%F9", "A duplicate-mapped code point that prefers the highest pointer in the encoder");
+</script>
diff --git a/tests/wpt/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html b/tests/wpt/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html
new file mode 100644
index 00000000000..37a92bb09f4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<title>document.all</title>
+<link rel="author" title="Corey Farwell" href="mailto:coreyf@rwell.org">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/obsolete.html#dom-document-all">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(function () {
+ assert_false(Boolean(document.all));
+
+ assert_true(document.all == undefined);
+ assert_true(document.all == null);
+ assert_false(document.all != undefined);
+ assert_false(document.all != null);
+
+ assert_true(document.all !== undefined);
+ assert_true(document.all !== null);
+ assert_false(document.all === undefined);
+ assert_false(document.all === null);
+
+ assert_equals(typeof document.all, "undefined");
+
+ if (document.all) { assert_true(false); }
+
+ if (!document.all) {}
+ else { assert_true(false); }
+}, "'unusual behaviors' of document.all")
+
+test(function() {
+ var all = document.all;
+
+ assert_false(Boolean(all));
+
+ assert_true(all == undefined);
+ assert_true(all == null);
+ assert_false(all != undefined);
+ assert_false(all != null);
+
+ assert_true(all !== undefined);
+ assert_true(all !== null);
+ assert_false(all === undefined);
+ assert_false(all === null);
+
+ assert_equals(typeof all, "undefined");
+
+ if (all) { assert_true(false); }
+
+ if (!all) {}
+ else { assert_true(false); }
+}, "'unusual behaviors' of document.all with assignment")
+</script>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js
index 12a88c1fc6e..2ff42516642 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js
@@ -273,14 +273,16 @@ var validator = {
},
set_dirty: function(ctl) {
- document.disgnMode = "on";
+ document.designMode = "on";
ctl.focus();
var old_value = ctl.value;
ctl.value = "a";
ctl.value = old_value;
- ctl.setSelectionRange(ctl.value.length, ctl.value.length);
+ if (ctl.type !== 'email') {
+ ctl.setSelectionRange(ctl.value.length, ctl.value.length);
+ }
document.execCommand("Delete");
- document.disgnMode = "off";
+ document.designMode = "off";
},
pre_check: function(ctl, item) {
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-manual.html
new file mode 100644
index 00000000000..429732b87e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-manual.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>ValidityState.tooLong and user editing</title>
+ <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
+ <meta name="flags" content="interact">
+ <meta name="assert" content="Per the 'Constraint validation' definition in the referenced section, an input whose value was edited by the user but still exceeds the input's maxlength should suffer from being too long.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <p>Delete one character from the following text input:</p>
+ <input type="text" value="0123456789" maxlength="5" autocomplete="off" id="testinput">
+
+ <div id="log"></div>
+ <script>
+var input = document.getElementById('testinput');
+setup({explicit_timeout: true, explicit_done: true});
+on_event(input, "input", function () {
+ test(function() {
+ assert_class_string(input.validity, 'ValidityState', 'HTMLInputElement.validity must be a ValidityState instance');
+ assert_true(input.validity.tooLong, "tooLong must be true since the user just changed the input's value and the value exceeds the maxlength");
+ });
+ done();
+});
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html
index ec4cf1b5d5b..06915a81a8b 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html
@@ -181,7 +181,7 @@ test(function() {
test(function() {
textarea.setSelectionRange("string",1);
- assert_equals(textarea.selectionStart, 1, "element.selectionStart should be 0");
+ assert_equals(textarea.selectionStart, 0, "element.selectionStart should be 0");
assert_equals(textarea.selectionEnd, 1, "element.selectionStart should be 1");
},'textarea setSelectionRange("string",1)');
@@ -193,31 +193,31 @@ test(function() {
test(function() {
textarea.setSelectionRange([],1);
- assert_equals(textarea.selectionStart, 1, "element.selectionStart should be 0");
+ assert_equals(textarea.selectionStart, 0, "element.selectionStart should be 0");
assert_equals(textarea.selectionEnd, 1, "element.selectionStart should be 1");
},'textarea setSelectionRange([],1)');
test(function() {
textarea.setSelectionRange({},1);
- assert_equals(textarea.selectionStart, 1, "element.selectionStart should be 0");
+ assert_equals(textarea.selectionStart, 0, "element.selectionStart should be 0");
assert_equals(textarea.selectionEnd, 1, "element.selectionStart should be 1");
},'textarea setSelectionRange({},1)');
test(function() {
textarea.setSelectionRange(NaN,1);
- assert_equals(textarea.selectionStart, 1, "element.selectionStart should be 0");
+ assert_equals(textarea.selectionStart, 0, "element.selectionStart should be 0");
assert_equals(textarea.selectionEnd, 1, "element.selectionStart should be 1");
},'textarea setSelectionRange(NaN,1)');
test(function() {
textarea.setSelectionRange(null,1);
- assert_equals(textarea.selectionStart, 1, "element.selectionStart should be 0");
+ assert_equals(textarea.selectionStart, 0, "element.selectionStart should be 0");
assert_equals(textarea.selectionEnd, 1, "element.selectionStart should be 1");
},'textarea setSelectionRange(null,1)');
test(function() {
textarea.setSelectionRange(undefined,1);
- assert_equals(textarea.selectionStart, 1, "element.selectionStart should be 0");
+ assert_equals(textarea.selectionStart, 0, "element.selectionStart should be 0");
assert_equals(textarea.selectionEnd, 1, "element.selectionStart should be 1");
},'textarea setSelectionRange(undefined,1)');
},"test of textarea.setSelectionRange");
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01.html
index df7c52567e8..f4a71612e4a 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01.html
@@ -7,10 +7,10 @@
<div id="log"></div>
<script>
test(function() {
- var valid = ["text", "search", "url", "tel", "email", "password"];
+ var valid = ["text", "search", "url", "tel", "password"];
var invalid = ["hidden", "datetime", "date", "month", "week", "datetime-local",
"number", "range", "color", "checkbox", "radio", "button",
- "file", "submit", "image", "reset"];
+ "file", "email", "submit", "image", "reset"];
valid.forEach(function(aType) {
test(function() {
var input = document.createElement("input");
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html
new file mode 100644
index 00000000000..ca8c6cda802
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTMLOptGroupElement Test: disabled</title>
+<meta name="flags" content="interact">
+<link rel="author" title="Intel" href="http://www.intel.com/">
+
+<form>
+ <select>
+ <optgroup label="8.01" disabled>
+ <option value="8.01.1">Lecture 01: Powers of Ten</option>
+ <option value="8.01.2">Lecture 02: 1D Kinematics</option>
+ <option value="8.01.3">Lecture 03: Vectors</option>
+ </optgroup>
+ <optgroup label="8.02">
+ <option value="8.02.1">Lecture 01: What holds our world together?</option>
+ <option value="8.02.2">Lecture 02: Electric Field</option>
+ <option value="8.02.3">Lecture 03: Electric Flux</option>
+ </optgroup>
+ </select>
+</form>
+
+<h2>Description</h2>
+<p>
+ This test validates that an optgroup element is disabled if its disabled attribute is present.
+</p>
+
+<h2>Test steps:</h2>
+<ol>
+ <li>
+ Click the select flag to select section '8.01'
+ </li>
+</ol>
+
+<h2>Result:</h2>
+<p>Click the select flag and try to select section 8.01, test passes if the section 8.01 is disable to be selected</p>
diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html
index 8589f0baebd..85d1f7b9def 100644
--- a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html
+++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html
@@ -3,8 +3,8 @@
<head>
<title>HTML Templates: Template element as a descendant of the frameset element.</title>
<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="Template element can be a descendant of the frameset element">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
+<meta name="assert" content="Template element can not be a descendant of the frameset element">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inframeset">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src='/html/resources/common.js'></script>
@@ -19,8 +19,8 @@ testInIFrame('../resources/template-descendant-frameset.html', function(context)
var frameset = doc.querySelector('frameset');
- assert_not_equals(frameset.querySelector('template'), null,
- 'Template element should be a descendant of the frameset element');
+ assert_equals(frameset.querySelector('template'), null,
+ 'Template element should not be a descendant of the frameset element');
}, 'Template element as a descendant of the frameset element. Test loading from a file');
@@ -36,8 +36,8 @@ testInIFrame('../resources/template-descendant-frameset.html', function(context)
frameset.innerHTML = '<template>some text</template>';
- assert_not_equals(frameset.querySelector('template'), null,
- 'Template element should be a descendant of the frameset element');
+ assert_equals(frameset.querySelector('template'), null,
+ 'Template element should not be a descendant of the frameset element');
}, 'Template element as a descendant of the frameset element. '
+ 'Test template element is assigned to frameset\'s innerHTML)');
@@ -51,7 +51,7 @@ testInIFrame('../resources/template-descendant-frameset.html', function(context)
var template = doc.createElement('template');
frameset.appendChild(template);
- assert_equals(frameset.querySelectorAll('template').length, 2,
+ assert_equals(frameset.querySelectorAll('template').length, 1,
'Template element should be a descendant of the frameset element');
}, 'Template element as a descendant of the frameset element. '
diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html
index f1a14f421ed..f167ea7196a 100644
--- a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html
+++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html
@@ -2,9 +2,8 @@
<meta charset=utf-8>
<title>The wbr element</title>
<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
-<link rel="mismatch" href="wbr-element-notref.html" />
<meta name="flags" content="ahem">
<style>
- p {font-family: Ahem;}
+ p {font:15px/1 Ahem;}
</style>
<p>Loremipsumdolorsit<br>amet,consectetur<br>adipisicingelit,sed<br>doeiusmodtempor<br>incididuntutlaboreet<br>doloremagnaaliqua.Ut<br>enimadminimveniam,<br>quisnostrud<br>exercitationullamco<br>laborisnisiutaliquip<br>exeacommodo<br>consequat.Duisaute<br>iruredolorin<br>reprehenderitin<br>voluptatevelitesse<br>cillumdoloreeufugiat<br>nullapariatur.<br>Excepteursint<br>occaecatcupidatatnon<br>proident,suntinculpa<br>quiofficiadeserunt<br>mollitanimidest<br>laborum.</p>
diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html
index ccd0f3cbc00..63f271615ed 100644
--- a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html
+++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html
@@ -6,6 +6,6 @@
<link rel="match" href="wbr-element-ref.html">
<meta name="flags" content="ahem">
<style>
- p {max-width: 300px; font-family: Ahem;}
+ p {max-width: 300px; font:15px/1 Ahem;}
</style>
<p>AHEM_<wbr>ipsum<wbr>dolor<wbr>sit<wbr>amet,<wbr>consectetur<wbr>adipisicing<wbr>elit,<wbr>sed<wbr>do<wbr>eiusmod<wbr>tempor<wbr>incididunt<wbr>ut<wbr>labore<wbr>et<wbr>dolore<wbr>magna<wbr>aliqua.<wbr>Ut<wbr>enim<wbr>ad<wbr>minim<wbr>veniam,<wbr>quis<wbr>nostrud<wbr>exercitation<wbr>ullamco<wbr>laboris<wbr>nisi<wbr>ut<wbr>aliquip<wbr>ex<wbr>ea<wbr>commodo<wbr>consequat.<wbr>Duis<wbr>aute<wbr>irure<wbr>dolor<wbr>in<wbr>reprehenderit<wbr>in<wbr>voluptate<wbr>velit<wbr>esse<wbr>cillum<wbr>dolore<wbr>eu<wbr>fugiat<wbr>nulla<wbr>pariatur.<wbr>Excepteur<wbr>sint<wbr>occaecat<wbr>cupidatat<wbr>non<wbr>proident,<wbr>sunt<wbr>in<wbr>culpa<wbr>qui<wbr>officia<wbr>deserunt<wbr>mollit<wbr>anim<wbr>id<wbr>est<wbr>laborum.</p>
diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/resources/common.js b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/resources/common.js
new file mode 100644
index 00000000000..e2279f93ddb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/resources/common.js
@@ -0,0 +1,20 @@
+// Helper for tests that just want to verify the ordering of a series of events.
+// Usage:
+// log_test(function(t, log) {
+// log('first');
+// log('second');
+// }, ['first', 'second'], 'Ordinal numbers are ordinal');
+
+function log_test(func, expected, description) {
+ async_test(function(t) {
+ var actual = [];
+ function log(entry) {
+ actual.push(entry);
+ if (expected.length <= actual.length) {
+ assert_array_equals(actual, expected);
+ t.done();
+ }
+ }
+ func(t, t.step_func(log));
+ }, description);
+}
diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering-manual.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering-manual.html
new file mode 100644
index 00000000000..40b7c27c333
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering-manual.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<title>Task and Microtask Ordering </title>
+<link rel=author title="Joshua Bell" href="mailto:jsbell@google.com">
+<link rel=help href="https://html.spec.whatwg.org/multipage/webappapis.html#event-loops">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/common.js"></script>
+<style>
+.inner { padding: 46px; width: 0; margin: 0 auto; background: #d4d4d4; }
+.outer { padding: 25px; width: 92px; background: #f1f1f1; }
+</style>
+
+<p>Click on the inner box:</p>
+<div class="outer">
+ <div class="inner"></div>
+</div>
+
+<script>
+
+// Based on: https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/
+
+log_test(function(t, log) {
+ // Let's get hold of those elements
+ var outer = document.querySelector('.outer');
+ var inner = document.querySelector('.inner');
+
+ // Let's listen for attribute changes on the
+ // outer element
+ new MutationObserver(function() {
+ log('mutate');
+ }).observe(outer, {
+ attributes: true
+ });
+
+ // Here's a click listener...
+ function onClick() {
+ log('click');
+
+ setTimeout(function() {
+ log('timeout');
+ }, 0);
+
+ Promise.resolve().then(function() {
+ log('promise');
+ });
+
+ outer.setAttribute('data-random', Math.random());
+ }
+
+ // ...which we'll attach to both elements
+ inner.addEventListener('click', onClick);
+ outer.addEventListener('click', onClick);
+}, [
+ 'click',
+ 'promise',
+ 'mutate',
+ 'click',
+ 'promise',
+ 'mutate',
+ 'timeout',
+ 'timeout'
+], 'Level 1 bossfight (manual click)');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering.html
new file mode 100644
index 00000000000..a5bb59a99b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/task_microtask_ordering.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<title>Task and Microtask Ordering </title>
+<link rel=author title="Joshua Bell" href="mailto:jsbell@google.com">
+<link rel=help href="https://html.spec.whatwg.org/multipage/webappapis.html#event-loops">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/common.js"></script>
+
+<div class="outer">
+ <div class="inner"></div>
+</div>
+
+<script>
+
+// Based on: https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/
+
+log_test(function(t, log) {
+ log('script start');
+
+ setTimeout(function() {
+ log('setTimeout');
+ }, 0);
+
+ Promise.resolve().then(function() {
+ log('promise1');
+ }).then(function() {
+ log('promise2');
+ });
+
+ log('script end');
+}, [
+ 'script start',
+ 'script end',
+ 'promise1',
+ 'promise2',
+ 'setTimeout'
+], 'Basic task and microtask ordering');
+
+log_test(function(t, log) {
+ // Let's get hold of those elements
+ var outer = document.querySelector('.outer');
+ var inner = document.querySelector('.inner');
+
+ // Let's listen for attribute changes on the
+ // outer element
+ new MutationObserver(function() {
+ log('mutate');
+ }).observe(outer, {
+ attributes: true
+ });
+
+ // Here's a click listener...
+ function onClick() {
+ log('click');
+
+ setTimeout(function() {
+ log('timeout');
+ }, 0);
+
+ Promise.resolve().then(function() {
+ log('promise');
+ });
+
+ outer.setAttribute('data-random', Math.random());
+ }
+
+ // ...which we'll attach to both elements
+ inner.addEventListener('click', onClick);
+ outer.addEventListener('click', onClick);
+
+ // Note that this will behave differently than a real click,
+ // since the dispatch is synchronous and microtasks will not
+ // run between event bubbling steps.
+ inner.click();
+}, [
+ 'click',
+ 'click',
+ 'promise',
+ 'mutate',
+ 'promise',
+ 'timeout',
+ 'timeout'
+], 'Level 1 bossfight (synthetic click)');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist
index 30732fbfb14..d65d0af5fac 100644
--- a/tests/wpt/web-platform-tests/lint.whitelist
+++ b/tests/wpt/web-platform-tests/lint.whitelist
@@ -104,3 +104,7 @@ PRINT STATEMENT:dom/nodes/Document-createElement-namespace-tests/generate.py
# Should probably be fixed.
W3C-TEST.ORG:subresource-integrity/refresh-header.js.headers
+
+# Lint doesn't know about sub.svg I guess
+PARSE-FAILED:content-security-policy/svg/including.sub.svg
+
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/069.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/069.html
index d76f55f31f3..4d4aed26587 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/069.html
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/069.html
@@ -5,8 +5,7 @@
<script src="/resources/testharnessreport.js"></script>
<script src="testlib/testlib.js"></script>
<script>
- // add a script that looks for document.body as first child of HEAD
- testlib.addScript('',{src:'scripts/find-body.js'},document.getElementsByTagName('head')[0], true );
+ testlib.addScript('',{src:'scripts/find-body.js?pipe=trickle(d1)'},document.getElementsByTagName('head')[0], true );
</script>
</head>
<body>
@@ -23,7 +22,9 @@
if(!(window.findFooLoaded && window.findBodyLoaded)) {
return setTimeout(t.step_func(test), 200);
}
- assert_array_equals(eventOrder, ['document.body: <BODY>', 'found #foo element: YES']);
+ assert_any(assert_array_equals, eventOrder,
+ [['document.body: <BODY>', 'found #foo element: YES'],
+ ['found #foo element: YES', 'document.body: <BODY>']]);
t.done();
}
onload = t.step_func(test)
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/101.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/101.html
index 92fe6081ad7..b868f9a4470 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/101.html
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/101.html
@@ -1,32 +1,34 @@
<!DOCTYPE html>
<html><head>
- <title> scheduler: defer script after initial onload event</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="testlib/testlib.js"></script>
+ <title> scheduler: defer script after initial onload event</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="testlib/testlib.js"></script>
</head>
<body>
- <div id="log">FAILED (This TC requires JavaScript enabled)</div>
- <iframe id="myFrame"></iframe>
+ <div id="log">FAILED (This TC requires JavaScript enabled)</div>
+ <iframe id="myFrame"></iframe>
- <script>
+ <script>
var t = async_test();
onload = t.step_func(
function() {
var doc = document.getElementById("myFrame").contentDocument;
var win = document.getElementById("myFrame").contentWindow;
doc.open();
- doc.write("<title> scheduler: defer script after initial onload event</title><script src='/resources/testharness.js'><\/script><script src='/resources/testharnessreport.js'><\/script><script src='testlib/testlib.js'><\/script><div id='log'>document.written content</div><script>log('inline script #1'); t = async_test();<\/script><script src='scripts/include-1.js'><\/script><script defer src='scripts/include-2.js'><\/script>");
+ doc.write("<title> scheduler: defer script after initial onload event</title><script src='testlib/testlib.js'><\/script><div id='log'>document.written content</div><script>log('inline script #1');<\/script><script src='scripts/include-1.js'><\/script><script defer src='scripts/include-2.js'><\/script>");
doc.close();
//Note that the *window* object has changed but the *global scope* of the script has not.
- win.setTimeout(
- function() {
- window.t.step(
- function() {
+ var run_t = window.t.step_func(function() {
+ if (!win.eventOrder || win.eventOrder.length != 3) {
+ window.setTimeout(run_t, 100);
+ return;
+ }
window.assert_array_equals(win.eventOrder, ['inline script #1', 'external script #1', 'external script #2']);
window.t.done();
- })}, 1000);
+ });
+ run_t();
});
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/106.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/106.html
index 66eb4e1f098..db7abcc88de 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/106.html
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/106.html
@@ -1,27 +1,20 @@
<!DOCTYPE html>
<html><head>
- <title> scheduler: stylesheets blocking scripts</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="testlib/testlib.js"></script>
+ <title> scheduler: stylesheets blocking scripts</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="testlib/testlib.js"></script>
+ <!-- this stylesheet blocks scripts -->
+ <link rel="stylesheet" href="css/import.css?pipe=trickle(d2)">
</head>
<body>
- <div id="log">FAILED (This TC requires JavaScript enabled)</div>
+ <div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div id="test">Test</div>
- <script>
- var t = async_test();
- var t0 = Date.now();
- </script>
-
- <!-- this stylesheet blocks scripts -->
- <link rel="stylesheet" href="css/import.css?pipe=trickle(d2)">
-
<script>
- t.step(function() {
- var t1 = Date.now();
- assert_true(t1 - t0 > 1000, "Delayed by " + (t1-t0) + "ms expected > 1000ms");
- t.done();
+ test(function() {
+ assert_equals(getComputedStyle(document.getElementById("test")).position,
+ "fixed");
});
</script>
</body></html>
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/107.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/107.html
index a2d2a33c9aa..6f672551c16 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/107.html
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/107.html
@@ -1,27 +1,21 @@
<!DOCTYPE html>
<html><head>
- <title> scheduler: stylesheets blocking scripts document.write</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="testlib/testlib.js"></script>
+ <title> scheduler: stylesheets blocking scripts document.write</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="testlib/testlib.js"></script>
</head>
<body>
- <div id="log">FAILED (This TC requires JavaScript enabled)</div>
+ <div id="log">FAILED (This TC requires JavaScript enabled)</div>
<div id="test">Test</div>
- <script>
- var t = async_test();
- var t0 = Date.now();
- </script>
-
<!-- this stylesheet blocks scripts -->
<script>
- t.step(function() {
+ test(function() {
document.write("<link rel='stylesheet' href='css/import.css?pipe=trickle(d2)'>");
- var t1 = Date.now();
<!-- note that the pass condition here is not per spec (but does match implementations) as of 2012-06-26 -->
- assert_true(t1-t0 < 1000, "Stylesheet blocked scripts, delayed by " + (t1-t0) + "ms expected < 1000ms");
- t.done();
+ assert_equals(getComputedStyle(document.getElementById("test")).position,
+ "static");
});
</script>
</body></html>
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/111.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/111.html
index f4df9f4b98d..144633c57ca 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/111.html
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/111.html
@@ -10,7 +10,7 @@
<div id="test"></div>
<div id="log">FAILED (This TC requires JavaScript enabled)</div>
- <script id="async-script" async src="scripts/include-2.js?pipe=trickle(d2)"></script>
+ <script id="async-script" async src="scripts/include-2.js?pipe=trickle(d3)"></script>
<script>
var t = async_test();
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/112.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/112.html
index 6291005b373..76c0a155005 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/112.html
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/112.html
@@ -1,29 +1,29 @@
<!DOCTYPE html>
<html><head>
- <title> scheduler: removing async attribute at runtime, script also has defer attribute</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="testlib/testlib.js"></script>
+ <title> scheduler: removing async attribute at runtime, script also has defer attribute</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="testlib/testlib.js"></script>
</head>
<body>
<div id="test"></div>
- <div id="log">FAILED (This TC requires JavaScript enabled)</div>
+ <div id="log">FAILED (This TC requires JavaScript enabled)</div>
- <script id="async-script" async defer src="scripts/include-1.js?pipe=trickle(d1)"></script>
+ <script id="async-script" async defer src="scripts/include-1.js?pipe=trickle(d3)"></script>
- <script>
+ <script>
var t = async_test();
+ document.getElementById("async-script").removeAttribute("async");
addEventListener("DOMContentLoaded", t.step_func(function () {
assert_array_equals(eventOrder, []);
- t.done();
}), false);
addEventListener("load", t.step_func(function () {
assert_array_equals(eventOrder, ["external script #1"]);
t.done();
}), false);
-
+
</script>
</body></html>
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/background.css b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/background.css
index 1e601c56b53..86a155b811a 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/background.css
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/background.css
@@ -1,3 +1 @@
- #test {background-image:url("1x1-green.png?pipe=trickle(d2)");
- background-repeat:repeat;
- background-color:orange;} \ No newline at end of file
+#test {position:fixed} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/import.css b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/import.css
index ee2a5ee274a..d1664c29a14 100644
--- a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/import.css
+++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/import.css
@@ -1 +1 @@
-@import("background.css") \ No newline at end of file
+@import url("background.css") \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/resources/testharnessreport.js b/tests/wpt/web-platform-tests/resources/testharnessreport.js
index 6a79caf753a..79559773f72 100644
--- a/tests/wpt/web-platform-tests/resources/testharnessreport.js
+++ b/tests/wpt/web-platform-tests/resources/testharnessreport.js
@@ -15,16 +15,3 @@ if (window.opener && window.opener.explicit_timeout) {
}
setup(props);
-add_completion_callback(function() {
- add_completion_callback(function(tests, status) {
- var harness_status = {
- "status": status.status,
- "message": status.message,
- "stack": status.stack
- };
- var test_results = tests.map(function(x) {
- return {name:x.name, status:x.status, message:x.message, stack:x.stack}
- });
- window.opener.postMessage([test_results, harness_status], "*");
- })
-});
diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js b/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js
index c32f3aabbdd..02cf6cf5fb6 100644
--- a/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js
+++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js
@@ -64,18 +64,6 @@ var simple_entries = [
name: 'cat_in_the_hat',
request: new Request('http://example.com/cat/in/the/hat'),
response: new Response('')
- },
-
- {
- name: 'secret_cat',
- request: new Request('http://tom:jerry@example.com/cat'),
- response: new Response('')
- },
-
- {
- name: 'top_secret_cat',
- request: new Request('http://tom:j3rry@example.com/cat'),
- response: new Response('')
}
];
@@ -279,24 +267,6 @@ prepopulated_cache_test(simple_entries, function(cache, entries) {
});
}, 'Cache.match with string fragment "http" as query');
-prepopulated_cache_test(simple_entries, function(cache, entries) {
- return cache.matchAll(entries.secret_cat.request.url)
- .then(function(result) {
- assert_response_array_equivalent(
- result, [entries.secret_cat.response],
- 'Cache.matchAll should not ignore embedded credentials');
- });
- }, 'Cache.matchAll with URL containing credentials');
-
-prepopulated_cache_test(simple_entries, function(cache, entries) {
- return cache.match(entries.secret_cat.request.url)
- .then(function(result) {
- assert_response_equals(
- result, entries.secret_cat.response,
- 'Cache.match should not ignore embedded credentials');
- });
- }, 'Cache.match with URL containing credentials');
-
prepopulated_cache_test(vary_entries, function(cache, entries) {
return cache.matchAll('http://example.com/c')
.then(function(result) {
diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js b/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js
index ffedea984c9..1d0a5b9fa14 100644
--- a/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js
+++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js
@@ -180,42 +180,6 @@ cache_test(function(cache) {
}, 'Cache.put called twice with request URLs that differ only by a fragment');
cache_test(function(cache) {
- var entries = {
- dark: {
- url: 'http://darkhelmet:12345@example.com/spaceballs',
- body: 'Moranis'
- },
-
- skroob: {
- url: 'http://skroob:12345@example.com/spaceballs',
- body: 'Brooks'
- },
-
- control: {
- url: 'http://example.com/spaceballs',
- body: 'v(o.o)v'
- }
- };
-
- return Promise.all(Object.keys(entries).map(function(key) {
- return cache.put(new Request(entries[key].url),
- new Response(entries[key].body));
- }))
- .then(function() {
- return Promise.all(Object.keys(entries).map(function(key) {
- return cache.match(entries[key].url)
- .then(function(result) {
- return result.text();
- })
- .then(function(body) {
- assert_equals(body, entries[key].body,
- 'Cache put should store response body.');
- });
- }));
- });
- }, 'Cache.put with request URLs containing embedded credentials');
-
-cache_test(function(cache) {
var url = 'http://example.com/foo';
return cache.put(url, new Response('some body'))
.then(function() { return cache.match(url); })
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-003.html
deleted file mode 100644
index da3d62fee30..00000000000
--- a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-003.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE html>
-<!--
-Distributed under both the W3C Test Suite License [1] and the W3C
-3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
-policies and contribution forms [3].
-
-[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
-[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
-[3] http://www.w3.org/2004/10/27-testcases
--->
-<html>
-<head>
-<title>Shadow DOM Test: A_05_05_03</title>
-<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#event-dispatch">
-<meta name="assert" content="Event Dispatch: If the relatedTarget and target are the same for a given node, its the event listeners must not be invoked.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="../../testcommon.js"></script>
-<link rel="stylesheet" href="/resources/testharness.css">
-</head>
-<body>
-<div id="log"></div>
-<script>
-var A_05_05_03_T01 = async_test('A_05_05_03_T01');
-
-A_05_05_03_T01.step(unit(function (ctx) {
-
- var d = newRenderedHTMLDocument(ctx);
-
- var host = d.createElement('div');
- host.setAttribute('style', 'height:50%; width:100%');
- host.setAttribute('id', 'host');
- d.body.appendChild(host);
-
- //Shadow root to play with
- var s = host.createShadowRoot();
-
- var div1 = d.createElement('div');
- div1.setAttribute('style', 'height:100%; width:100%');
- div1.setAttribute('id', 'div1');
- s.appendChild(div1);
-
- s.addEventListener('mouseover', A_05_05_03_T01.step_func(function(event) {
- assert_true(false, 'Event listeners shouldn\'t be invoked if target and relatedTarget ' +
- 'are the same');
- }), false);
-
-
- var evt = document.createEvent("MouseEvents");
- evt.initMouseEvent("mouseover", true, false, window,
- 0, 10, 10, 10, 10, false, false, false, false, 0, div1);
-
- div1.dispatchEvent(evt);
-
- A_05_05_03_T01.done();
-}));
-</script>
-</body>
-</html>
diff --git a/tests/wpt/web-platform-tests/shadow-dom/LICENSE b/tests/wpt/web-platform-tests/shadow-dom/untriaged/LICENSE
index 531fac43af2..531fac43af2 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/LICENSE
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/LICENSE
diff --git a/tests/wpt/web-platform-tests/shadow-dom/untriaged/README b/tests/wpt/web-platform-tests/shadow-dom/untriaged/README
new file mode 100644
index 00000000000..5b7572bda4e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/README
@@ -0,0 +1,2 @@
+This directory contains tests that have been written before the slot proposal had been adopted by the spec.
+These tests need to be triaged, fixed, and merged back into shadow-dom directory.
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html
index 3d0b11841cd..3d0b11841cd 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html
index ebc56e654cb..ebc56e654cb 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html
index a2d497d2a1b..a2d497d2a1b 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html
index bf316c91463..bf316c91463 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html
index 1c4e75f6b75..1c4e75f6b75 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html
index 5db05bc30ed..5db05bc30ed 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html
index 6e6ab48bccc..6e6ab48bccc 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html
index f916fb0e098..f916fb0e098 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html
index e1a251dd606..e1a251dd606 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html
index d3da92bf4a1..d3da92bf4a1 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html
index fbd2bd566d5..fbd2bd566d5 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html
index 15c9e130828..15c9e130828 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html
index 865cb160b22..865cb160b22 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html
index 9c6b978db75..9c6b978db75 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html
index 2789e841edd..2789e841edd 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html
index 6413f1b2dd5..6413f1b2dd5 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html
index efc01bbd5a1..efc01bbd5a1 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html
index a067f13ba08..a067f13ba08 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html
index 0b63fdaac54..0b63fdaac54 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html
index bbc26bf733b..bbc26bf733b 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html
index 354c7a0e3c9..354c7a0e3c9 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html
index eac430adec2..eac430adec2 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html
index 699d7237693..699d7237693 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-001.html
index 2b5b5692cbd..2b5b5692cbd 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-002.html
index 5eb8dc1f9cc..5eb8dc1f9cc 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-003.html
index 00461ef8a6c..00461ef8a6c 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-005.html
index 9d24c6e0f18..9d24c6e0f18 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-005.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-006.html
index 67a57bcf331..67a57bcf331 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-content-html-element/test-006.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-001.html
index 5349a6a198e..5349a6a198e 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-002.html
index 6cd360b1680..6cd360b1680 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-004.html
index 199b1c551df..199b1c551df 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/elements-and-dom-objects/the-shadow-html-element/test-004.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-001.html
index 1edf50338ce..1edf50338ce 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-002.html
index 4a8214a16df..4a8214a16df 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-003.html
new file mode 100644
index 00000000000..3f4f3e0f732
--- /dev/null
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-dispatch/test-003.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<!--
+Distributed under both the W3C Test Suite License [1] and the W3C
+3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
+policies and contribution forms [3].
+
+[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
+[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
+[3] http://www.w3.org/2004/10/27-testcases
+-->
+<html>
+<head>
+<title>Shadow DOM Test: A_05_05_03</title>
+<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
+<link rel="help" href="https://w3c.github.io/webcomponents/spec/shadow/#event-path-trimming">
+<meta name="assert" content="Event Path Trimming: In cases where both relatedTarget and target of a trusted event are part of the same shadow tree, the conforming UAs must stop events at the shadow root to avoid the appearance of spurious mouseover and mouseout events firing from the same node.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../testcommon.js"></script>
+<link rel="stylesheet" href="/resources/testharness.css">
+</head>
+<body>
+<div id="log"></div>
+<script>
+var A_05_05_03_T01 = async_test('A_05_05_03_T01');
+
+A_05_05_03_T01.step(unit(function (ctx) {
+
+ var d = newRenderedHTMLDocument(ctx);
+
+ var host = d.createElement('div');
+ host.setAttribute('id', 'host');
+ d.body.appendChild(host);
+
+ //Shadow root to play with
+ var s = host.createShadowRoot();
+ s.id = 'shadow';
+
+ var input1 = d.createElement('input');
+ input1.setAttribute('id', 'input1');
+ s.appendChild(input1);
+
+ var input2 = d.createElement('input');
+ input2.setAttribute('id', 'input2');
+ s.appendChild(input2);
+
+ input1.addEventListener('focusin', A_05_05_03_T01.step_func(function(event) {
+ assert_equals(event.deepPath.length, 7);
+ assert_equals(event.deepPath[0].id, 'input1');
+ assert_equals(event.deepPath[1].id, 'shadow');
+ assert_equals(event.deepPath[2].id, 'host');
+ assert_equals(event.deepPath[3].tagName, 'BODY');
+ assert_equals(event.deepPath[4].tagName, 'HTML');
+ assert_equals(event.deepPath[5], d);
+ assert_equals(event.deepPath[6], ctx.iframes[0].contentWindow);
+ }), false);
+
+ input2.addEventListener('focusin', A_05_05_03_T01.step_func(function(event) {
+ assert_equals(event.deepPath.length, 2);
+ assert_equals(event.deepPath[0].id, 'input2');
+ assert_equals(event.deepPath[1].id, 'shadow');
+ A_05_05_03_T01.done();
+ }), false);
+
+ // Expected event path for #input1:
+ // <input>, #shadow-root, <div>, <body>, <html>, #document, window
+ input1.focus();
+
+ // Causes a "focusin" event, from #input1 to #input2
+ // In this case, original relatedTarget is #input1, and original target
+ // is #input2.
+ // It should be viewed outside the shadow as "target == relatedTarget"
+ // after event retargeting, therefore, event.deepPath above the shadow
+ // host will be trimmed.
+ // Expected event path for #input2:
+ // <input>, #shadow-root
+ input2.focus();
+}));
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-001.html
index 4504baf6219..4504baf6219 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-002.html
index 6013f7d3cb9..6013f7d3cb9 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-003.html
index 134430d61f0..134430d61f0 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-004.html
index 610c4972dc8..610c4972dc8 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-004.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/event-retargeting/test-004.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-001.html
index e93bc840afc..e93bc840afc 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-002.html
index c4d9ec2bc40..c4d9ec2bc40 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-003.html
index f5674f5ae26..f5674f5ae26 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-004.html
index 56c7be9d514..56c7be9d514 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-004.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-004.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-005.html
index f2b8cad556a..f2b8cad556a 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-005.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-005.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-006.html
index a055fd4d394..a055fd4d394 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-006.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-006.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-007.html
index c9db1cd94d7..c9db1cd94d7 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-007.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-007.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-008.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-008.html
index f251a0c1a84..f251a0c1a84 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-008.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-008.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-009.html
index f6172892911..f6172892911 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-009.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/events-that-are-always-stopped/test-009.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-001.html
index e230765ddd7..e230765ddd7 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-002.html
index 7ce91498a95..7ce91498a95 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-003.html
index a565f8ddf26..a565f8ddf26 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-focus-events/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-001.html
index 1c60896737e..1c60896737e 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-002.html
index 98f52072ce8..98f52072ce8 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-003.html
index d10ae575e60..d10ae575e60 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/retargeting-relatedtarget/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/test-001.html
index cb3097ccff6..cb3097ccff6 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/events/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/events/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-001.html
index 029f26debe0..029f26debe0 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-002.html
index d5b4705370e..d5b4705370e 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-003.html
index 00c20159995..00c20159995 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-004.html
index 200ade6b1b8..200ade6b1b8 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-004.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-and-their-shadow-trees/test-004.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html
index aea6682bd07..aea6682bd07 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html
index 8d7eb575878..8d7eb575878 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html
index 78a0749420d..78a0749420d 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/html-forms/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html
index b283c63c998..b283c63c998 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html
index bb7903938b9..bb7903938b9 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/html-elements-in-shadow-trees/inert-html-elements/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/resources/blank.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/resources/blank.html
index 5469aa6d0a1..5469aa6d0a1 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/resources/blank.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/resources/blank.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/resources/bobs_page.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/resources/bobs_page.html
index c5b04eb1fb7..c5b04eb1fb7 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/resources/bobs_page.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/resources/bobs_page.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/composition/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/composition/test-001.html
index f180a805036..f180a805036 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/composition/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/composition/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-001.html
index dfb96741aa7..dfb96741aa7 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-002.html
index e81d92bf4f6..e81d92bf4f6 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/content-pseudo-element/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/custom-pseudo-elements/test-001.html
index a31030c4f59..a31030c4f59 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/custom-pseudo-elements/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html
index e19d98845c3..e19d98845c3 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001.html
index 891b4248946..891b4248946 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html
index 5114b64b4ea..5114b64b4ea 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002.html
index e0d93ad6f34..e0d93ad6f34 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-003.html
index e21fc90f738..e21fc90f738 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/distribution-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-003.html
index 3dea1f6838a..3dea1f6838a 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-004.html
index ea67f9bb058..ea67f9bb058 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-004.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-005.html
index b15b603a6f0..b15b603a6f0 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/lower-boundary-encapsulation/test-005.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html
index f4b8bab7602..f4b8bab7602 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html
index 679b70f0dde..679b70f0dde 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/nested_tree_reftest.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/test-001.html
index 68bda04cc7a..68bda04cc7a 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/nested-shadow-trees/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/rendering-shadow-trees/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/rendering-shadow-trees/test-001.html
index 3671669e216..3671669e216 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/rendering-shadow-trees/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/rendering-shadow-trees/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001-ref.html
index 98c7a609c4f..98c7a609c4f 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html
index 6f957709e9c..6f957709e9c 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002-ref.html
index 8e538c91e59..8e538c91e59 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002.html
index 8cc408d8860..8cc408d8860 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/reprojection-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/test-001.html
index eaaa0c7de2c..eaaa0c7de2c 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/reprojection/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-001.html
index 2291c9329d0..2291c9329d0 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-002.html
index ca64b9ed103..ca64b9ed103 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-003.html
index 0eca071503f..0eca071503f 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-004.html
index f90d8a4a530..f90d8a4a530 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-004.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-005.html
index 3fca25f375b..3fca25f375b 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/satisfying-matching-criteria/test-005.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-001-ref.html
index d80fcccbf39..d80fcccbf39 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-001-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-001.html
index 8ab15a1ac3e..8ab15a1ac3e 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-002-ref.html
index 77b472d7825..77b472d7825 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-002-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-002.html
index 23d0cdd30a2..23d0cdd30a2 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/shadow-root-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/text-decoration-001-ref.html
index db3eede5662..db3eede5662 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/text-decoration-001-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/text-decoration-001.html
index 47d5efda0e6..47d5efda0e6 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/text-decoration-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html
index 5c66ebf53dc..5c66ebf53dc 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html
index 747ae6749b4..747ae6749b4 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html
index 69eb0325af5..69eb0325af5 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html
index 291b8c89383..291b8c89383 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html
index 5cb990df71c..5cb990df71c 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html
index 06f553ac35e..06f553ac35e 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html
index 4110efcddaf..4110efcddaf 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005.html
index 574a983058c..574a983058c 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007.html
index 2145374ef41..2145374ef41 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-009.html
index 10260da9ab3..10260da9ab3 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-009.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-011.html
index 18fcfd75e74..18fcfd75e74 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-011.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html
index 9fbd1ee927a..9fbd1ee927a 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html
index cfbf4b5d435..cfbf4b5d435 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html
index bde896d9641..bde896d9641 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/css-variables/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/css-variables/test-001.html
index 8d7b57bd075..8d7b57bd075 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/css-variables/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/css-variables/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/deep-combinator/deep-combinator-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/deep-combinator/deep-combinator-001.html
index c60403ff58c..c60403ff58c 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/deep-combinator/deep-combinator-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/deep-combinator/deep-combinator-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001-ref.html
index fdcc6e5ba21..fdcc6e5ba21 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001-ref.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001-ref.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html
index abef32a1811..abef32a1811 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/not-apply-in-shadow-root-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/shadow-pseudoelement/shadow-pseudoelement-001.html
index a0048c8ee3b..a0048c8ee3b 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/shadow-pseudoelement/shadow-pseudoelement-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-001.html
index dc2588f1738..dc2588f1738 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-003.html
index ac5b34a0f71..ac5b34a0f71 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-005.html
index 313fc104fcc..313fc104fcc 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/test-005.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-005.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-007.html
index b8553c463a8..b8553c463a8 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/test-007.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-007.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-008.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-008.html
index a248333b374..a248333b374 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/test-008.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-008.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-009.html
index 90d565b266f..90d565b266f 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/test-009.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-009.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-010.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-010.html
index 97d6e6a2406..97d6e6a2406 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/styles/test-010.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/styles/test-010.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/testcommon.js b/tests/wpt/web-platform-tests/shadow-dom/untriaged/testcommon.js
index cce78e9c2d8..cce78e9c2d8 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/testcommon.js
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/testcommon.js
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/active-element/test-001.html
index 8643959917c..8643959917c 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/active-element/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/active-element/test-002.html
index 80382085a8e..80382085a8e 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/active-element/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/editing/inheritance-of-content-editable-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/editing/inheritance-of-content-editable-001.html
index 992a036a8a4..992a036a8a4 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/editing/inheritance-of-content-editable-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/editing/inheritance-of-content-editable-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-001.html
index d26563b2389..d26563b2389 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-002.html
index 2fa3e4eb9ec..2fa3e4eb9ec 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-002.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-003.html
index 1abd9e4d373..1abd9e4d373 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-003.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-003.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-004.html
index 0785ef2b8d1..0785ef2b8d1 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-004.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/focus-navigation/test-004.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html
index ef505610b4b..ef505610b4b 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-001.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html
diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html
index 66cea994547..66cea994547 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-002.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html
diff --git a/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html b/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html
index 6bb6b4cf852..fa82868476a 100644
--- a/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html
+++ b/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html
@@ -119,7 +119,7 @@
e.addEventListener("error", function() {
test.step(function() {
var background = window.getComputedStyle(div, null).getPropertyValue("background-color");
- assert_equals(background, "rgba(0, 0, 0, 0)");
+ assert_not_equals(background, that.passValue);
test.done();
});
});
@@ -165,7 +165,7 @@
new SRIScriptTest(
true,
- "Smame-origin with empty integrity.",
+ "Same-origin with empty integrity.",
"matching-digest.js",
""
).execute();
@@ -246,15 +246,15 @@
).execute();
new SRIScriptTest(
- true,
+ false,
"Cross-origin, not CORS request, with correct hash",
xorigin_anon_script,
"sha256-51AjITq701Y0yKSx3/UoIKtIY2UQ9+H8WGyyMuOWOC0="
).execute();
new SRIScriptTest(
- true,
- "Cross-origin, not CORS request, with hash masmatch",
+ false,
+ "Cross-origin, not CORS request, with hash mismatch",
xorigin_anon_script,
"sha256-deadbeef01Y0yKSx3/UoIKtIY2UQ9+H8WGyyMuOWOC0="
).execute();
@@ -287,7 +287,7 @@
"Same-origin with correct sha256 hash",
{
href: "style.css",
- integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F-SPLT7YZk7gyCWUV4="
+ integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4="
}
);
@@ -367,7 +367,7 @@
"Same-origin with sha256 match, sha512 mismatch",
{
href: "style.css",
- integrity: "sha512-deadbeef9wXDjd6Wq3H6nPAhI9zOvG7mJkUr03MTxaO+8ztTKnfJif42laL93Be/IF6YYZHHF4esitVYxiwpY2== sha256-CzHgdJ7wOccM8L89n4bhcJMz3F-SPLT7YZk7gyCWUV4="
+ integrity: "sha512-deadbeef9wXDjd6Wq3H6nPAhI9zOvG7mJkUr03MTxaO+8ztTKnfJif42laL93Be/IF6YYZHHF4esitVYxiwpY2== sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4="
}
);
@@ -428,7 +428,7 @@
new SRIStyleTest(
style_tests,
- true,
+ false,
"Cross-origin, not CORS request, with correct hash",
{
href: xorigin_anon_style,
@@ -438,8 +438,8 @@
new SRIStyleTest(
style_tests,
- true,
- "Cross-origin, not CORS request, with hash masmatch",
+ false,
+ "Cross-origin, not CORS request, with hash mismatch",
{
href: xorigin_anon_style,
integrity: "sha256-deadbeefCzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk="
diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py
index 52bc79c56c5..a915c5b6559 100644
--- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py
+++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py
@@ -209,7 +209,7 @@ class Response(object):
"message": message}
data = json.dumps({"error": err})
self.status = code
- self.headers = [("Content-Type", "text/json"),
+ self.headers = [("Content-Type", "application/json"),
("Content-Length", len(data))]
self.content = data
if code == 500:
diff --git a/tests/wpt/web-platform-tests/websockets/README.md b/tests/wpt/web-platform-tests/websockets/README.md
index 4ad032e089f..f03192230a5 100644
--- a/tests/wpt/web-platform-tests/websockets/README.md
+++ b/tests/wpt/web-platform-tests/websockets/README.md
@@ -2,7 +2,7 @@ This directory contains the WebSocket API test suite.
The following document contains a list of each test file in the test suite and the results of running the test file on several browsers <http://www.w3.org/wiki/Webapps/Interop/WebSockets>.
-To run this test suite within a browser, go to: <http://w3c-test.org/web-platform-tests/master/websockets/>.
+To run this test suite within a browser, go to: <http://w3c-test.org/websockets/>.
The latest Editor's Draft of WebSocket API is: <http://dev.w3.org/html5/websockets/>.
diff --git a/tests/wpt/web-platform-tests/websockets/constructor/014.html b/tests/wpt/web-platform-tests/websockets/constructor/014.html
index b7d1e839015..a120138e2a7 100644
--- a/tests/wpt/web-platform-tests/websockets/constructor/014.html
+++ b/tests/wpt/web-platform-tests/websockets/constructor/014.html
@@ -1,5 +1,6 @@
<!doctype html>
<title>WebSockets: serialize establish a connection</title>
+<meta name=timeout content=long>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../constants.js?pipe=sub></script>
@@ -12,24 +13,25 @@ async_test(function(t) {
var prevDate;
var date;
for (var i = 0; i < 4; ++i) {
- ws[i] = new WebSocket(SCHEME_DOMAIN_PORT+'/handshake_sleep_1');
+ ws[i] = new WebSocket(SCHEME_DOMAIN_PORT+'/handshake_sleep_2');
ws[i].id = i;
ws[i].onopen = t.step_func(function(e) {
events++;
date = new Date();
- if (prevDate)
- assert_greater_than(date-prevDate, 998);
+ if (prevDate) {
+ assert_greater_than(date - prevDate, 1000);
+ }
prevDate = date;
this.onopen = t.step_func(function() {assert_unreached()});
- })
- ws[i].onclose = t.step_func(function(e) {
+ }.bind(ws[i]))
+ ws[i].onclose = t.step_func(function() {
events++;
if (events == 8) {
t.done();
}
this.onclose = t.step_func(function() {assert_unreached()});
- });
+ }.bind(ws[i]));
ws[i].onerror = ws[i].onmessage = t.step_func(function() {assert_unreached()});
}
-}, null, {timeout:10000});
+});
</script>
diff --git a/tests/wpt/web-platform-tests/websockets/handlers/handshake_sleep_1_wsh.py b/tests/wpt/web-platform-tests/websockets/handlers/handshake_sleep_2_wsh.py
index df785a4f7c8..3367ed8f80f 100755
--- a/tests/wpt/web-platform-tests/websockets/handlers/handshake_sleep_1_wsh.py
+++ b/tests/wpt/web-platform-tests/websockets/handlers/handshake_sleep_2_wsh.py
@@ -4,7 +4,7 @@ from mod_pywebsocket import msgutil
import time
def web_socket_do_extra_handshake(request):
- time.sleep(1)
+ time.sleep(2)
def web_socket_transfer_data(request):
pass