Bug 1273176 - Update web-platform-tests to revision 55905788bebbdfacb49c94e579e93c19531e0199, a=testonly

MozReview-Commit-ID: 9bnFcIi0oX3


--HG--
rename : testing/web-platform/tests/custom-elements/concepts/custom-elements-type-allowed-chars-first-char.html => testing/web-platform/tests/custom-elements/v0/concepts/custom-elements-type-allowed-chars-first-char.html
rename : testing/web-platform/tests/custom-elements/concepts/custom-elements-type-allowed-chars.html => testing/web-platform/tests/custom-elements/v0/concepts/custom-elements-type-allowed-chars.html
rename : testing/web-platform/tests/custom-elements/concepts/custom-elements-type-naming.html => testing/web-platform/tests/custom-elements/v0/concepts/custom-elements-type-naming.html
rename : testing/web-platform/tests/custom-elements/creating-and-passing-registries/new-registry-test.html => testing/web-platform/tests/custom-elements/v0/creating-and-passing-registries/new-registry-test.html
rename : testing/web-platform/tests/custom-elements/creating-and-passing-registries/no-registry-test.html => testing/web-platform/tests/custom-elements/v0/creating-and-passing-registries/no-registry-test.html
rename : testing/web-platform/tests/custom-elements/creating-and-passing-registries/share-registry-create-document.html => testing/web-platform/tests/custom-elements/v0/creating-and-passing-registries/share-registry-create-document.html
rename : testing/web-platform/tests/custom-elements/creating-and-passing-registries/share-registry-import-document.html => testing/web-platform/tests/custom-elements/v0/creating-and-passing-registries/share-registry-import-document.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/enqueuing-and-invoking-callbacks/invoke-callbacks.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/enqueuing-and-invoking-callbacks/invoke-callbacks.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/attached-callback-move-element-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/attached-callback-move-element-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/attached-callback-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/attached-callback-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-change-attribute-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-change-attribute-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-remove-attribute-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-remove-attribute-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-set-attribute-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-set-attribute-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/created-callback-element-prototype-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/created-callback-element-prototype-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/created-callback-invocation-order-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/created-callback-invocation-order-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/created-callback-invocation-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/created-callback-invocation-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/detached-callback-move-element-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/detached-callback-move-element-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/detached-callback-no-browsing-context-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/detached-callback-no-browsing-context-test.html
rename : testing/web-platform/tests/custom-elements/custom-element-lifecycle/types-of-callbacks/detached-callback-with-browsing-context-test.html => testing/web-platform/tests/custom-elements/v0/custom-element-lifecycle/types-of-callbacks/detached-callback-with-browsing-context-test.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/changing-is-attribute.html => testing/web-platform/tests/custom-elements/v0/instantiating/changing-is-attribute.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-constructor-is-attribute.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-constructor-is-attribute.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-constructor-local-name.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-constructor-local-name.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-constructor-namespace.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-constructor-namespace.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-constructor-node-document.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-constructor-node-document.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-constructor-prototype.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-constructor-prototype.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-prototype.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-prototype.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-type-is-attribute.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-type-is-attribute.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-type-local-name-and-is-attribute.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-type-local-name-and-is-attribute.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/custom-element-type-local-name.html => testing/web-platform/tests/custom-elements/v0/instantiating/custom-element-type-local-name.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/create-element-interface-type-is-a-local-name.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/create-element-interface-type-is-a-local-name.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/create-element-interface-type-is-a-type-extension.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/create-element-interface-type-is-a-type-extension.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/create-element-is-attribute.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/create-element-is-attribute.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/create-element-namespace.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/create-element-namespace.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/create-element-type-extension-is-a-type.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/create-element-type-extension-is-a-type.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/create-element-type-extension-unresolved.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/create-element-type-extension-unresolved.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/create-element-type-is-a-local-name.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/create-element-type-is-a-local-name.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/created-callback-create-element-ns.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/created-callback-create-element-ns.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/extensions-to-document-interface/created-callback-create-element.html => testing/web-platform/tests/custom-elements/v0/instantiating/extensions-to-document-interface/created-callback-create-element.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/non-configurable-constructor-property.html => testing/web-platform/tests/custom-elements/v0/instantiating/non-configurable-constructor-property.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/prototype-is-interface-prototype-object.html => testing/web-platform/tests/custom-elements/v0/instantiating/prototype-is-interface-prototype-object.html
rename : testing/web-platform/tests/custom-elements/instantiating-custom-elements/unchanged-attribute.html => testing/web-platform/tests/custom-elements/v0/instantiating/unchanged-attribute.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-default-namespace.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-default-namespace.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-duplicate-definition.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-duplicate-definition.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-invalid-type.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-invalid-type.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-local-name-lowercased.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-local-name-lowercased.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-name-is-null.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-name-is-null.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-no-interface-for-name.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-no-interface-for-name.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-svg-namespace-name-is-null.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-svg-namespace-name-is-null.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-svg-namespace.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-svg-namespace.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/definition-construction-algorithm-type-name-lowercased.html => testing/web-platform/tests/custom-elements/v0/registering/definition-construction-algorithm-type-name-lowercased.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/element-registration-algorithm-no-registry.html => testing/web-platform/tests/custom-elements/v0/registering/element-registration-algorithm-no-registry.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/extensions-to-document-interface/custom-element-name.html => testing/web-platform/tests/custom-elements/v0/registering/extensions-to-document-interface/custom-element-name.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/extensions-to-document-interface/custom-element-prototype.html => testing/web-platform/tests/custom-elements/v0/registering/extensions-to-document-interface/custom-element-prototype.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag-ref.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag-ref.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-custom-tag.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-registered-custom-tag-ref.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-registered-custom-tag-ref.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-registered-custom-tag.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-registered-custom-tag.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-registered-type-extension-ref.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-registered-type-extension-ref.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-registered-type-extension.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-registered-type-extension.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-type-extension-ref.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-type-extension-ref.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-type-extension.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-css-test-type-extension.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-matching-query-selector-all.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-matching-query-selector-all.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-element-pseudoclass/unresolved-element-pseudoclass-matching-query-selector.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-element-pseudoclass/unresolved-element-pseudoclass-matching-query-selector.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-elements-interface-html-element.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-elements-interface-html-element.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-elements-interface-html-unknown-element.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-elements-interface-html-unknown-element.html
rename : testing/web-platform/tests/custom-elements/registering-custom-elements/unresolved-elements-interface-svg-element.html => testing/web-platform/tests/custom-elements/v0/registering/unresolved-elements-interface-svg-element.html
rename : testing/web-platform/tests/custom-elements/resources/blank.html => testing/web-platform/tests/custom-elements/v0/resources/blank.html
rename : testing/web-platform/tests/custom-elements/resources/import-master-async.html => testing/web-platform/tests/custom-elements/v0/resources/import-master-async.html
rename : testing/web-platform/tests/custom-elements/resources/import-master.html => testing/web-platform/tests/custom-elements/v0/resources/import-master.html
rename : testing/web-platform/tests/custom-elements/resources/import.html => testing/web-platform/tests/custom-elements/v0/resources/import.html
rename : testing/web-platform/tests/custom-elements/resources/register-and-create-custom-element.html => testing/web-platform/tests/custom-elements/v0/resources/register-and-create-custom-element.html
rename : testing/web-platform/tests/custom-elements/resources/x-element.html => testing/web-platform/tests/custom-elements/v0/resources/x-element.html
rename : testing/web-platform/tests/custom-elements/resources/x-mathml-element.html => testing/web-platform/tests/custom-elements/v0/resources/x-mathml-element.html
rename : testing/web-platform/tests/custom-elements/resources/x-svg-element.html => testing/web-platform/tests/custom-elements/v0/resources/x-svg-element.html
rename : testing/web-platform/tests/custom-elements/testcommon.js => testing/web-platform/tests/custom-elements/v0/testcommon.js
rename : testing/web-platform/tests/DOMEvents/ClickFakeEvent.nondocument.html => testing/web-platform/tests/uievents/ClickFakeEvent.nondocument.html
rename : testing/web-platform/tests/DOMEvents/OWNERS => testing/web-platform/tests/uievents/OWNERS
rename : testing/web-platform/tests/DOMEvents/constructors.html => testing/web-platform/tests/uievents/constructors/constructors.html
rename : testing/web-platform/tests/uievents/keyboard/key-mtest.css => testing/web-platform/tests/uievents/keyboard/key-manual.css
rename : testing/web-platform/tests/uievents/keyboard/key-mtest.js => testing/web-platform/tests/uievents/keyboard/key-manual.js
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/converted/DOM.event.flow.html => testing/web-platform/tests/uievents/legacy-domevents-tests/approved/DOM.event.flow.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/converted/dispatchEvent.click.checkbox.html => testing/web-platform/tests/uievents/legacy-domevents-tests/approved/dispatchEvent.click.checkbox.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/converted/domnodeinserted.html => testing/web-platform/tests/uievents/legacy-domevents-tests/approved/domnodeinserted.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/CompositionEvent.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/CompositionEvent.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.attrChange.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMAttrModified.attrChange.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.attrName.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMAttrModified.attrName.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMAttrModified.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.newValue.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMAttrModified.newValue.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.prevValue.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMAttrModified.prevValue.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.relatedNode.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMAttrModified.relatedNode.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMCharacterDataModified.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMCharacterDataModified.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMNodeInserted.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMNodeInserted.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMNodeRemoved.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMNodeRemoved.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/DOMSubtreeModified.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/DOMSubtreeModified.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.location.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/KeyboardEvent.location.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.modifiers.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/KeyboardEvent.modifiers.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.image.map.area.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/MouseEvent.image.map.area.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.preventDefault.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/MouseEvent.preventDefault.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.hasFeature.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/MutationEvent.hasFeature.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.initMutationEvent.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/MutationEvent.initMutationEvent.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.relatedNode.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/MutationEvent.relatedNode.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/ProcessingInstruction.DOMCharacterDataModified.fail.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/ProcessingInstruction.DOMCharacterDataModified.fail.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/TextEvent.hasFeature.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/TextEvent.hasFeature.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/TextEvent.initTextEvent.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/TextEvent.initTextEvent.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.IME.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/TextEvent.inputMode.IME.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.drop.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/TextEvent.inputMode.drop.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.keyboard.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/TextEvent.inputMode.keyboard.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.paste.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/TextEvent.inputMode.paste.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.script.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/TextEvent.inputMode.script.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/UIEvent.load.stylesheet.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/UIEvent.load.stylesheet.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.Capture.Bubble.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/WheelEvent.Capture.Bubble.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.ctrlKey.zoom.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/WheelEvent.ctrlKey.zoom.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.deltaMode.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/WheelEvent.deltaMode.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.hasFeature.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/WheelEvent.hasFeature.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.initWheelEvent.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/WheelEvent.initWheelEvent.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.preventDefault.scroll.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/WheelEvent.preventDefault.scroll.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/compositionstart.data.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/compositionstart.data.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/compositionstart.keydown.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/compositionstart.keydown.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/compositionstart.preventDefault.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/compositionstart.preventDefault.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/converted/EventListener.dispatch.new.event.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/converted/EventListener.dispatch.new.event.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/dispatchEvent.UNSPECIFIED_EVENT_TYPE_ERR.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/dispatchEvent.UNSPECIFIED_EVENT_TYPE_ERR.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/dispatchEvent.click.checkbox.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/dispatchEvent.click.checkbox.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/focusin.relatedTarget.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/focusin.relatedTarget.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/focusout.relatedTarget.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/focusout.relatedTarget.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/hasFeature.Events.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/hasFeature.Events.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/hasFeature.feature.string.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/hasFeature.feature.string.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/mouseenter.ctrlKey.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/mouseenter.ctrlKey.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/mouseenter.relatedTarget.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/mouseenter.relatedTarget.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/mouseleave.relatedTarget.html => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/mouseleave.relatedTarget.html
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/support/InvalidBitMap.png => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/support/InvalidBitMap.png
rename : testing/web-platform/tests/DOMEvents/tests/submissions/Microsoft/support/iepreview.png => testing/web-platform/tests/uievents/legacy-domevents-tests/submissions/Microsoft/support/iepreview.png
rename : testing/web-platform/tests/DOMEvents/event-phases-order.html => testing/web-platform/tests/uievents/order-of-events/event-phases-order.html
rename : testing/web-platform/tests/DOMEvents/init-event-while-dispatching.html => testing/web-platform/tests/uievents/order-of-events/init-event-while-dispatching.html
rename : testing/web-platform/tests/DOMEvents/throwing-in-listener-and-window-error-event.html => testing/web-platform/tests/uievents/throwing-in-listener-and-window-error-event.html
rename : testing/web-platform/tests/DOMEvents/throwing-in-listener-when-all-have-not-run-yet.html => testing/web-platform/tests/uievents/throwing-in-listener-when-all-have-not-run-yet.html
This commit is contained in:
James Graham 2016-05-09 22:23:20 +01:00
parent e688f4d7c8
commit 32298a805b
431 changed files with 3766 additions and 1816 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
601a47cb4b0c94cfdd961dc9c0448861004462a2
a7be89195297e42f273679bcd2bbfb1518320ce1

View File

@ -1,64 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> Event dispatch and DOM event flow </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 = CurrentTargets.concat([TARGET, PARENT, TBODY, TABLE, BODY, HTML, document, window]);
var ActualResult = [];
var ExpectPhases = [1,1,1,1,1,1,1,2,2,3,3,3,3,3,3,3,];
var ActualPhases = [];
var description = "Test Description: Dispatch an event in a DOM tree using the DOM event flow.";
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);
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>

View File

@ -1,60 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> EventLister member: handleEvent() </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 TestResult = false;
var description = "Test Description: " +
"handleEvent - This method shall be called whenever an event occurs of the event type for " +
"which the EventListener interface was registered.";
var EventListener = {};
EventListener.handleEvent = function(evt)
{
if ((EVENT == evt.type) && (TARGET == evt.target) && (this === EventListener))
{
TestResult = true;
}
else
{
TestResult = false;
}
}
test(function()
{
var evt = document.createEvent("Event");
evt.initEvent(EVENT, true, true);
TARGET.addEventListener(EVENT, EventListener, true);
TARGET.dispatchEvent(evt);
TARGET.removeEventListener(EVENT, EventListener, true);
assert_true(TestResult);
}, description);
</script>
</body>
</html>

View File

@ -1,44 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> Event.defaultPrevented is reset after dipatchEvent() </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id=log></div>
<input id="target" type="hidden" value=""/>
<script>
var EVENT = "foo";
var TARGET = document.getElementById("target");
var PreState;
var PosState;
var description = "Test Description: " +
"As the final step of the event dispatch, the implementation must reset the event " +
"object's default-action-prevention state. ";
test(function()
{
var evt = document.createEvent("Event");
evt.initEvent(EVENT, true, true);
TARGET.addEventListener(EVENT, TestEvent, true);
TARGET.dispatchEvent(evt);
PosState = evt.defaultPrevented;
assert_array_equals([evt.target, PreState, PosState], [TARGET, true, false]);
}, description);
function TestEvent(evt)
{
evt.preventDefault();
PreState = evt.defaultPrevented;
}
</script>
</body>
</html>

View File

@ -1,55 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> Multiple dispatchEvent() and stopPropagation() </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id=log></div>
<div id="parent" style="display: none">
<input id="target" type="hidden" value=""/>
</div>
<script>
var EVENT = "foo";
var TARGET = document.getElementById("target");
var PARENT = document.getElementById("parent");
var ExpectResult = [TARGET, PARENT, PARENT, document, window];
var ActualResult = [];
var description = "Test Description: " +
"An event object may be properly dispatched multiple times while also allowing to prevent the event objects " +
"propagation prior to the event dispatch.";
test(function()
{
var evt = document.createEvent("Event");
evt.initEvent(EVENT, true, true);
TARGET.addEventListener(EVENT, TestEvent, false);
PARENT.addEventListener(EVENT, TestEvent, false);
document.addEventListener(EVENT, TestEvent, false);
window.addEventListener(EVENT, TestEvent, false);
TARGET.dispatchEvent(evt);
PARENT.dispatchEvent(evt);
document.dispatchEvent(evt);
assert_array_equals(ActualResult, ExpectResult);
}, description);
function TestEvent(evt)
{
ActualResult.push(evt.currentTarget);
if (PARENT == evt.currentTarget)
{
evt.stopPropagation();
}
}
</script>
</body>
</html>

View File

@ -1,32 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> ProcessingInstruction.data and DOMCharacterDataModified event </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id=log></div>
<iframe id="helper" style="display: none"></iframe>
<script>
var description = "Test Description: " +
"DOMCharacterDataModified event fires after ProcessingInstruction.data have been modified, " +
"but the node itself has not been inserted or deleted. The proximal event target of this " +
"event shall be the ProcessingInstruction node.";
var t = async_test(description);
var HELPER = document.getElementById("helper");
HELPER.onload = t.step_func(function()
{
assert_true(HELPER.contentWindow.TestResult);
t.done();
});
HELPER.src = "./support/ProcessingInstruction.DOMCharacterDataModified.xml";
</script>
</body>
</html>

View File

@ -1,80 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> MouseEvent: Default action and synthetic click event </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id=log></div>
<div style="display: none">
<input type="checkbox" id="target">
<button id="button"> Click Here </button>
</div>
<script>
setup({explicit_done:true});
var EVENT = "click";
var TARGET = document.getElementById("target");
var BUTTON = document.getElementById("button");
var state;
var description = "Test Description: " +
"MouseEvent: Default action is performed when a synthetic click event is dispatched on a checkbox element";
BUTTON.addEventListener(EVENT, TestEvent, true);
TARGET.addEventListener(EVENT, TestEvent, true);
window.onload = function()
{
state = TARGET.checked;
BUTTON.click();
}
function TestEvent(evt)
{
if (BUTTON == evt.target)
{
var e;
test(function()
{
BUTTON.removeEventListener(EVENT, TestEvent, true);
e = document.createEvent("MouseEvent");
e.initMouseEvent(EVENT, /* type */
false, /* bubbles */
true, /* cancelable */
window, /* view */
1, /* detail */
0, /* screenX */
0, /* screenY */
0, /* clientX */
0, /* clientY */
false, /* ctrlKey */
false, /* altKey */
false, /* shiftKey */
false, /* metaKey */
0, /* button */
null /* relatedTarget */);
assert_array_equals([TARGET.checked, e.type, e.bubbles], [state, EVENT, false]);
}, "Checkbox state is unchanged before the synthetic click event is dispatched");
TARGET.dispatchEvent(e);
}
else if (TARGET == evt.target)
{
test(function()
{
assert_array_equals([TARGET.checked, evt.type, evt.bubbles], [!state, EVENT, false]);
}, description);
done();
}
}
</script>
</body>
</html>

View File

@ -1,26 +0,0 @@
<!DOCTYPE html>
<title>MutationEvent: DOMNodeInserted Event Type</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
<div id="target" style="display: none"></div>
<script>
var EVENT = "DOMNodeInserted";
var TARGET;
var NODE;
var t = async_test("Test Description: DOMNodeInserted event fires when a node has been added as a child of another node.");
TARGET = document.getElementById("target");
TARGET.addEventListener(EVENT, t.step_func(function(evt)
{
assert_equals(evt.type, EVENT);
t.done();
}), true);
NODE = document.createElement("INPUT");
TARGET.appendChild(NODE);
</script>

View File

@ -1,71 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> Event.stopImmediatePropagation() immediate effect </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 = [window, window, document, document, HTML, HTML, BODY, BODY, TABLE];
var ActualResult = [];
var ExpectListeners = [0,1,0,1,0,1,0,1,0];
var ActualListeners = [];
var description = "Test Description: " +
"stopImmediatePropagation() prevents other event listeners from being triggered and, unlike " +
"Event.stopPropagation(), its effect must be immediate. Once it has been called, further calls " +
"to this method have no additional effect.";
test(function()
{
for (var i=0; i < CurrentTargets.length; i++)
{
CurrentTargets[i].addEventListener(EVENT, function(e){TestEvent(e, 0)}, true);
CurrentTargets[i].addEventListener(EVENT, function(e){TestEvent(e, 1)}, true);
}
var evt = document.createEvent("Event");
evt.initEvent(EVENT, true, true);
TARGET.dispatchEvent(evt);
assert_array_equals(ActualResult, ExpectResult, "ActualResult");
assert_array_equals(ActualListeners, ExpectListeners, "ActualListeners");
}, description);
function TestEvent(evt, i)
{
ActualResult.push(evt.currentTarget);
ActualListeners.push(i);
if ((1 == evt.eventPhase) && (TABLE == evt.currentTarget) && (0 == i))
{
evt.stopImmediatePropagation();
}
}
</script>
</body>
</html>

View File

@ -1,70 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> Event.stopPropagation() deferred effect </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 = [window, window, document, document, HTML, HTML, BODY, BODY, TABLE, TABLE];
var ActualResult = [];
var ExpectListeners = [0,1,0,1,0,1,0,1,0,1];
var ActualListeners = [];
var description = "Test Description: " +
"stopPropagation() prevents other event listeners from being triggered but its effect must be " +
"deferred until all event listeners attached on the Event.currentTarget have been triggered.";
test(function()
{
for (var i=0; i < CurrentTargets.length; i++)
{
CurrentTargets[i].addEventListener(EVENT, function(e){TestEvent(e, 0)}, true);
CurrentTargets[i].addEventListener(EVENT, function(e){TestEvent(e, 1)}, true);
}
var evt = document.createEvent("Event");
evt.initEvent(EVENT, true, true);
TARGET.dispatchEvent(evt);
assert_array_equals(ActualResult, ExpectResult, "ActualResult");
assert_array_equals(ActualListeners, ExpectListeners, "ActualListeners");
}, description);
function TestEvent(evt, i)
{
ActualResult.push(evt.currentTarget);
ActualListeners.push(i);
if ((1 == evt.eventPhase) && (TABLE == evt.currentTarget) && (0 == i))
{
evt.stopPropagation();
}
}
</script>
</body>
</html>

View File

@ -1,45 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title> Event.defaultPrevented is reset after dipatchEvent() </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id=log></div>
<input id="target" type="hidden" value=""/>
<script>
var EVENT = "foo";
var TARGET = document.getElementById("target");
var PreState;
var PosState;
var description = "Test Description: " +
"As the final step of the event dispatch, the implementation must reset the event " +
"object's default-action-prevention state. ";
test(function()
{
var evt = document.createEvent("Event");
evt.initEvent(EVENT, true, true);
TARGET.addEventListener(EVENT, TestEvent, true);
TARGET.dispatchEvent(evt);
PosState = evt.defaultPrevented;
assert_array_equals([evt.target, PreState, PosState], [TARGET, true, false]);
}, description);
function TestEvent(evt)
{
evt.preventDefault();
PreState = evt.defaultPrevented;
}
</script>
</body>
</html>

View File

@ -1,3 +0,0 @@
BODY {
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #eef0eb; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}

View File

@ -23,22 +23,28 @@ test(function() {
assert_equals(String(blob), '[object Blob]');
assert_equals(blob.size, 0);
assert_equals(blob.type, "");
}, "no-argument Blob constructor");
}, "Blob constructor with no arguments");
test(function() {
assert_throws(new TypeError(), function() { var blob = Blob(); });
}, "no-argument Blob constructor without 'new'");
}, "Blob constructor with no arguments, without 'new'");
test(function() {
var blob = new Blob;
assert_true(blob instanceof Blob);
assert_equals(blob.size, 0);
assert_equals(blob.type, "");
}, "no-argument Blob constructor without brackets");
}, "Blob constructor without brackets");
test(function() {
var blob = new Blob(undefined);
assert_true(blob instanceof Blob);
assert_equals(String(blob), '[object Blob]');
assert_equals(blob.size, 0);
assert_equals(blob.type, "");
}, "Blob constructor with undefined as first argument");
// blobParts argument (WebIDL).
test(function() {
var args = [
null,
undefined,
true,
false,
0,

View File

@ -27,12 +27,13 @@ To get the tests running, you need to set up the test domains in your
following entries are required:
```
127.0.0.1 web-platform.test
127.0.0.1 www.web-platform.test
127.0.0.1 www1.web-platform.test
127.0.0.1 www2.web-platform.test
127.0.0.1 xn--n8j6ds53lwwkrqhv28a.web-platform.test
127.0.0.1 xn--lve-6lad.web-platform.test
127.0.0.1 web-platform.test
127.0.0.1 www.web-platform.test
127.0.0.1 www1.web-platform.test
127.0.0.1 www2.web-platform.test
127.0.0.1 xn--n8j6ds53lwwkrqhv28a.web-platform.test
127.0.0.1 xn--lve-6lad.web-platform.test
0.0.0.0 nonexistent-origin.web-platform.test
```
Because web-platform-tests uses git submodules, you must ensure that

View File

@ -4,7 +4,6 @@
@caitp
@Manishearth
@plehegar
@foolip
@jungkees
@ibelem
@mathiasbynens

View File

@ -30,18 +30,29 @@
assert_throws("SyntaxError", function() { client.setRequestHeader(name, 'x-value') })
}, "setRequestHeader should throw with header name " + format_value(invalid_headers[i]) + ".")
}
function try_byte_string(name) {
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "...")
assert_throws(new TypeError(), function() { client.setRequestHeader(name, 'x-value') })
}, "setRequestHeader should throw with header name " + format_value(invalid_byte_strings[i]) + ".")
}
var invalid_headers = ["(", ")", "<", ">", "@", ",", ";", ":", "\\",
"\"", "/", "[", "]", "?", "=", "{", "}", " ",
/* HT already tested in the loop below */
"\u007f", "テスト", "", "t\rt", "t\nt", "t: t", "t:t",
"\u007f", "", "t\rt", "t\nt", "t: t", "t:t",
"t<t", "t t", " tt", ":tt", "\ttt", "\vtt", "t\0t",
"t\"t", "t,t", "t;t", "()[]{}", "a?B", "X-テスト", "a=B"]
"t\"t", "t,t", "t;t", "()[]{}", "a?B", "a=B"]
var invalid_byte_strings = ["テスト", "X-テスト"]
for (var i = 0; i < 32; ++i) {
invalid_headers.push(String.fromCharCode(i))
}
for (var i = 0; i < invalid_headers.length; ++i) {
try_name(invalid_headers[i])
}
for (var i = 0; i < invalid_byte_strings.length; ++i) {
try_byte_string(invalid_byte_strings[i])
}
</script>
</body>

View File

@ -1,4 +1,3 @@
@zqzhang
@foolip
@dontcallmedom
@deniak

View File

@ -0,0 +1,12 @@
def main(request, response):
if request.headers.get('Content-Type') == 'application/x-www-form-urlencoded':
if request.body == 'foo=bara':
return 'OK'
else:
return 'FAIL'
else:
if request.POST.first('foo') == 'bar':
return 'OK'
else:
return 'FAIL'

View File

@ -32,7 +32,7 @@ form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<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>
<p>Tests that allowed form actions work correctly.</p>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>

View File

@ -31,7 +31,7 @@ form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<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 blocking form actions works correctly.</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>

View File

@ -33,7 +33,8 @@ form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<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>
<p>Tests that allowed form actions work correctly
with GET and a redirect.</p>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>

View File

@ -33,7 +33,8 @@ form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<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>
<p>Tests that disallowed form actions are blocked
with GET and redirects.</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>

View File

@ -33,7 +33,7 @@ form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<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>
<p>Tests that blocking a POST form with a redirect works correctly. If this test passes, a CSP violation will be generated.</p>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=form-action%20'self'"></script>
</body>

View File

@ -14,14 +14,14 @@ script-src 'self' 'unsafe-inline' 'none'; connect-src 'self';
</head>
<body>
<meta http-equiv="Content-Security-Policy" content="script-src 'none'">
<meta http-equiv="Content-Security-Policy" content="script-src 'self'">
<p>This test checks that Content Security Policy delivered via a meta element is not enforced if the element is outside the document&apos;s head.</p>
<script>
alert_assert("PASS (1/1)");
var aa = "PASS (1/1)";
</script>
<script src="metaHelper.js"></script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
<script src="../support/checkReport.sub.js?reportExists=false"></script>
</body>
</html>

View File

@ -0,0 +1,5 @@
if (typeof aa != 'undefined') {
alert_assert(aa);
} else {
alert_assert("Failed - allowed inline script blocked by meta policy outside head.");
}

View File

@ -6,7 +6,7 @@
<title>plugintypes-notype-data</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src='../support/logTest.sub.js?logs=["PASS"]'></script>
<script src='../support/logTest.sub.js?logs=["PASS: object tag onerror handler fired"]'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self';
@ -15,7 +15,7 @@ plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; conn
<body>
Given a `plugin-types` directive, plugins have to declare a type explicitly. No declared type, no load. This test passes if there&apos;s a CSP report and &quot;FAIL!&quot; isn&apos;t logged.
<object data="data:application/x-webkit-test-netscape" onload="log('FAIL');" onerror="log('PASS');"></object>
<object data="data:application/x-webkit-test-netscape" onload="log('FAIL');" onerror="log('PASS: object tag onerror handler fired');"></object>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=plugin-types+application/x-invalid-type"></script>
</body>

View File

@ -7,7 +7,6 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</script>
<!-- enforcing policy:
script-src 'self' 'nonce-nonceynonce' 'sha256-dWTP4Di8KBjaiXvQ5mRquI9OoBSo921ahYxLfYSiuT8='; connect-src 'self';
-->
@ -34,12 +33,9 @@ script-src 'self' 'nonce-nonceynonce' 'sha256-dWTP4Di8KBjaiXvQ5mRquI9OoBSo921ahY
var scriptContent2 = "window.finish('" + nonMatchingContent + "');";
var script1 = document.createElement('script');
script1.innerHTML = scriptContent1;
var script2 = document.createElement('script');
script2.innerHTML = scriptContent2;
script1.test = async_test("Inline script with hash in CSP");
script2.test = async_test("Inline script without hash in CSP");
script1.test = async_test("Only matching content runs even with NFC normalization.");
var failure = function() {
assert_unreached();
@ -51,16 +47,18 @@ script-src 'self' 'nonce-nonceynonce' 'sha256-dWTP4Di8KBjaiXvQ5mRquI9OoBSo921ahY
script1.test.done();
});
} else {
assert_unreached();
script1.test.step(function() {
assert_unreached("nonMatchingContent script ran");
});
}
}
script1.onerror = failure;
script2.onerror = script2.test.step_func(function() {
script2.test.done();
});
document.body.appendChild(script1);
document.body.appendChild(script2);
script2.textContent = scriptContent2;
document.body.appendChild(script1);
script1.textContent = scriptContent1;
</script>
<p>

View File

@ -6,49 +6,16 @@
<title>scriptnonce-basic-blocked</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script nonce='noncynonce'>
function log(msg) {
test(function() {
assert_unreached(msg)
});
}
</script>
<script nonce='noncynonce'>
var t_alert = async_test('Expecting alerts: ["PASS (1/2)","PASS (2/2)"]');
var expected_alerts = ["PASS (1/2)", "PASS (2/2)"];
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>
<script src='../support/alertAssert.sub.js?alerts=["PASS (closely-quoted nonce)","PASS (nonce w/whitespace)"]'></script>
<!-- enforcing policy:
script-src 'self' 'unsafe-inline' 'nonce-noncynonce'; connect-src 'self';
-->
<script nonce="noncynonce">
alert_assert('PASS (1/2)');
alert_assert('PASS (closely-quoted nonce)');
</script>
<script nonce=" noncynonce ">
alert_assert('PASS (2/2)');
alert_assert('PASS (nonce w/whitespace)');
</script>
<script nonce="noncynonce noncynonce">

View File

@ -34,7 +34,7 @@
</script>
<!-- enforcing policy:
style-src 'sha1-eYyYGmKWdhpUewohaXk9o8IaLSw=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self';
style-src 'sha256-pAKi9r4/WB7fHydbE3F3t8i8602ij2JN8zHJpL2T5BM=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
</head>

View File

@ -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: stylehash-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
Content-Security-Policy: style-src 'self' 'sha1-eYyYGmKWdhpUewohaXk9o8IaLSw=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
Content-Security-Policy: style-src 'self' 'sha256-pAKi9r4/WB7fHydbE3F3t8i8602ij2JN8zHJpL2T5BM=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}

View File

@ -15,16 +15,27 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
<body>
<script>
try {
var es = navigator.sendBeacon("http://{{host}}:{{ports[http][0]}}/cors/resources/status.py");
log("Pass");
} catch (e) {
log("Fail");
}
if (typeof navigator.sendBeacon != 'function') {
t_log.set_status(t_log.NOTRUN, "No navigator.sendBeacon, cannot run test.");
t_log.phase = t_log.phases.HAS_RESULT;
t_log.done();
} else {
try {
var es = navigator.sendBeacon("http://{{host}}:{{ports[http][0]}}/cors/resources/status.py");
log("Pass");
} catch (e) {
log("Fail");
}
var report = document.createElement("script");
report.src = "../support/checkReport.sub.js?reportExists=false";
report.async = true;
report.defer = true;
document.body.appendChild(report);
}
</script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>
</html>

View File

@ -15,16 +15,26 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
<body>
<script>
try {
var es = navigator.sendBeacon("http://www1.{{host}}:{{ports[http][0]}}/security/contentSecurityPolicy/echo-report.php");
log("Fail");
} catch (e) {
log("Pass");
}
if (typeof navigator.sendBeacon != 'function') {
t_log.set_status(t_log.NOTRUN, "No navigator.sendBeacon, cannot run test.");
t_log.phase = t_log.phases.HAS_RESULT;
t_log.done();
} else {
try {
var es = navigator.sendBeacon("http://www1.{{host}}:{{ports[http][0]}}/security/contentSecurityPolicy/echo-report.php");
log("Fail");
} catch (e) {
log("Pass");
}
var report = document.createElement("script");
report.src = "../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=connect-src%20&apos;self&apos;";
report.async = true;
report.defer = true;
document.body.appendChild(report);
}
</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>

View File

@ -18,13 +18,24 @@ connect-src 'self'; script-src 'self' 'unsafe-inline';
<p>The beacon should not follow the redirect to http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png and send a CSP violation report.</p>
<p>Verify that a CSP connect-src directive blocks redirects.</p>
<script>
navigator.sendBeacon(
"/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png",
"ping");
if (typeof navigator.sendBeacon != 'function') {
var t = async_test();
t.set_status(t.NOTRUN, "No navigator.sendBeacon, cannot run test.");
t.phase = t.phases.HAS_RESULT;
t.done();
} else {
navigator.sendBeacon(
"/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png",
"ping");
var report = document.createElement("script");
report.src = "../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=connect-src%20&apos;self&apos;";
report.async = true;
report.defer = true;
document.body.appendChild(report);
}
</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>

View File

@ -2,5 +2,5 @@ try {
importScripts("/content-security-policy/blink-contrib/resources/post-message.js");
postMessage("importScripts allowed");
} catch (e) {
postMessage("importScripts blocked: " + e);
postMessage("importScripts blocked");
}

View File

@ -16,6 +16,11 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
<body>
<script>
if(typeof SharedWorker != 'function') {
t_alert.set_status(t_alert.NOTRUN, "No SharedWorker, cannot run test.");
t_alert.phase = t_alert.phases.HAS_RESULT;
t_alert.done();
} else {
try {
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) {
@ -24,10 +29,15 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
} catch (e) {
alert_assert(e);
}
var report = document.createElement("script");
report.src = "../support/checkReport.sub.js?reportExists=false";
report.async = true;
report.defer = true;
document.body.appendChild(report);
}
</script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>
</html>

View File

@ -22,6 +22,11 @@ connect-src *; script-src 'self' 'unsafe-inline';
should be sent since the worker's policy doesn't specify
a report-uri.</p>
<script>
if(typeof SharedWorker != 'function') {
t_alert.set_status(t_alert.NOTRUN, "No SharedWorker, cannot run test.");
t_alert.phase = t_alert.phases.HAS_RESULT;
t_alert.done();
} else {
try {
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) {
@ -30,10 +35,16 @@ connect-src *; script-src 'self' 'unsafe-inline';
} catch (e) {
alert_assert(e);
}
var report = document.createElement("script");
report.src = "../support/checkReport.sub.js?reportExists=false";
report.async = true;
report.defer = true;
document.body.appendChild(report);
}
</script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>
</html>

View File

@ -23,7 +23,7 @@ script-src 'self' 'unsafe-inline' 'unsafe-eval' 'unsafe-inline' 127.0.0.1:8000;
worker.onmessage = function(event) {
result = event.data;
test(function() {
assert_equals(result, 'importScripts blocked: NetworkError: Failed to execute \'importScripts\' on \'WorkerGlobalScope\': The script at \'http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js\' failed to load.')
assert_equals(result, 'importScripts blocked')
});
log("TEST COMPLETE");
};

View File

@ -17,6 +17,10 @@ child-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src
<script>
try {
var foo = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js');
foo.onerror = function(event) {
event.preventDefault();
alert_assert("PASS");
}
foo.onmessage = function(event) {
alert_assert("FAIL");
};

View File

@ -0,0 +1,27 @@
<!DOCTYPE HTML>
<html>
<head>
<title>no default src doesn't behave exactly like *</title>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src="../support/alertAssert.sub.js?alerts=[]"> </script>
<script src='positiveTest.js'></script>
<!-- enforcing policy: foobar; report-uri ...
-->
</head>
<body>
<h1>no default src doesn't behave exactly like *</h1>
This page has a CSP header but an unknown directive.
This should have no impact on an img loaded from a data:
uri, or an inline script, although that would be blocked by a default-src policy of *.
<br>
<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAABACAIAAAABPqsMAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QoMCC8h3if5rgAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAGD0lEQVR42u2aa0yTVxiA39ILxa4KIkKrVCCIitzrqkAXQiXDSFjQHyZDBRRdtoDzgooao5uaoInID4hRJFC8RBOzxQuKigyYokuDSB0WlaJQlQrITRCwte1+nKVhpbT9aGUue59fb84573dO+uR7v/drS4OfAPkf4oQfAYpHUDyC4hEUj6B4BMUjKB5B8QiKR1A8guIRFI+geATFIygeQfEIikdQPEIVxmd1GsN+w9hBrV7bN9Kn7FHWqmqLHxY3vW2ycIWtS7Yeiz9G4h0VO47eO2rj1p4cz7WhayW+kuCZwdNdpjsznIe0Q53vO1X9qsbOxrr2uprWmrb+Nofn/lvQPqs/W5oVb0KBrCDrVpZGpzE7++iHR8Ezg0ms6FIsPL7Qho+Ali3O3h+zn81gW1n5M82BuVjqqZEpyjyVeMrs1CL+IqN1AAj0CBTNElm9YGFiYc7SHKvmHJ6Lpd7K/cF0YvK5/KV+S3eLd/tP9weAlNAUaYO0qrXKJGtd2DoS6A16J5oTGZG9llnYKDEgcUPEBhI/636WL8uvelHV1t82rB1mM9geHA8fV58QzxAhTxjjE+PAXCz15ku92cLIZXFr1tWEe4UDwLk/z635dc3oWWe6s3q72o3tBgD7qvYdiD0AAH0jfbxc3sjHkfF2LF9dvsx/GQDcbLmZdCHJwkrH5mKpp8CAZiC7IpvEUd5RJrMrFqwg1pU9ykO/H2rpbQEAV7brygUrLVxz8ezFJNh2cxtVc/bkonhq3Ht5jwReX3iNV+elDVIDGKQNUpNxs0x1nkoCZY+S6mHsyUXxE30oGP7R/3tP9Y7ziyNP91J5KQCUNpTqDXoAkPhKBNME412ne6ibBEEzg6iewZ5cFE8NY4XveN8xejw1LJV0cxXPK169ewUAL9+9vP38NgA40ZxSQ1OtlpDCxMI50+ZMrPxMIBfFU4DD5ByOO2zyoRPSwtJIUPyw2DhojNPC0mhg/jU67488AxgAQMgTNv/YfPXbq5miTNEskQvDxep57MnFrt56V890YvK4vFif2D1f7QlwDyCDcafjKl9UkjhmTkx1WjUA9Az38HP5H3Qfxvb5saWx1a3VZjfdsmRL7te5pGAY0Rl0ii7FnbY7l55cqnxRSZ4ajs1F8WbEW8bkXU6aJCXFvEBWsKl80+iVBcsLMr7MAIDT8tOpl8Yt+JGzIw9KDkp8JWYLg7JHmXUr68rTKw7PRfEUxJ98cHJz+Wbjbc1lcdXb1RwmBwCEhcJ6df3oxUKesO67OgAY0g55HfUa0AxYuLJgmmD53OVigTiCFxHgHkCn0UfP7rq960jtkU+Ri+LH/ZGmf6S/pbelVlVb0lDS2Nk4ejY9PL3omyIAkHfIw06EjU2Xfy8P8QwBgI1XNxbVF9l4EheGi5AvTJibkB6R7jHFAwAMYBAXi016C4fn4jPe1p807q6/G+0dbWMTHl0cTfVIbmy3suQy8jZxUXFx1cVVk5OLXb0lAtwDbLROXgWNvaHt9I70ZlzPILFYIJ60XBRvCcvfytm/ntDU9fc/AEjdnrTcTwrjv2udTqOnhKaQOOlC0uWnl8dbmTA3oSy5DABSQlP2/rZXZ9BR2mjejHkksNwbOjwX73jzxPvH87l8AOh433Gt+ZqFlTeUN9SDagDgc/nx/vGUdpnCnJIXn0fiB+0PJi0X73jrdfvso7Mf9R8trNQZdGfkZ3ZG7yRZ15uvG6dUW1W1qtp6db2iS9HW36YeUA9qBrV6LYfJ8XPzk/hKMkWZfm5+ZLHJS4E9udjVT7Crd3dxb89qZ9FZABB0POhx12PL6+fPmN+U0QQAGp2Gn8vvHu6m9JWR2bbcnlws9RNkdchqYl32WmbVOgA8efvk/qv7AMCis5KDkyntpdFpcu7mJP+SPIFz2pOLpd5SnS9pKLExpeRhSeTsSABYH74+X5ZPBgV5gijvqAheRKBHoI+rD4/L47K4TDpzWDv8ZvCNoktR3Vp9vvF8+0D72Avak4ulHsFSj6B4BMUjKB5B8QiKR1A8guIRFI+geATFo3gExSMoHkHxCIpHUDyC4hEUj6B45HPmL9so2ZKs94sNAAAAAElFTkSuQmCC'>
<script>
var allowedScriptRan = true;
</script>
<div id='log'></div>
<script async defer src='../support/checkReport.sub.js?reportExists=false'></script>
</body>
</html>

View File

@ -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: no-default-src={{$id:uuid()}}; Path=/content-security-policy/generic/
Content-Security-Policy: foobar; report-uri ../support/report.py?op=put&reportID={{$id}}

View File

@ -52,10 +52,17 @@
source_test.step(function() {
source_test.set_status(source_test.FAIL);
});
setTimeout(function() {
if(source_test.phase != source_test.phases.COMPLETE) {
source_test.step( function () { assert_unreached("Onerror event never fired for track element."); });
source_test.done();
}
}, 2 * 1000);
</script>
<script async defer src="../support/checkReport.sub.js?reportField=violated-directive&reportValue=media-src%20%27self%27">
</script>
</body>
</html>
</html>

View File

@ -55,8 +55,8 @@
</video>
<video id="videoObject2" width="320" height="240" controls
onerror="media_error_handler(src_test)"
onloadeddata="media_loaded(src_test)"
onerror="media_error_handler(src_redir_test)"
onloadeddata="media_loaded(src_redir_test)"
src="/common/redirect.py?location=http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4">
<script async defer src="../support/checkReport.sub.js?reportExists=false">

View File

@ -1,5 +1,9 @@
// note, this template substitution is XSS, but no way to avoid it in this framework
var expected_alerts = {{GET[alerts]}};
var timeout= "{{GET[timeout]}}";
if (timeout == "") {
timeout = 2;
}
if(expected_alerts.length == 0) {
function alert_assert(msg) {
@ -7,7 +11,13 @@ if(expected_alerts.length == 0) {
}
} else {
var t_alert = async_test('Expecting alerts: {{GET[alerts]}}');
function alert_assert(msg) {
setTimeout(function() {
if(t_alert.phase != t_alert.phases.COMPLETE) {
t_alert.step(function() { assert_unreached('Alert timeout, expected alerts ' + expected_alerts + ' not fired.') });
t_alert.done();
}
}, timeout * 100);
var alert_assert = function (msg) {
t_alert.step(function () {
if(msg && msg instanceof Error) {
msg = msg.message;
@ -29,5 +39,5 @@ if(expected_alerts.length == 0) {
assert_unreached('unexpected alert: ' + msg);
t_log.done();
});
}
}.bind(this);
}

View File

@ -1,5 +1,9 @@
// note, this template substitution is XSS, but no way to avoid it in this framework
var expected_logs = {{GET[logs]}};
var timeout = "{{GET[timeout]}}";
if (timeout == "") {
timeout = 2;
}
if (expected_logs.length == 0) {
function log_assert(msg) {
@ -7,6 +11,12 @@ if (expected_logs.length == 0) {
}
} else {
var t_log = async_test('Expecting logs: {{GET[logs]}}');
setTimeout(function() {
if(t_log.phase != t_log.phases.COMPLETE){
t_log.step(function () { assert_unreached('Logging timeout, expected logs ' + expected_logs + ' not sent.') });
t_log.done();
}
}, timeout * 1000);
function log(msg) {
//cons/**/ole.log(msg);
t_log.step(function () {

View File

@ -17,6 +17,7 @@ var url = CROSSDOMAIN + 'resources/cors-cookie.py?ident='
* widthCredentials
*/
// XXX Do some https tests here as well
test(function () {
var client = new XMLHttpRequest()
client.open('GET', CROSSDOMAIN, false)

View File

@ -0,0 +1,89 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>cssom-view - elementScroll</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
section {
width: 300px;
height: 300px;
/*position: absolute;*/
top: 16px;
left: 16px;
border: inset gray 3px;
overflow: scroll;
background: white;
}
div {
width: 400px;
}
</style>
<section id="section">
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ultricies tortor eu augue eleifend malesuada. Duis id condimentum urna. Duis vulputate urna a dignissim sodales. Aenean et magna id dui rutrum suscipit. Etiam metus mauris, congue ac suscipit dapibus, mattis non neque. Donec porttitor eros sed mauris tristique, non condimentum augue feugiat. Suspendisse iaculis faucibus nunc at porttitor. Integer convallis enim in feugiat molestie. Ut eget tincidunt mi, vel malesuada lectus. Quisque fermentum neque a sapien interdum consectetur. Nam tincidunt leo sit amet tortor ornare, sit amet ultrices ante semper. Fusce malesuada mi vitae venenatis sagittis. Duis eget urna quam.
Sed lacinia aliquam tortor quis elementum. Cras vitae mauris erat. Vestibulum posuere justo et dolor condimentum feugiat. Sed at magna nunc. Suspendisse est nunc, ultrices sed enim lobortis, vulputate rutrum mauris. Fusce ultrices eget erat blandit porta. Sed eros nulla, tristique eget porta a, viverra vel velit. Praesent sit amet odio eleifend, tempor arcu ut, elementum tellus. Suspendisse lorem tortor, sodales eget nulla a, rhoncus lobortis magna. Phasellus purus ante, rhoncus a ipsum nec, condimentum lacinia purus. Cras lobortis posuere nisi, vitae dapibus ante feugiat et. Quisque ornare nisi quis erat congue viverra. Vestibulum a nunc odio.
Sed id venenatis tortor. Curabitur sit amet mauris eget mi semper rutrum vel et odio. Phasellus eu sapien in sem ultricies pretium eu sit amet magna. Nulla finibus nec lorem ac semper. Nulla eleifend eros id fringilla pellentesque. Proin eleifend, sem vel lobortis viverra, massa augue viverra felis, quis ultricies sapien ipsum at magna. Duis rutrum tempus lobortis. Aliquam quis nulla eget velit viverra pretium. Maecenas venenatis nec nisl at pulvinar. Duis in sodales lectus, ac porta augue.
Sed sed ante aliquam, rutrum nisl quis, fermentum tellus. Proin ac leo molestie, euismod mauris sed, consequat nunc. Vivamus ut leo a nunc pharetra accumsan a non lorem. Aliquam iaculis mattis augue, in eleifend est accumsan vel. Pellentesque efficitur pulvinar leo vel ornare. Pellentesque non fermentum enim, ut efficitur elit. Duis risus quam, congue vel nulla a, blandit egestas erat. Suspendisse at sodales dolor. Vivamus auctor, lorem et ultrices venenatis, erat ex mollis nisi, quis maximus libero quam a libero.
Curabitur elit lacus, bibendum non tempus a, bibendum sit amet ante. Mauris eget nibh quis leo rhoncus consequat. Integer iaculis sed sapien eu pellentesque. In aliquet elementum lorem, ut consequat elit ultrices id. Phasellus vestibulum ex ex, ac sagittis tortor convallis et. Curabitur placerat id lectus at aliquam. Morbi sed nisl sem. Nam sit amet arcu maximus, volutpat nisl ac, dignissim neque. Etiam nec efficitur libero. Quisque tristique pulvinar est, eget dictum ex vehicula non. Nam dignissim non felis a iaculis. Nullam vel dolor vitae libero aliquet congue. Donec mi eros, semper non lectus at, commodo ullamcorper ligula. Donec commodo, sem vel lacinia porttitor, elit orci maximus felis, eget eleifend est velit id lorem.
</div>
</section>
<script>
setup({explicit_done:true});
window.onload = function () {
var section = document.getElementById("section");
test(function () {
assert_equals(section.scrollTop, 0, "initial scrollTop should be 0");
assert_equals(section.scrollLeft, 0, "initial scrollLeft should be 0");
section.scrollTop = 30;
section.scrollLeft = 40;
assert_equals(section.scrollTop, 30, "changed scrollTop should be 40");
assert_equals(section.scrollLeft, 40, "changed scrollLeft should be 40");
}, "Element scrollTop/Left getter/setter test");
test(function () {
section.scroll(50, 60);
assert_equals(section.scrollLeft, 50, "changed scrollLeft should be 60");
assert_equals(section.scrollTop, 60, "changed scrollTop should be 50");
}, "Element scroll test");
test(function () {
section.scrollTo(80, 70);
assert_equals(section.scrollLeft, 80, "changed scrollLeft should be 70");
assert_equals(section.scrollTop, 70, "changed scrollTop should be 80");
}, "Element scrollTo test");
test(function () {
var left = section.scrollLeft;
var top = section.scrollTop;
section.scrollBy(10, 20);
assert_equals(section.scrollLeft, left + 10, "increment of scrollLeft should be 10")
assert_equals(section.scrollTop, top + 20, "increment of scrollTop should be 20")
})
test(function () {
section.scrollTop = 1000;
section.scrollLeft = 1000;
assert_equals(section.scrollTop, 636, "changed scrollTop should be 636");
assert_equals(section.scrollLeft, 100, "changed scrollLeft should be 100");
}, "Element scroll maximum test");
done();
};
</script>

View File

@ -1,3 +1,9 @@
@deepak-sa
@sgrekhov
@alsemenov
@deepak-sa
@domenic
@dominiccooney
@hayatoito
@kojiishi
@rniwa
@sgrekhov
@takayoshikochi

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