Sync web-platform-tests up to revision 5ca8b46
authoryouenn.fablet@crf.canon.fr <youenn.fablet@crf.canon.fr@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Feb 2016 08:55:07 +0000 (08:55 +0000)
committeryouenn.fablet@crf.canon.fr <youenn.fablet@crf.canon.fr@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Feb 2016 08:55:07 +0000 (08:55 +0000)
https://bugs.webkit.org/show_bug.cgi?id=154678

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* resources/ImportExpectations: Unskipped some tests (already imported tests) and skipped new tests added to WPT repo.
* resources/TestRepositories: Update revision to 5ca8b46.
* resources/web-platform-tests-modules.json:
* web-platform-tests/XMLHttpRequest/FormData-append-expected.txt:
* web-platform-tests/XMLHttpRequest/FormData-append.html:
* web-platform-tests/XMLHttpRequest/OWNERS: Added.
* web-platform-tests/XMLHttpRequest/event-readystate-sync-open-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/event-readystate-sync-open.htm: Added.
* web-platform-tests/XMLHttpRequest/formdata-delete-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/formdata-delete.htm: Added.
* web-platform-tests/XMLHttpRequest/formdata-get-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/formdata-get.htm: Added.
* web-platform-tests/XMLHttpRequest/formdata-has-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/formdata-has.htm: Added.
* web-platform-tests/XMLHttpRequest/formdata-set-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/formdata-set.htm: Added.
* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync-expected.txt:
* web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync.htm:
* web-platform-tests/XMLHttpRequest/open-url-encoding-expected.txt:
* web-platform-tests/XMLHttpRequest/open-url-encoding.htm:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm:
* web-platform-tests/XMLHttpRequest/responsexml-get-twice-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/responsexml-get-twice.htm: Added.
* web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/common/OWNERS: Added.
* web-platform-tests/common/w3c-import.log:
* web-platform-tests/dom/OWNERS: Added.
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml: Added.
* web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
* web-platform-tests/dom/nodes/Document-createEvent.html:
* web-platform-tests/dom/nodes/MutationObserver-childList-expected.txt:
* web-platform-tests/dom/nodes/Node-isEqualNode-expected.txt:
* web-platform-tests/dom/w3c-import.log:
* web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt:
* web-platform-tests/domparsing/OWNERS: Added.
* web-platform-tests/domparsing/w3c-import.log:
* web-platform-tests/fetch/OWNERS: Added.
* web-platform-tests/fetch/api/headers/headers-combine-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-nameshake-expected.txt.
* web-platform-tests/fetch/api/headers/headers-combine.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-nameshake.html.
* web-platform-tests/fetch/api/headers/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/domparsing/w3c-import.log.
* web-platform-tests/fetch/api/request/request-clone.sub.html:
* web-platform-tests/fetch/api/request/request-consume.html:
* web-platform-tests/fetch/api/request/request-error-expected.txt:
* web-platform-tests/fetch/api/request/request-error.html:
* web-platform-tests/fetch/api/request/request-idl-expected.txt:
* web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
* web-platform-tests/fetch/api/request/request-init-001.sub.html:
* web-platform-tests/fetch/api/request/request-init-003.sub.html:
* web-platform-tests/fetch/api/request/w3c-import.log: Added.
* web-platform-tests/fetch/api/resources/method.py:
(main):
* web-platform-tests/fetch/api/resources/utils.js:
(checkRequest):
(readTextStream):
* web-platform-tests/fetch/api/resources/w3c-import.log: Added.
* web-platform-tests/fetch/api/response/response-clone.html:
* web-platform-tests/fetch/api/response/response-consume.html:
* web-platform-tests/fetch/api/response/response-error-expected.txt:
* web-platform-tests/fetch/api/response/response-error.html:
* web-platform-tests/fetch/api/response/response-idl-expected.txt:
* web-platform-tests/fetch/api/response/response-idl.html:
* web-platform-tests/fetch/api/response/response-init-002.html:
* web-platform-tests/fetch/api/response/response-static-error.html:
* web-platform-tests/fetch/api/response/response-static-redirect-expected.txt:
* web-platform-tests/fetch/api/response/response-static-redirect.html:
* web-platform-tests/fetch/api/response/w3c-import.log: Added.
* web-platform-tests/fetch/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/w3c-import.log.
* web-platform-tests/html/OWNERS: Added.
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces.html:
* web-platform-tests/html/dom/w3c-import.log:
* web-platform-tests/html/semantics/document-metadata/the-base-element/base_multiple.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/historical-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/historical.html:
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-media-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-media.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-input-element/checkbox.html:
* web-platform-tests/html/semantics/forms/the-input-element/radio.html:
* web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html:
* web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-expected.txt: Added.
* web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio.html: Added.
* web-platform-tests/html/semantics/selectors/pseudo-classes/w3c-import.log:
* web-platform-tests/html/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/w3c-import.log.
* web-platform-tests/images/OWNERS: Added.
* web-platform-tests/images/w3c-import.log:
* web-platform-tests/lint.whitelist:
* web-platform-tests/media/OWNERS: Added.
* web-platform-tests/media/w3c-import.log:
* web-platform-tests/service-workers/OWNERS: Added.
* web-platform-tests/service-workers/cache-storage/OWNERS: Added.
* web-platform-tests/service-workers/cache-storage/resources/credentials-iframe.html: Added.
* web-platform-tests/service-workers/cache-storage/resources/credentials-worker.js: Added.
(assert_equals):
(self.onfetch):
(self.onmessage):
* web-platform-tests/service-workers/cache-storage/resources/test-helpers.js:
(response.new.Response):
(assert_response_equals):
(assert_response_array_equivalent):
(assert_response_array_equals):
(assert_response_in_array):
* web-platform-tests/service-workers/cache-storage/resources/testharness-helpers.js:
* web-platform-tests/service-workers/cache-storage/resources/w3c-import.log:
* web-platform-tests/service-workers/cache-storage/script-tests/cache-add.js:
(cache_test):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js:
(request.new.Request.entries.a.request.clone):
(return.cache.match.entries.non_2xx_response.request.url.then):
(return.cache.match.entries.error_response.request.url.then):
(return.cache.match.string_appeared_here.then): Deleted.
(return.cache.match.entries.a.request.url.then): Deleted.
(return.cache.match.entries.a.request.then): Deleted.
(return.cache.match.new.Request.entries.a.request.url.then): Deleted.
(then): Deleted.
(return.cache.match.entries.cat.request.url.string_appeared_here.then): Deleted.
(cache_test): Deleted.
(return.cache.match.request.then): Deleted.
* web-platform-tests/service-workers/cache-storage/script-tests/cache-matchAll.js: Added.
(return.cache.matchAll.string_appeared_here.then):
(return.cache.matchAll.entries.a.request.url.then):
(return.cache.matchAll.entries.a.request.then):
(return.cache.matchAll.new.Request.entries.a.request.url.then):
(then):
(return.cache.matchAll.entries.cat.request.url.string_appeared_here.then):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js:
(cache_test):
* web-platform-tests/service-workers/cache-storage/script-tests/cache-storage.js:
(promise_test):
* web-platform-tests/service-workers/cache-storage/script-tests/w3c-import.log:
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html:
* web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html.
* web-platform-tests/service-workers/cache-storage/serviceworker/credentials.html: Added.
* web-platform-tests/service-workers/cache-storage/serviceworker/w3c-import.log:
* web-platform-tests/service-workers/cache-storage/w3c-import.log:
* web-platform-tests/service-workers/cache-storage/window/cache-match.https.html:
* web-platform-tests/service-workers/cache-storage/window/cache-matchAll.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/window/cache-match.https.html.
* web-platform-tests/service-workers/cache-storage/window/w3c-import.log:
* web-platform-tests/service-workers/cache-storage/worker/cache-match.https.html:
* web-platform-tests/service-workers/cache-storage/worker/cache-matchAll.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/worker/cache-match.https.html.
* web-platform-tests/service-workers/cache-storage/worker/w3c-import.log:
* web-platform-tests/service-workers/w3c-import.log:
* web-platform-tests/streams/README.txt: Removed.
* web-platform-tests/streams/byte-length-queuing-strategy.https-expected.txt: Added.
* web-platform-tests/streams/byte-length-queuing-strategy.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/byte-length-queuing-strategy.html.
* web-platform-tests/streams/byte-length-queuing-strategy.js:
(test):
* web-platform-tests/streams/count-queuing-strategy.https-expected.txt: Added.
* web-platform-tests/streams/count-queuing-strategy.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.html.
* web-platform-tests/streams/count-queuing-strategy.js:
(test):
* web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-strategies.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.html.
* web-platform-tests/streams/readable-streams/bad-strategies.js:
(get string_appeared_here):
(test):
(promise_test):
* web-platform-tests/streams/readable-streams/bad-underlying-sources.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.html.
* web-platform-tests/streams/readable-streams/brand-checks.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/brand-checks.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.html.
* web-platform-tests/streams/readable-streams/cancel.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/cancel.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.html.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.html.
* web-platform-tests/streams/readable-streams/garbage-collection.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/garbage-collection.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.html.
* web-platform-tests/streams/readable-streams/general.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/general.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.html.
* web-platform-tests/streams/readable-streams/general.js:
(test):
(promise_test):
* web-platform-tests/streams/readable-streams/pipe-through.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/pipe-through.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.html.
* web-platform-tests/streams/readable-streams/readable-stream-reader.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/readable-stream-reader.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.html.
* web-platform-tests/streams/readable-streams/readable-stream-reader.js:
(test):
* web-platform-tests/streams/readable-streams/tee.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/tee.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/tee.html.
* web-platform-tests/streams/readable-streams/templated.https-expected.txt: Added.
* web-platform-tests/streams/readable-streams/templated.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.html.
* web-platform-tests/streams/readable-streams/w3c-import.log: Added.
* web-platform-tests/streams/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/domparsing/w3c-import.log.
* web-platform-tests/streams/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/w3c-import.log.

LayoutTests:

* platform/mac/TestExpectations: Renaming test filenames, and adding test expectation to area-coords.html.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@197162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

160 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/ImportExpectations
LayoutTests/imported/w3c/resources/TestRepositories
LayoutTests/imported/w3c/resources/web-platform-tests-modules.json
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/FormData-append-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/FormData-append.html
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystate-sync-open-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystate-sync-open.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-delete-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-delete.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-get-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-get.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-has-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-has.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-set-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-set.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync.htm
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/open-url-encoding-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/open-url-encoding.htm
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-get-twice-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-get-twice.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/common/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/common/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/dom/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html
LayoutTests/imported/w3c/web-platform-tests/dom/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt
LayoutTests/imported/w3c/web-platform-tests/domparsing/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/domparsing/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/fetch/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-combine-expected.txt [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-nameshake-expected.txt with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-combine.html [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-nameshake.html with 76% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-consume.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-error-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-error.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-idl-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/method.py
LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/utils.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-clone.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-error-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-error.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-idl-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-idl.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-init-002.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-error.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-redirect-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-redirect.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces.html
LayoutTests/imported/w3c/web-platform-tests/html/dom/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-base-element/base_multiple.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/historical-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/historical.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-media-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-media.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/checkbox.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/images/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/images/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/lint.whitelist
LayoutTests/imported/w3c/web-platform-tests/media/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/media/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/service-workers/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/resources/credentials-iframe.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/resources/credentials-worker.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/resources/test-helpers.js
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/resources/testharness-helpers.js
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/resources/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/script-tests/cache-add.js
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/script-tests/cache-matchAll.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/script-tests/cache-storage.js
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/script-tests/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/credentials.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/window/cache-match.https.html
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/window/cache-matchAll.https.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/window/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/worker/cache-match.https.html
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/worker/cache-matchAll.https.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/worker/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/service-workers/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/streams/README.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/streams/byte-length-queuing-strategy.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/byte-length-queuing-strategy.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/byte-length-queuing-strategy.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/byte-length-queuing-strategy.js
LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.js
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.js
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.js
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.js
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/tee.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/tee.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/tee.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.https-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.https.html [moved from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.html with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/resources/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/streams/w3c-import.log [new file with mode: 0644]
LayoutTests/platform/mac/TestExpectations

index 5f5e2dd..e69e37a 100644 (file)
@@ -1,3 +1,12 @@
+2016-02-26  Youenn Fablet  <youenn.fablet@crf.canon.fr>
+
+        Sync web-platform-tests up to revision 5ca8b46
+        https://bugs.webkit.org/show_bug.cgi?id=154678
+
+        Reviewed by Chris Dumez.
+
+        * platform/mac/TestExpectations: Renaming test filenames, and adding test expectation to area-coords.html.
+
 2016-02-25  Myles C. Maxfield  <mmaxfield@apple.com>
 
         Font size computed style is innaccurate
index 1b66fda..250b251 100644 (file)
@@ -295,6 +295,7 @@ webkit.org/b/154310 [ Debug ] imported/w3c/web-platform-tests/html/dom/reflectio
 imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document.htm [ Pass Failure ]
 imported/w3c/web-platform-tests/dom/nodes/MutationObserver-childList.html [ Timeout ]
 imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace.html [ Pass Failure ]
+imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html [ Pass Failure Crash ]
 
 # W3C XMLHttpRequest tests
 imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted.html [ Slow ]
index 3f99189..139807f 100644 (file)
@@ -1,3 +1,212 @@
+2016-02-26  Youenn Fablet  <youenn.fablet@crf.canon.fr>
+
+        Sync web-platform-tests up to revision 5ca8b46
+        https://bugs.webkit.org/show_bug.cgi?id=154678
+
+        Reviewed by Chris Dumez.
+
+        * resources/ImportExpectations: Unskipped some tests (already imported tests) and skipped new tests added to WPT repo.
+        * resources/TestRepositories: Update revision to 5ca8b46.
+        * resources/web-platform-tests-modules.json:
+        * web-platform-tests/XMLHttpRequest/FormData-append-expected.txt:
+        * web-platform-tests/XMLHttpRequest/FormData-append.html:
+        * web-platform-tests/XMLHttpRequest/OWNERS: Added.
+        * web-platform-tests/XMLHttpRequest/event-readystate-sync-open-expected.txt: Added.
+        * web-platform-tests/XMLHttpRequest/event-readystate-sync-open.htm: Added.
+        * web-platform-tests/XMLHttpRequest/formdata-delete-expected.txt: Added.
+        * web-platform-tests/XMLHttpRequest/formdata-delete.htm: Added.
+        * web-platform-tests/XMLHttpRequest/formdata-get-expected.txt: Added.
+        * web-platform-tests/XMLHttpRequest/formdata-get.htm: Added.
+        * web-platform-tests/XMLHttpRequest/formdata-has-expected.txt: Added.
+        * web-platform-tests/XMLHttpRequest/formdata-has.htm: Added.
+        * web-platform-tests/XMLHttpRequest/formdata-set-expected.txt: Added.
+        * web-platform-tests/XMLHttpRequest/formdata-set.htm: Added.
+        * web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
+        * web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync-expected.txt:
+        * web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync.htm:
+        * web-platform-tests/XMLHttpRequest/open-url-encoding-expected.txt:
+        * web-platform-tests/XMLHttpRequest/open-url-encoding.htm:
+        * web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
+        * web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm:
+        * web-platform-tests/XMLHttpRequest/responsexml-get-twice-expected.txt: Added.
+        * web-platform-tests/XMLHttpRequest/responsexml-get-twice.htm: Added.
+        * web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
+        * web-platform-tests/XMLHttpRequest/w3c-import.log:
+        * web-platform-tests/common/OWNERS: Added.
+        * web-platform-tests/common/w3c-import.log:
+        * web-platform-tests/dom/OWNERS: Added.
+        * web-platform-tests/dom/interfaces-expected.txt:
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html: Added.
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg: Added.
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml: Added.
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml: Added.
+        * web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
+        * web-platform-tests/dom/nodes/Document-createEvent.html:
+        * web-platform-tests/dom/nodes/MutationObserver-childList-expected.txt:
+        * web-platform-tests/dom/nodes/Node-isEqualNode-expected.txt:
+        * web-platform-tests/dom/w3c-import.log:
+        * web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt:
+        * web-platform-tests/domparsing/OWNERS: Added.
+        * web-platform-tests/domparsing/w3c-import.log:
+        * web-platform-tests/fetch/OWNERS: Added.
+        * web-platform-tests/fetch/api/headers/headers-combine-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-nameshake-expected.txt.
+        * web-platform-tests/fetch/api/headers/headers-combine.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-nameshake.html.
+        * web-platform-tests/fetch/api/headers/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/domparsing/w3c-import.log.
+        * web-platform-tests/fetch/api/request/request-clone.sub.html:
+        * web-platform-tests/fetch/api/request/request-consume.html:
+        * web-platform-tests/fetch/api/request/request-error-expected.txt:
+        * web-platform-tests/fetch/api/request/request-error.html:
+        * web-platform-tests/fetch/api/request/request-idl-expected.txt:
+        * web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
+        * web-platform-tests/fetch/api/request/request-init-001.sub.html:
+        * web-platform-tests/fetch/api/request/request-init-003.sub.html:
+        * web-platform-tests/fetch/api/request/w3c-import.log: Added.
+        * web-platform-tests/fetch/api/resources/method.py:
+        (main):
+        * web-platform-tests/fetch/api/resources/utils.js:
+        (checkRequest):
+        (readTextStream):
+        * web-platform-tests/fetch/api/resources/w3c-import.log: Added.
+        * web-platform-tests/fetch/api/response/response-clone.html:
+        * web-platform-tests/fetch/api/response/response-consume.html:
+        * web-platform-tests/fetch/api/response/response-error-expected.txt:
+        * web-platform-tests/fetch/api/response/response-error.html:
+        * web-platform-tests/fetch/api/response/response-idl-expected.txt:
+        * web-platform-tests/fetch/api/response/response-idl.html:
+        * web-platform-tests/fetch/api/response/response-init-002.html:
+        * web-platform-tests/fetch/api/response/response-static-error.html:
+        * web-platform-tests/fetch/api/response/response-static-redirect-expected.txt:
+        * web-platform-tests/fetch/api/response/response-static-redirect.html:
+        * web-platform-tests/fetch/api/response/w3c-import.log: Added.
+        * web-platform-tests/fetch/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/w3c-import.log.
+        * web-platform-tests/html/OWNERS: Added.
+        * web-platform-tests/html/dom/interfaces-expected.txt:
+        * web-platform-tests/html/dom/interfaces.html:
+        * web-platform-tests/html/dom/w3c-import.log:
+        * web-platform-tests/html/semantics/document-metadata/the-base-element/base_multiple.html:
+        * web-platform-tests/html/semantics/embedded-content/media-elements/historical-expected.txt:
+        * web-platform-tests/html/semantics/embedded-content/media-elements/historical.html:
+        * web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords-expected.txt: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document-expected.txt: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe-expected.txt: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log:
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/update-media-expected.txt: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/update-media.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
+        * web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
+        * web-platform-tests/html/semantics/forms/the-input-element/checkbox.html:
+        * web-platform-tests/html/semantics/forms/the-input-element/radio.html:
+        * web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html:
+        * web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio-expected.txt: Added.
+        * web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate-radio.html: Added.
+        * web-platform-tests/html/semantics/selectors/pseudo-classes/w3c-import.log:
+        * web-platform-tests/html/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/w3c-import.log.
+        * web-platform-tests/images/OWNERS: Added.
+        * web-platform-tests/images/w3c-import.log:
+        * web-platform-tests/lint.whitelist:
+        * web-platform-tests/media/OWNERS: Added.
+        * web-platform-tests/media/w3c-import.log:
+        * web-platform-tests/service-workers/OWNERS: Added.
+        * web-platform-tests/service-workers/cache-storage/OWNERS: Added.
+        * web-platform-tests/service-workers/cache-storage/resources/credentials-iframe.html: Added.
+        * web-platform-tests/service-workers/cache-storage/resources/credentials-worker.js: Added.
+        (assert_equals):
+        (self.onfetch):
+        (self.onmessage):
+        * web-platform-tests/service-workers/cache-storage/resources/test-helpers.js:
+        (response.new.Response):
+        (assert_response_equals):
+        (assert_response_array_equivalent):
+        (assert_response_array_equals):
+        (assert_response_in_array):
+        * web-platform-tests/service-workers/cache-storage/resources/testharness-helpers.js:
+        * web-platform-tests/service-workers/cache-storage/resources/w3c-import.log:
+        * web-platform-tests/service-workers/cache-storage/script-tests/cache-add.js:
+        (cache_test):
+        * web-platform-tests/service-workers/cache-storage/script-tests/cache-match.js:
+        (request.new.Request.entries.a.request.clone):
+        (return.cache.match.entries.non_2xx_response.request.url.then):
+        (return.cache.match.entries.error_response.request.url.then):
+        (return.cache.match.string_appeared_here.then): Deleted.
+        (return.cache.match.entries.a.request.url.then): Deleted.
+        (return.cache.match.entries.a.request.then): Deleted.
+        (return.cache.match.new.Request.entries.a.request.url.then): Deleted.
+        (then): Deleted.
+        (return.cache.match.entries.cat.request.url.string_appeared_here.then): Deleted.
+        (cache_test): Deleted.
+        (return.cache.match.request.then): Deleted.
+        * web-platform-tests/service-workers/cache-storage/script-tests/cache-matchAll.js: Added.
+        (return.cache.matchAll.string_appeared_here.then):
+        (return.cache.matchAll.entries.a.request.url.then):
+        (return.cache.matchAll.entries.a.request.then):
+        (return.cache.matchAll.new.Request.entries.a.request.url.then):
+        (then):
+        (return.cache.matchAll.entries.cat.request.url.string_appeared_here.then):
+        * web-platform-tests/service-workers/cache-storage/script-tests/cache-put.js:
+        (cache_test):
+        * web-platform-tests/service-workers/cache-storage/script-tests/cache-storage.js:
+        (promise_test):
+        * web-platform-tests/service-workers/cache-storage/script-tests/w3c-import.log:
+        * web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html:
+        * web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html.
+        * web-platform-tests/service-workers/cache-storage/serviceworker/credentials.html: Added.
+        * web-platform-tests/service-workers/cache-storage/serviceworker/w3c-import.log:
+        * web-platform-tests/service-workers/cache-storage/w3c-import.log:
+        * web-platform-tests/service-workers/cache-storage/window/cache-match.https.html:
+        * web-platform-tests/service-workers/cache-storage/window/cache-matchAll.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/window/cache-match.https.html.
+        * web-platform-tests/service-workers/cache-storage/window/w3c-import.log:
+        * web-platform-tests/service-workers/cache-storage/worker/cache-match.https.html:
+        * web-platform-tests/service-workers/cache-storage/worker/cache-matchAll.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/worker/cache-match.https.html.
+        * web-platform-tests/service-workers/cache-storage/worker/w3c-import.log:
+        * web-platform-tests/service-workers/w3c-import.log:
+        * web-platform-tests/streams/README.txt: Removed.
+        * web-platform-tests/streams/byte-length-queuing-strategy.https-expected.txt: Added.
+        * web-platform-tests/streams/byte-length-queuing-strategy.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/byte-length-queuing-strategy.html.
+        * web-platform-tests/streams/byte-length-queuing-strategy.js:
+        (test):
+        * web-platform-tests/streams/count-queuing-strategy.https-expected.txt: Added.
+        * web-platform-tests/streams/count-queuing-strategy.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/count-queuing-strategy.html.
+        * web-platform-tests/streams/count-queuing-strategy.js:
+        (test):
+        * web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/bad-strategies.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.html.
+        * web-platform-tests/streams/readable-streams/bad-strategies.js:
+        (get string_appeared_here):
+        (test):
+        (promise_test):
+        * web-platform-tests/streams/readable-streams/bad-underlying-sources.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/bad-underlying-sources.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-underlying-sources.html.
+        * web-platform-tests/streams/readable-streams/brand-checks.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/brand-checks.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/brand-checks.html.
+        * web-platform-tests/streams/readable-streams/cancel.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/cancel.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/cancel.html.
+        * web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.html.
+        * web-platform-tests/streams/readable-streams/garbage-collection.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/garbage-collection.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/garbage-collection.html.
+        * web-platform-tests/streams/readable-streams/general.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/general.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.html.
+        * web-platform-tests/streams/readable-streams/general.js:
+        (test):
+        (promise_test):
+        * web-platform-tests/streams/readable-streams/pipe-through.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/pipe-through.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/pipe-through.html.
+        * web-platform-tests/streams/readable-streams/readable-stream-reader.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/readable-stream-reader.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/readable-stream-reader.html.
+        * web-platform-tests/streams/readable-streams/readable-stream-reader.js:
+        (test):
+        * web-platform-tests/streams/readable-streams/tee.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/tee.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/tee.html.
+        * web-platform-tests/streams/readable-streams/templated.https-expected.txt: Added.
+        * web-platform-tests/streams/readable-streams/templated.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.html.
+        * web-platform-tests/streams/readable-streams/w3c-import.log: Added.
+        * web-platform-tests/streams/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/domparsing/w3c-import.log.
+        * web-platform-tests/streams/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/w3c-import.log.
+
 2016-02-25  Youenn Fablet  <youenn.fablet@crf.canon.fr>
 
         Move streams tests from web-platform-tests/streams-api to web-platform-tests/streams
index c1bf382..3862169 100644 (file)
@@ -71,12 +71,11 @@ web-platform-tests/animation-timing [ Skip ]
 web-platform-tests/app-uri [ Skip ]
 web-platform-tests/battery-status [ Skip ]
 web-platform-tests/content-security-policy [ Skip ]
+web-platform-tests/cookies [Skip]
 web-platform-tests/cors [ Skip ]
 web-platform-tests/custom-elements [ Skip ]
 web-platform-tests/cssom-view [ Skip ]
 #web-platform-tests/dom [ Import ]
-web-platform-tests/dom/collections/domstringmap-supported-property-names.html [ Skip ]
-web-platform-tests/dom/collections/namednodemap-supported-property-names.html [ Skip ]
 web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-svg.svg [ Skip ]
 web-platform-tests/dom/nodes/Element-nextElementSibling-svg.svg [ Skip ]
 web-platform-tests/dom/nodes/Element-lastElementChild-svg.svg [ Skip ]
@@ -88,7 +87,6 @@ web-platform-tests/dom/nodes/Element-siblingElement-null-svg.svg [ Skip ]
 web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg [ Skip ]
 web-platform-tests/dom/nodes/Element-firstElementChild-namespace-svg.svg [ Skip ]
 web-platform-tests/dom/nodes/Element-previousElementSibling-svg.svg [ Skip ]
-web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html [ Skip ]
 web-platform-tests/dom/nodes/Document-createProcessingInstruction.xhtml [ Skip ]
 web-platform-tests/dom/nodes/Document-getElementsByTagName.xhtml [ Skip ]
 web-platform-tests/dom/nodes/Element-childElement-null.svg [ Skip ]
@@ -110,10 +108,8 @@ web-platform-tests/dom/nodes/Element-nextElementSibling.svg [ Skip ]
 web-platform-tests/dom/nodes/Element-previousElementSibling.svg [ Skip ]
 web-platform-tests/dom/nodes/Element-siblingElement-null.svg [ Skip ]
 web-platform-tests/dom/nodes/Element-siblingElement-null.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Node-contains.xml [ Skip ]
 web-platform-tests/dom/nodes/Node-nodeName.xhtml [ Skip ]
 web-platform-tests/dom/nodes/ParentNode-querySelector-All.xht [ Skip ]
-web-platform-tests/dom/ranges/Range-constructor.html [ Skip ]
 web-platform-tests/dom/traversal/unfinished [ Skip ]
 #web-platform-tests/domparsing [ Import ]
 web-platform-tests/domparsing/DOMParser-parseFromString-xml.html [ Skip ]
@@ -123,34 +119,30 @@ web-platform-tests/editing [ Skip ]
 web-platform-tests/encoding [ Skip ]
 web-platform-tests/eventsource [ Skip ]
 web-platform-tests/ext-xhtml-pubid [ Skip ]
-web-platform-tests/fetch [ Skip ]
+#web-platform-tests/fetch [ Import ]
+web-platform-tests/fetch/api/basic [ Skip ]
+web-platform-tests/fetch/api/cors [ Skip ]
+web-platform-tests/fetch/api/credentials [ Skip ]
+web-platform-tests/fetch/api/policies [ Skip ]
+web-platform-tests/fetch/api/redirect [ Skip ]
+web-platform-tests/fetch/nosniff [ Skip ]
 web-platform-tests/geolocation-API [ Skip ]
 web-platform-tests/gamepad [ Skip ]
 web-platform-tests/hr-time [ Skip ]
 #web-platform-tests/html [ Import ]
 web-platform-tests/html/browsers [ Skip ]
 web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript.sub.html [ Skip ]
-web-platform-tests/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03.html [ Skip ]
-web-platform-tests/html/dom/reflection-embedded.html [ Skip ]
-web-platform-tests/html/dom/reflection-forms.html [ Skip ]
-web-platform-tests/html/dom/reflection-grouping.html [ Skip ]
-web-platform-tests/html/dom/reflection-metadata.html [ Skip ]
-web-platform-tests/html/dom/reflection-misc.html [ Skip ]
-web-platform-tests/html/dom/reflection-obsolete.html [ Skip ]
-web-platform-tests/html/dom/reflection-original.html [ Skip ]
-web-platform-tests/html/dom/reflection-sections.html [ Skip ]
-web-platform-tests/html/dom/reflection-tabular.html [ Skip ]
-web-platform-tests/html/dom/reflection-text.html [ Skip ]
+web-platform-tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters [ Skip ]
 web-platform-tests/html/editing [ Skip ]
 web-platform-tests/html/iana [ Skip ]
 web-platform-tests/html/infrastructure [ Skip ]
 web-platform-tests/html/obsolete [ Skip ]
+web-platform-tests/presentation-api [Skip]
 web-platform-tests/html/rendering [ Skip ]
 web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/ [ Skip ]
-web-platform-tests/html/semantics/document-metadata/styling/LinkStyle.html [ Skip ]
+web-platform-tests/html/semantics/embedded-content-0 [ Skip ]
 web-platform-tests/html/semantics/embedded-content/media-elements/error-codes [ Skip ]
 web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource [ Skip ]
-web-platform-tests/html/semantics/embedded-content/the-iframe-element [ Skip ]
 web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors [ Skip ]
 web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html [ Skip ]
 web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base.html [ Skip ]
@@ -171,13 +163,10 @@ web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_bas
 web-platform-tests/html/semantics/embedded-content/the-area-element/area_nohref.xhtml [ Skip ]
 web-platform-tests/html/semantics/embedded-content/the-area-element/test-area.xhtml [ Skip ]
 web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html [ Skip ]
+web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data [ Skip ]
 web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html [ Skip ]
-web-platform-tests/html/semantics/forms/form-submission-0/url-encoded.html [ Skip ]
 web-platform-tests/html/semantics/forms/textfieldselection/select-event.html [ Skip ]
 web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html [ Skip ]
-web-platform-tests/html/semantics/forms/the-input-element/maxlength.html [ Skip ]
-web-platform-tests/html/semantics/forms/the-option-element/option-selected.html [ Skip ]
-web-platform-tests/html/semantics/forms/the-select-element/select-ask-for-reset.html [ Skip ]
 web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html [ Skip ]
 web-platform-tests/html/semantics/scripting-1/the-script-element/async_001.htm [ Skip ]
 web-platform-tests/html/semantics/scripting-1/the-script-element/async_002.htm [ Skip ]
@@ -190,12 +179,9 @@ web-platform-tests/html/semantics/scripting-1/the-script-element/async_008.htm [
 web-platform-tests/html/semantics/scripting-1/the-script-element/async_009.htm [ Skip ]
 web-platform-tests/html/semantics/scripting-1/the-script-element/async_010.htm [ Skip ]
 web-platform-tests/html/semantics/scripting-1/the-script-element/async_011.htm [ Skip ]
+web-platform-tests/html/semantics/scripting-1/the-script-element/fetch-src [ Skip ]
 web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.xhtml [ Skip ]
 web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.xhtml [ Skip ]
-web-platform-tests/html/semantics/tabular-data/the-tbody-element/rows.html [ Skip ]
-web-platform-tests/html/semantics/tabular-data/the-tfoot-element [ Skip ]
-web-platform-tests/html/semantics/tabular-data/the-thead-element [ Skip ]
-web-platform-tests/html/semantics/tabular-data/the-tr-element/cells.html [ Skip ]
 web-platform-tests/html/syntax [ Skip ]
 web-platform-tests/html/tools [ Skip ]
 web-platform-tests/html/webappapis [ Skip ]
index f474161..fc99d87 100644 (file)
@@ -15,7 +15,7 @@
     {
         "name": "web-platform-tests",
         "url": "https://github.com/w3c/web-platform-tests.git", 
-        "revision": "5932fd48d519a83b4cca6ed69778547a4fdfc5ae",
+        "revision": "5ca8b46",
         "paths_to_skip": [
             "conformance-checkers",
             "docs",
index a9e2e80..fd3849b 100644 (file)
@@ -3,8 +3,8 @@
         "path": [
             "resources"
         ], 
-        "url": "https://github.com/w3c/testharness.js/archive/698441212391d5177b2f1806d97c7fd15cc46715.tar.gz", 
-        "url_subpath": "testharness.js-698441212391d5177b2f1806d97c7fd15cc46715"
+        "url": "https://github.com/w3c/testharness.js/archive/72dd67688097e7d310c64d3e524807d8bc34070c.tar.gz", 
+        "url_subpath": "testharness.js-72dd67688097e7d310c64d3e524807d8bc34070c"
     }, 
     {
         "path": [
@@ -28,8 +28,8 @@
         "path": [
             "tools"
         ], 
-        "url": "https://github.com/w3c/wpt-tools/archive/80bc792988aff1422f43b9e1d5909673eca960a2.tar.gz", 
-        "url_subpath": "wpt-tools-80bc792988aff1422f43b9e1d5909673eca960a2"
+        "url": "https://github.com/w3c/wpt-tools/archive/32d22b092f6975f839ce56af4ca0ca8b89dde2aa.tar.gz", 
+        "url_subpath": "wpt-tools-32d22b092f6975f839ce56af4ca0ca8b89dde2aa"
     }, 
     {
         "path": [
index e46d73d..f684317 100644 (file)
@@ -1,3 +1,16 @@
 
 PASS Passing a String object to FormData.append should work. 
+FAIL testFormDataAppend1 create_formdata(['key', 'value1']).get is not a function. (In 'create_formdata(['key', 'value1']).get('key')', 'create_formdata(['key', 'value1']).get' is undefined)
+FAIL testFormDataAppend2 create_formdata(['key', 'value2'], ['key', 'value1']).get is not a function. (In 'create_formdata(['key', 'value2'], ['key', 'value1']).get('key')', 'create_formdata(['key', 'value2'], ['key', 'value1']).get' is undefined)
+FAIL testFormDataAppendUndefined1 create_formdata(['key', undefined]).get is not a function. (In 'create_formdata(['key', undefined]).get('key')', 'create_formdata(['key', undefined]).get' is undefined)
+FAIL testFormDataAppendUndefined2 create_formdata(['key', undefined], ['key', 'value1']).get is not a function. (In 'create_formdata(['key', undefined], ['key', 'value1']).get('key')', 'create_formdata(['key', undefined], ['key', 'value1']).get' is undefined)
+FAIL testFormDataAppendNull1 create_formdata(['key', null]).get is not a function. (In 'create_formdata(['key', null]).get('key')', 'create_formdata(['key', null]).get' is undefined)
+FAIL testFormDataAppendNull2 create_formdata(['key', null], ['key', 'value1']).get is not a function. (In 'create_formdata(['key', null], ['key', 'value1']).get('key')', 'create_formdata(['key', null], ['key', 'value1']).get' is undefined)
+FAIL testFormDataAppendToForm1 fd.get is not a function. (In 'fd.get('key')', 'fd.get' is undefined)
+FAIL testFormDataAppendToForm2 fd.get is not a function. (In 'fd.get('key')', 'fd.get' is undefined)
+FAIL testFormDataAppendToFormUndefined1 fd.get is not a function. (In 'fd.get('key')', 'fd.get' is undefined)
+FAIL testFormDataAppendToFormUndefined2 fd.get is not a function. (In 'fd.get('key')', 'fd.get' is undefined)
+FAIL testFormDataAppendToFormNull1 fd.get is not a function. (In 'fd.get('key')', 'fd.get' is undefined)
+FAIL testFormDataAppendToFormNull2 fd.get is not a function. (In 'fd.get('key')', 'fd.get' is undefined)
+FAIL testFormDataAppendEmptyBlob create_formdata(['key', new Blob(), 'blank.txt']).get is not a function. (In 'create_formdata(['key', new Blob(), 'blank.txt']).get('key')', 'create_formdata(['key', new Blob(), 'blank.txt']).get' is undefined)
 
index f20009e..0b81acc 100644 (file)
@@ -1,28 +1,94 @@
 <!doctype html>
-<meta charset=utf-8>
+<meta charset="utf-8">
 <title>FormData.append</title>
-<link rel=help href=https://xhr.spec.whatwg.org/#dom-formdata-append>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
+<link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-append">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<form id="form" />
 <script>
-function test_formdata(creator, verifier, description) {
-  async_test(description).step(function() {
-    var fd = creator();
-    var xhr = new XMLHttpRequest();
-    xhr.onload = this.step_func(function() {
-      verifier(xhr.responseText);
-      this.done();
-    });
-    xhr.open("POST", "resources/upload.py");
-    xhr.send(fd);
-  })
-}
-test_formdata(function() {
-  var fd = new FormData();
-  fd.append("name", new String("value"));
-  return fd;
-}, function(data) {
-  assert_equals(data, "name=value,\n");
-}, "Passing a String object to FormData.append should work.");
+    function test_formdata(creator, verifier, description) {
+        async_test(description).step(function() {
+            var fd = creator();
+            var xhr = new XMLHttpRequest();
+            xhr.onload = this.step_func(function() {
+                verifier(xhr.responseText);
+                this.done();
+            });
+            xhr.open("POST", "resources/upload.py");
+            xhr.send(fd);
+        });
+    }
+
+    test_formdata(function() {
+        var fd = new FormData();
+        fd.append("name", new String("value"));
+        return fd;
+    }, function(data) {
+        assert_equals(data, "name=value,\n");
+    }, "Passing a String object to FormData.append should work.");
+
+    test(function() {
+        assert_equals(create_formdata(['key', 'value1']).get('key'), "value1");
+    }, 'testFormDataAppend1');
+    test(function() {
+        assert_equals(create_formdata(['key', 'value2'], ['key', 'value1']).get('key'), "value2");
+    }, 'testFormDataAppend2');
+    test(function() {
+        assert_equals(create_formdata(['key', undefined]).get('key'), "undefined");
+    }, 'testFormDataAppendUndefined1');
+    test(function() {
+        assert_equals(create_formdata(['key', undefined], ['key', 'value1']).get('key'), "undefined");
+    }, 'testFormDataAppendUndefined2');
+    test(function() {
+        assert_equals(create_formdata(['key', null]).get('key'), "null");
+    }, 'testFormDataAppendNull1');
+    test(function() {
+        assert_equals(create_formdata(['key', null], ['key', 'value1']).get('key'), "null");
+    }, 'testFormDataAppendNull2');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.append('key', 'value1');
+        assert_equals(fd.get('key'), "value1");
+    }, 'testFormDataAppendToForm1');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.append('key', 'value2');
+        fd.append('key', 'value1');
+        assert_equals(fd.get('key'), "value2");
+    }, 'testFormDataAppendToForm2');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.append('key', undefined);
+        assert_equals(fd.get('key'), "undefined");
+    }, 'testFormDataAppendToFormUndefined1');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.append('key', undefined);
+        fd.append('key', 'value1');
+        assert_equals(fd.get('key'), "undefined");
+    }, 'testFormDataAppendToFormUndefined2');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.append('key', null);
+        assert_equals(fd.get('key'), "null");
+    }, 'testFormDataAppendToFormNull1');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.append('key', null);
+        fd.append('key', 'value1');
+        assert_equals(fd.get('key'), "null");
+    }, 'testFormDataAppendToFormNull2');
+    test(function() {
+        assert_object_equals(create_formdata(['key', new Blob(), 'blank.txt']).get('key'),
+                             new File(new Blob(), 'blank.txt'));
+    }, 'testFormDataAppendEmptyBlob');
+
+    function create_formdata() {
+        var fd = new FormData();
+        for (var i = 0; i < arguments.length; i++) {
+            fd.append.apply(fd, arguments[i]);
+        };
+        return fd;
+    }
 </script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/OWNERS b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/OWNERS
new file mode 100644 (file)
index 0000000..7a809e7
--- /dev/null
@@ -0,0 +1,13 @@
+@ecoal95
+@hallvors
+@kangxu
+@caitp
+@Manishearth
+@plehegar
+@foolip
+@jungkees
+@ibelem
+@mathiasbynens
+@ronkorving
+@jdm
+@Ms2ger
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystate-sync-open-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystate-sync-open-expected.txt
new file mode 100644 (file)
index 0000000..765c952
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS XMLHttpRequest: open() call fires sync readystate event (sync) 
+PASS XMLHttpRequest: open() call fires sync readystate event (async) 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystate-sync-open.htm b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystate-sync-open.htm
new file mode 100644 (file)
index 0000000..ae9697e
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>XMLHttpRequest: open() call fires sync readystate event</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::ol[1]/li[13]/ol[1]/li[2]" />
+
+  </head>
+  <body>
+    <div id="log"></div>
+    <script>
+      test(function() {
+        var client = new XMLHttpRequest()
+        var eventsFired = []
+        client.onreadystatechange = function(){
+          eventsFired.push(client.readyState)
+        }
+        client.open('GET', "...", false)
+        assert_array_equals(eventsFired, [1])
+      }, document.title + ' (sync)')
+      test(function() {
+        var client = new XMLHttpRequest()
+        var eventsFired = []
+        client.onreadystatechange = function(){
+          eventsFired.push(client.readyState)
+        }
+        client.open('GET', "...", true)
+        assert_array_equals(eventsFired, [1])
+      }, document.title + ' (async)')
+    </script>
+  </body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-delete-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-delete-expected.txt
new file mode 100644 (file)
index 0000000..0833557
--- /dev/null
@@ -0,0 +1,9 @@
+
+FAIL testFormDataDelete fd.delete is not a function. (In 'fd.delete('key')', 'fd.delete' is undefined)
+FAIL testFormDataDeleteFromForm fd.delete is not a function. (In 'fd.delete('key')', 'fd.delete' is undefined)
+FAIL testFormDataDeleteFromFormNonExistentKey fd.delete is not a function. (In 'fd.delete('nil')', 'fd.delete' is undefined)
+FAIL testFormDataDeleteFromFormOtherKey fd.delete is not a function. (In 'fd.delete('key1')', 'fd.delete' is undefined)
+FAIL testFormDataDeleteFromEmptyForm fd.delete is not a function. (In 'fd.delete('key')', 'fd.delete' is undefined)
+FAIL testFormDataDeleteNonExistentKey fd.delete is not a function. (In 'fd.delete('nil')', 'fd.delete' is undefined)
+FAIL testFormDataDeleteOtherKey fd.delete is not a function. (In 'fd.delete('key1')', 'fd.delete' is undefined)
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-delete.htm b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-delete.htm
new file mode 100644 (file)
index 0000000..283b44b
--- /dev/null
@@ -0,0 +1,65 @@
+<!doctype html>
+<html lang=en>
+<meta charset=utf-8>
+<title>FormData: delete</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-get" />
+    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-getall" />
+<div id="log"></div>
+<form id="form1">
+    <input type="hidden" name="key" value="value1">
+    <input type="hidden" name="key" value="value2">
+</form>
+<form id="form2">
+    <input type="hidden" name="key1" value="value1">
+    <input type="hidden" name="key2" value="value2">
+</form>
+<form id="empty-form" />
+<script>
+    test(function() {
+        var fd = create_formdata(['key', 'value1'], ['key', 'value2']);
+        fd.delete('key');
+        assert_equals(fd.get('key'), null);
+    }, 'testFormDataDelete');
+    test(function() {
+        var fd = new FormData(document.getElementById('form1'));
+        fd.delete('key');
+        assert_equals(fd.get('key'), null);
+    }, 'testFormDataDeleteFromForm');
+    test(function() {
+        var fd = new FormData(document.getElementById('form1'));
+        fd.delete('nil');
+        assert_equals(fd.get('key'), 'value1');
+    }, 'testFormDataDeleteFromFormNonExistentKey');
+    test(function() {
+        var fd = new FormData(document.getElementById('form2'));
+        fd.delete('key1');
+        assert_equals(fd.get('key1'), null);
+        assert_equals(fd.get('key2'), 'value2');
+    }, 'testFormDataDeleteFromFormOtherKey');
+    test(function() {
+        var fd = new FormData(document.getElementById('empty-form'));
+        fd.delete('key');
+        assert_equals(fd.get('key'), null);
+    }, 'testFormDataDeleteFromEmptyForm');
+    test(function() {
+        var fd = create_formdata(['key', 'value1'], ['key', 'value2']);
+        fd.delete('nil');
+        assert_equals(fd.get('key'), 'value1');
+    }, 'testFormDataDeleteNonExistentKey');
+    test(function() {
+        var fd = create_formdata(['key1', 'value1'], ['key2', 'value2']);
+        fd.delete('key1');
+        assert_equals(fd.get('key1'), null);
+        assert_equals(fd.get('key2'), 'value2');
+    }, 'testFormDataDeleteOtherKey');
+
+    function create_formdata() {
+        var fd = new FormData();
+        for (var i = 0; i < arguments.length; i++) {
+            fd.append.apply(fd, arguments[i]);
+        };
+        return fd;
+    }
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-get-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-get-expected.txt
new file mode 100644 (file)
index 0000000..f9a6ba9
--- /dev/null
@@ -0,0 +1,14 @@
+
+FAIL testFormDataGet create_formdata(['key', 'value1'], ['key', 'value2']).get is not a function. (In 'create_formdata(['key', 'value1'], ['key', 'value2']).get('key')', 'create_formdata(['key', 'value1'], ['key', 'value2']).get' is undefined)
+FAIL testFormDataGetFromForm new FormData(document.getElementById('form')).get is not a function. (In 'new FormData(document.getElementById('form')).get('key')', 'new FormData(document.getElementById('form')).get' is undefined)
+FAIL testFormDataGetFromFormNull new FormData(document.getElementById('form')).get is not a function. (In 'new FormData(document.getElementById('form')).get('nil')', 'new FormData(document.getElementById('form')).get' is undefined)
+FAIL testFormDataGetFromEmptyForm new FormData(document.getElementById('empty-form')).get is not a function. (In 'new FormData(document.getElementById('empty-form')).get('key')', 'new FormData(document.getElementById('empty-form')).get' is undefined)
+FAIL testFormDataGetNull1 create_formdata(['key', 'value1'], ['key', 'value2']).get is not a function. (In 'create_formdata(['key', 'value1'], ['key', 'value2']).get('nil')', 'create_formdata(['key', 'value1'], ['key', 'value2']).get' is undefined)
+FAIL testFormDataGetNull2 create_formdata().get is not a function. (In 'create_formdata().get('key')', 'create_formdata().get' is undefined)
+FAIL testFormDataGetAll create_formdata(['key', 'value1'], ['key', 'value2']).getAll is not a function. (In 'create_formdata(['key', 'value1'], ['key', 'value2']).getAll('key')', 'create_formdata(['key', 'value1'], ['key', 'value2']).getAll' is undefined)
+FAIL testFormDataGetAllEmpty1 create_formdata(['key', 'value1'], ['key', 'value2']).getAll is not a function. (In 'create_formdata(['key', 'value1'], ['key', 'value2']).getAll('nil')', 'create_formdata(['key', 'value1'], ['key', 'value2']).getAll' is undefined)
+FAIL testFormDataGetAllEmpty2 create_formdata().getAll is not a function. (In 'create_formdata().getAll('key')', 'create_formdata().getAll' is undefined)
+FAIL testFormDataGetAllFromForm new FormData(document.getElementById('form')).getAll is not a function. (In 'new FormData(document.getElementById('form')).getAll('key')', 'new FormData(document.getElementById('form')).getAll' is undefined)
+FAIL testFormDataGetAllFromFormNull new FormData(document.getElementById('form')).getAll is not a function. (In 'new FormData(document.getElementById('form')).getAll('nil')', 'new FormData(document.getElementById('form')).getAll' is undefined)
+FAIL testFormDataGetAllFromEmptyForm new FormData(document.getElementById('empty-form')).getAll is not a function. (In 'new FormData(document.getElementById('empty-form')).getAll('key')', 'new FormData(document.getElementById('empty-form')).getAll' is undefined)
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-get.htm b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-get.htm
new file mode 100644 (file)
index 0000000..b71a72f
--- /dev/null
@@ -0,0 +1,60 @@
+<!doctype html>
+<html lang=en>
+<meta charset=utf-8>
+<title>FormData: get and getAll</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-get" />
+    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-getall" />
+<div id="log"></div>
+<form id="form">
+    <input type="hidden" name="key" value="value1">
+    <input type="hidden" name="key" value="value2">
+</form>
+<form id="empty-form" />
+<script>
+    test(function() {
+        assert_equals(create_formdata(['key', 'value1'], ['key', 'value2']).get('key'), "value1");
+    }, 'testFormDataGet');
+    test(function() {
+        assert_equals(new FormData(document.getElementById('form')).get('key'), "value1");
+    }, 'testFormDataGetFromForm');
+    test(function() {
+        assert_equals(new FormData(document.getElementById('form')).get('nil'), null);
+    }, 'testFormDataGetFromFormNull');
+    test(function() {
+        assert_equals(new FormData(document.getElementById('empty-form')).get('key'), null);
+    }, 'testFormDataGetFromEmptyForm');
+    test(function() {
+        assert_equals(create_formdata(['key', 'value1'], ['key', 'value2']).get('nil'), null);
+    }, 'testFormDataGetNull1');
+    test(function() {
+        assert_equals(create_formdata().get('key'), null);
+    }, 'testFormDataGetNull2');
+    test(function() {
+        assert_array_equals(create_formdata(['key', 'value1'], ['key', 'value2']).getAll('key'), ["value1", "value2"]);
+    }, 'testFormDataGetAll');
+    test(function() {
+        assert_array_equals(create_formdata(['key', 'value1'], ['key', 'value2']).getAll('nil'), []);
+    }, 'testFormDataGetAllEmpty1');
+    test(function() {
+        assert_array_equals(create_formdata().getAll('key'), []);
+    }, 'testFormDataGetAllEmpty2');
+    test(function() {
+        assert_array_equals(new FormData(document.getElementById('form')).getAll('key'), ["value1", "value2"]);
+    }, 'testFormDataGetAllFromForm');
+    test(function() {
+        assert_array_equals(new FormData(document.getElementById('form')).getAll('nil'), []);
+    }, 'testFormDataGetAllFromFormNull');
+    test(function() {
+        assert_array_equals(new FormData(document.getElementById('empty-form')).getAll('key'), []);
+    }, 'testFormDataGetAllFromEmptyForm');
+
+    function create_formdata() {
+        var fd = new FormData();
+        for (var i = 0; i < arguments.length; i++) {
+            fd.append.apply(fd, arguments[i]);
+        };
+        return fd;
+    }
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-has-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-has-expected.txt
new file mode 100644 (file)
index 0000000..ec06042
--- /dev/null
@@ -0,0 +1,8 @@
+
+FAIL testFormDataHas create_formdata(['key', 'value1'], ['key', 'value2']).has is not a function. (In 'create_formdata(['key', 'value1'], ['key', 'value2']).has('key')', 'create_formdata(['key', 'value1'], ['key', 'value2']).has' is undefined)
+FAIL testFormDataHasFromForm new FormData(document.getElementById('form')).has is not a function. (In 'new FormData(document.getElementById('form')).has('key')', 'new FormData(document.getElementById('form')).has' is undefined)
+FAIL testFormDataHasFromFormNull new FormData(document.getElementById('form')).has is not a function. (In 'new FormData(document.getElementById('form')).has('nil')', 'new FormData(document.getElementById('form')).has' is undefined)
+FAIL testFormDataHasFromEmptyForm new FormData(document.getElementById('empty-form')).has is not a function. (In 'new FormData(document.getElementById('empty-form')).has('key')', 'new FormData(document.getElementById('empty-form')).has' is undefined)
+FAIL testFormDataHasEmpty1 create_formdata(['key', 'value1'], ['key', 'value2']).has is not a function. (In 'create_formdata(['key', 'value1'], ['key', 'value2']).has('nil')', 'create_formdata(['key', 'value1'], ['key', 'value2']).has' is undefined)
+FAIL testFormDataHasEmpty2 create_formdata().has is not a function. (In 'create_formdata().has('key')', 'create_formdata().has' is undefined)
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-has.htm b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-has.htm
new file mode 100644 (file)
index 0000000..ecd22b4
--- /dev/null
@@ -0,0 +1,42 @@
+<!doctype html>
+<html lang=en>
+<meta charset=utf-8>
+<title>FormData: has</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-get" />
+    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-getall" />
+<div id="log"></div>
+<form id="form">
+    <input type="hidden" name="key" value="value1">
+    <input type="hidden" name="key" value="value2">
+</form>
+<form id="empty-form" />
+<script>
+    test(function() {
+        assert_equals(create_formdata(['key', 'value1'], ['key', 'value2']).has('key'), true);
+    }, 'testFormDataHas');
+    test(function() {
+        assert_equals(new FormData(document.getElementById('form')).has('key'), true);
+    }, 'testFormDataHasFromForm');
+    test(function() {
+        assert_equals(new FormData(document.getElementById('form')).has('nil'), false);
+    }, 'testFormDataHasFromFormNull');
+    test(function() {
+        assert_equals(new FormData(document.getElementById('empty-form')).has('key'), false);
+    }, 'testFormDataHasFromEmptyForm');
+    test(function() {
+        assert_equals(create_formdata(['key', 'value1'], ['key', 'value2']).has('nil'), false);
+    }, 'testFormDataHasEmpty1');
+    test(function() {
+        assert_equals(create_formdata().has('key'), false);
+    }, 'testFormDataHasEmpty2');
+
+    function create_formdata() {
+        var fd = new FormData();
+        for (var i = 0; i < arguments.length; i++) {
+            fd.append.apply(fd, arguments[i]);
+        };
+        return fd;
+    }
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-set-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-set-expected.txt
new file mode 100644 (file)
index 0000000..4098f16
--- /dev/null
@@ -0,0 +1,16 @@
+
+FAIL Passing a String object to FormData.set should work fd.set is not a function. (In 'fd.set("name", new String("value"))', 'fd.set' is undefined)
+FAIL testFormDataSet1 undefined is not an object (evaluating 'fd.set.apply')
+FAIL testFormDataSet2 undefined is not an object (evaluating 'fd.set.apply')
+FAIL testFormDataSetUndefined1 undefined is not an object (evaluating 'fd.set.apply')
+FAIL testFormDataSetUndefined2 undefined is not an object (evaluating 'fd.set.apply')
+FAIL testFormDataSetNull1 undefined is not an object (evaluating 'fd.set.apply')
+FAIL testFormDataSetNull2 undefined is not an object (evaluating 'fd.set.apply')
+FAIL testFormDataSetToForm1 fd.set is not a function. (In 'fd.set('key', 'value1')', 'fd.set' is undefined)
+FAIL testFormDataSetToForm2 fd.set is not a function. (In 'fd.set('key', 'value2')', 'fd.set' is undefined)
+FAIL testFormDataSetToFormUndefined1 fd.set is not a function. (In 'fd.set('key', undefined)', 'fd.set' is undefined)
+FAIL testFormDataSetToFormUndefined2 fd.set is not a function. (In 'fd.set('key', undefined)', 'fd.set' is undefined)
+FAIL testFormDataSetToFormNull1 fd.set is not a function. (In 'fd.set('key', null)', 'fd.set' is undefined)
+FAIL testFormDataSetToFormNull2 fd.set is not a function. (In 'fd.set('key', null)', 'fd.set' is undefined)
+FAIL testFormDataSetEmptyBlob undefined is not an object (evaluating 'fd.set.apply')
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-set.htm b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-set.htm
new file mode 100644 (file)
index 0000000..2ad33d9
--- /dev/null
@@ -0,0 +1,94 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>FormData: set</title>
+<link rel="help" href="https://xhr.spec.whatwg.org/#dom-formdata-set">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<form id="form" />
+<script>
+    function test_formdata(creator, verifier, description) {
+        async_test(description).step(function() {
+            var fd = creator();
+            var xhr = new XMLHttpRequest();
+            xhr.onload = this.step_func(function() {
+                verifier(xhr.responseText);
+                this.done();
+            });
+            xhr.open("POST", "resources/upload.py");
+            xhr.send(fd);
+        });
+    }
+
+    test_formdata(function() {
+        var fd = new FormData();
+        fd.set("name", new String("value"));
+        return fd;
+    }, function(data) {
+        assert_equals(data, "name=value,\n");
+    }, "Passing a String object to FormData.set should work");
+
+    test(function() {
+        assert_equals(create_formdata(['key', 'value1']).get('key'), "value1");
+    }, 'testFormDataSet1');
+    test(function() {
+        assert_equals(create_formdata(['key', 'value2'], ['key', 'value1']).get('key'), "value1");
+    }, 'testFormDataSet2');
+    test(function() {
+        assert_equals(create_formdata(['key', undefined]).get('key'), "undefined");
+    }, 'testFormDataSetUndefined1');
+    test(function() {
+        assert_equals(create_formdata(['key', undefined], ['key', 'value1']).get('key'), "value1");
+    }, 'testFormDataSetUndefined2');
+    test(function() {
+        assert_equals(create_formdata(['key', null]).get('key'), "null");
+    }, 'testFormDataSetNull1');
+    test(function() {
+        assert_equals(create_formdata(['key', null], ['key', 'value1']).get('key'), "value1");
+    }, 'testFormDataSetNull2');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.set('key', 'value1');
+        assert_equals(fd.get('key'), "value1");
+    }, 'testFormDataSetToForm1');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.set('key', 'value2');
+        fd.set('key', 'value1');
+        assert_equals(fd.get('key'), "value1");
+    }, 'testFormDataSetToForm2');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.set('key', undefined);
+        assert_equals(fd.get('key'), "undefined");
+    }, 'testFormDataSetToFormUndefined1');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.set('key', undefined);
+        fd.set('key', 'value1');
+        assert_equals(fd.get('key'), "value1");
+    }, 'testFormDataSetToFormUndefined2');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.set('key', null);
+        assert_equals(fd.get('key'), "null");
+    }, 'testFormDataSetToFormNull1');
+    test(function() {
+        var fd = new FormData(document.getElementById("form"));
+        fd.set('key', null);
+        fd.set('key', 'value1');
+        assert_equals(fd.get('key'), "value1");
+    }, 'testFormDataSetToFormNull2');
+    test(function() {
+        assert_object_equals(create_formdata(['key', new Blob(), 'blank.txt']).get('key'),
+                             new File(new Blob(), 'blank.txt'));
+    }, 'testFormDataSetEmptyBlob');
+
+    function create_formdata() {
+        var fd = new FormData();
+        for (var i = 0; i < arguments.length; i++) {
+            fd.set.apply(fd, arguments[i]);
+        };
+        return fd;
+    }
+</script>
index f46c505..0ce909c 100644 (file)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: line 198: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
 XMLHttpRequest IDL tests
 
 
@@ -30,12 +30,12 @@ PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inh
 PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadend" with the proper type (6) 
 PASS EventTarget interface: (new XMLHttpRequest()).upload must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on (new XMLHttpRequest()).upload with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: (new XMLHttpRequest()).upload must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on (new XMLHttpRequest()).upload with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: (new XMLHttpRequest()).upload must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on (new XMLHttpRequest()).upload with too few arguments must throw TypeError 
 PASS XMLHttpRequest interface: existence and properties of interface object 
@@ -115,12 +115,12 @@ PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit prop
 PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadend" with the proper type (6) 
 PASS EventTarget interface: new XMLHttpRequest() must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on new XMLHttpRequest() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: new XMLHttpRequest() must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on new XMLHttpRequest() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: new XMLHttpRequest() must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on new XMLHttpRequest() with too few arguments must throw TypeError 
 PASS FormData interface: existence and properties of interface object 
@@ -140,12 +140,12 @@ PASS FormData must be primary interface of new FormData()
 PASS Stringification of new FormData() 
 PASS FormData interface: new FormData() must inherit property "append" with the proper type (0) 
 FAIL FormData interface: calling append(USVString,Blob,USVString) on new FormData() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS FormData interface: new FormData() must inherit property "append" with the proper type (1) 
 FAIL FormData interface: calling append(USVString,USVString) on new FormData() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 FAIL FormData interface: new FormData() must inherit property "delete" with the proper type (2) assert_inherits: property "delete" not found in prototype chain
 FAIL FormData interface: calling delete(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "delete" not found in prototype chain
 FAIL FormData interface: new FormData() must inherit property "get" with the proper type (3) assert_inherits: property "get" not found in prototype chain
@@ -162,12 +162,12 @@ PASS FormData must be primary interface of new FormData(form)
 PASS Stringification of new FormData(form) 
 PASS FormData interface: new FormData(form) must inherit property "append" with the proper type (0) 
 FAIL FormData interface: calling append(USVString,Blob,USVString) on new FormData(form) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS FormData interface: new FormData(form) must inherit property "append" with the proper type (1) 
 FAIL FormData interface: calling append(USVString,USVString) on new FormData(form) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 FAIL FormData interface: new FormData(form) must inherit property "delete" with the proper type (2) assert_inherits: property "delete" not found in prototype chain
 FAIL FormData interface: calling delete(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "delete" not found in prototype chain
 FAIL FormData interface: new FormData(form) must inherit property "get" with the proper type (3) assert_inherits: property "get" not found in prototype chain
index 8ae474b..c326d18 100644 (file)
@@ -1,8 +1,8 @@
-CONSOLE MESSAGE: line 19: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
-CONSOLE MESSAGE: line 19: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
-CONSOLE MESSAGE: line 19: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
-CONSOLE MESSAGE: line 19: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
-CONSOLE MESSAGE: line 19: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
+CONSOLE MESSAGE: line 22: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
+CONSOLE MESSAGE: line 22: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
+CONSOLE MESSAGE: line 22: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
+CONSOLE MESSAGE: line 22: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
+CONSOLE MESSAGE: line 22: Synchronous HTTP(S) requests made from the window context cannot have XMLHttpRequest.responseType set.
 
 PASS XMLHttpRequest: open() sync request not allowed if responseType is set (arraybuffer) 
 PASS XMLHttpRequest: open() sync request not allowed if responseType is set (blob) 
index 543a139..0b4d814 100644 (file)
@@ -4,7 +4,7 @@
     <title>XMLHttpRequest: open() sync request not allowed if responseType is set</title>
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::ol[1]/li[4]" />
+    <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::ol[1]/li[10]" />
 
   </head>
   <body>
@@ -15,6 +15,9 @@
       function request(type) {
         test(function() {
           var client = new XMLHttpRequest()
+          client.onreadystatechange = this.step_func(function(){
+            assert_unreached('No events should fire here')
+          })
           client.responseType = type
           assert_throws("InvalidAccessError", function() { client.open('GET', "...", false) })
         }, document.title + " (" + type + ")")
index 90775fb..34dc364 100644 (file)
@@ -1,3 +1,4 @@
 
-FAIL XMLHttpRequest: open() - URL encoding assert_equals: expected "%C3%9F" but got "%DF"
+FAIL percent encode characters assert_equals: expected "%C3%9F" but got "%DF"
+FAIL lone surrogate should return U+FFFD assert_equals: expected "%EF%BF%BD" but got "%26%2355357%3B"
 
index a545d41..7acdac8 100644 (file)
     <script>
       test(function() {
         var client = new XMLHttpRequest()
-        client.open("GET", "resources/content.py?ß", false)
-        client.send(null)
+        client.open("GET", "resources/content.py?\u00DF", false) // This is the German "eszett" character
+        client.send()
         assert_equals(client.getResponseHeader("x-request-query"), "%C3%9F")
-      })
+      }, "percent encode characters");
+      test(function() {
+        var client = new XMLHttpRequest()
+        client.open("GET", "resources/content.py?\uD83D", false)
+        client.send()
+        assert_equals(client.getResponseHeader("x-request-query"), "%EF%BF%BD")
+      }, "lone surrogate should return U+FFFD");
     </script>
   </body>
 </html>
index 2e6a582..998a966 100644 (file)
@@ -15,7 +15,7 @@ FAIL forms assert_equals: expected (undefined) undefined but got (object) object
 PASS all 
 FAIL links assert_equals: expected (undefined) undefined but got (object) object "[object HTMLCollection]"
 PASS cookie 
-FAIL lastModified set according to HTTP header assert_true: responseXML.lastModified time shoud be equal to time in response Last-Modified header expected true got false
+FAIL lastModified set according to HTTP header assert_true: responseXML.lastModified time should be equal to time in response Last-Modified header expected true got false
 PASS cookie (after setting it) 
 PASS styleSheets 
 PASS implementation 
index ed53996..a1bdc8e 100644 (file)
@@ -43,7 +43,7 @@
       }
 
       test(function() {
-        assert_true((new Date(client.getResponseHeader('Last-Modified'))).getTime() == (new Date(client.responseXML.lastModified)).getTime(), 'responseXML.lastModified time shoud be equal to time in response Last-Modified header')
+        assert_true((new Date(client.getResponseHeader('Last-Modified'))).getTime() == (new Date(client.responseXML.lastModified)).getTime(), 'responseXML.lastModified time should be equal to time in response Last-Modified header')
       }, 'lastModified set according to HTTP header')
 
       test(function() {
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-get-twice-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-get-twice-expected.txt
new file mode 100644 (file)
index 0000000..fe9a581
--- /dev/null
@@ -0,0 +1,6 @@
+
+PASS Getting response, then response 
+PASS Getting responseXML, then responseXML 
+PASS Getting responseXML, then response 
+PASS Getting response, then responseXML 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-get-twice.htm b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-get-twice.htm
new file mode 100644 (file)
index 0000000..e86a6d5
--- /dev/null
@@ -0,0 +1,66 @@
+<!doctype html>
+<meta charset="utf-8">
+<title></title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+      async_test(function() {
+        var client = new XMLHttpRequest()
+        client.open("GET", "resources/well-formed.xml")
+        client.responseType = "document"
+        assert_equals(client.responseType, "document")
+        client.send()
+        client.onload = this.step_func_done(function() {
+          var first = client.response
+          var second = client.response
+          assert_not_equals(first, null)
+          assert_not_equals(second, null)
+          assert_equals(first, second)
+        })
+      }, "Getting response, then response")
+
+      async_test(function() {
+        var client = new XMLHttpRequest()
+        client.open("GET", "resources/well-formed.xml")
+        client.responseType = "document"
+        assert_equals(client.responseType, "document")
+        client.send()
+        client.onload = this.step_func_done(function() {
+          var first = client.responseXML
+          var second = client.responseXML
+          assert_not_equals(first, null)
+          assert_not_equals(second, null)
+          assert_equals(first, second)
+        })
+      }, "Getting responseXML, then responseXML")
+
+      async_test(function() {
+        var client = new XMLHttpRequest()
+        client.open("GET", "resources/well-formed.xml")
+        client.responseType = "document"
+        assert_equals(client.responseType, "document")
+        client.send()
+        client.onload = this.step_func_done(function() {
+          var first = client.responseXML
+          var second = client.response
+          assert_not_equals(first, null)
+          assert_not_equals(second, null)
+          assert_equals(first, second)
+        })
+      }, "Getting responseXML, then response")
+
+      async_test(function() {
+        var client = new XMLHttpRequest()
+        client.open("GET", "resources/well-formed.xml")
+        client.responseType = "document"
+        assert_equals(client.responseType, "document")
+        client.send()
+        client.onload = this.step_func_done(function() {
+          var first = client.response
+          var second = client.responseXML
+          assert_not_equals(first, null)
+          assert_not_equals(second, null)
+          assert_equals(first, second)
+        })
+      }, "Getting response, then responseXML")
+</script>
index 96ac13c..bd04814 100644 (file)
@@ -4,7 +4,7 @@ PASS XML document, windows-1252
 PASS HTML document, invalid UTF-8 
 PASS HTML document, shift-jis 
 PASS img tag 
-PASS plain text file 
 PASS image file 
+PASS plain text file 
 PASS empty div 
 
index c32b414..04bf2b6 100644 (file)
@@ -16,6 +16,7 @@ None
 ------------------------------------------------------------------------
 List of files:
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/FormData-append.html
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/OWNERS
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.html
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.js
@@ -40,11 +41,16 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-loadend.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-loadstart.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-progress.htm
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystate-sync-open.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-timeout.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/folder.txt
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-blob.htm
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-delete.htm
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-get.htm
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-has.htm
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-set.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/getallresponseheaders-cookies.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/getallresponseheaders-status.htm
@@ -107,6 +113,7 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsetype.html
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-basic.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-get-twice.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-media-type.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-non-document-types.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/responsexml-non-well-formed.htm
diff --git a/LayoutTests/imported/w3c/web-platform-tests/common/OWNERS b/LayoutTests/imported/w3c/web-platform-tests/common/OWNERS
new file mode 100644 (file)
index 0000000..1da08cf
--- /dev/null
@@ -0,0 +1,4 @@
+@zqzhang
+@foolip
+@dontcallmedom
+@deniak
index b823c49..9ec3364 100644 (file)
@@ -15,6 +15,7 @@ Property values requiring vendor prefixes:
 None
 ------------------------------------------------------------------------
 List of files:
+/LayoutTests/imported/w3c/web-platform-tests/common/OWNERS
 /LayoutTests/imported/w3c/web-platform-tests/common/blank.html
 /LayoutTests/imported/w3c/web-platform-tests/common/canvas-frame.css
 /LayoutTests/imported/w3c/web-platform-tests/common/canvas-index.css
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/OWNERS b/LayoutTests/imported/w3c/web-platform-tests/dom/OWNERS
new file mode 100644 (file)
index 0000000..fad4981
--- /dev/null
@@ -0,0 +1,6 @@
+@ayg
+@jdm
+@Ms2ger
+@plehegar
+@zcorpan
+@zqzhang
index d66e41d..f193538 100644 (file)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: line 198: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
 DOM IDL tests
 
 
@@ -47,8 +47,8 @@ PASS Event interface: document.createEvent("Event") must have own property "isTr
 PASS Event interface: document.createEvent("Event") must inherit property "timeStamp" with the proper type (15) 
 PASS Event interface: document.createEvent("Event") must inherit property "initEvent" with the proper type (16) 
 FAIL Event interface: calling initEvent(DOMString,boolean,boolean) on document.createEvent("Event") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Event must be primary interface of new Event("foo") 
 PASS Stringification of new Event("foo") 
 PASS Event interface: new Event("foo") must inherit property "type" with the proper type (0) 
@@ -69,8 +69,8 @@ PASS Event interface: new Event("foo") must have own property "isTrusted"
 PASS Event interface: new Event("foo") must inherit property "timeStamp" with the proper type (15) 
 PASS Event interface: new Event("foo") must inherit property "initEvent" with the proper type (16) 
 FAIL Event interface: calling initEvent(DOMString,boolean,boolean) on new Event("foo") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS CustomEvent interface: existence and properties of interface object 
 PASS CustomEvent interface object length 
 PASS CustomEvent interface object name 
@@ -83,8 +83,8 @@ PASS Stringification of new CustomEvent("foo")
 PASS CustomEvent interface: new CustomEvent("foo") must inherit property "detail" with the proper type (0) 
 PASS CustomEvent interface: new CustomEvent("foo") must inherit property "initCustomEvent" with the proper type (1) 
 FAIL CustomEvent interface: calling initCustomEvent(DOMString,boolean,boolean,any) on new CustomEvent("foo") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Event interface: new CustomEvent("foo") must inherit property "type" with the proper type (0) 
 PASS Event interface: new CustomEvent("foo") must inherit property "target" with the proper type (1) 
 PASS Event interface: new CustomEvent("foo") must inherit property "currentTarget" with the proper type (2) 
@@ -103,8 +103,8 @@ PASS Event interface: new CustomEvent("foo") must have own property "isTrusted"
 PASS Event interface: new CustomEvent("foo") must inherit property "timeStamp" with the proper type (15) 
 PASS Event interface: new CustomEvent("foo") must inherit property "initEvent" with the proper type (16) 
 FAIL Event interface: calling initEvent(DOMString,boolean,boolean) on new CustomEvent("foo") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: existence and properties of interface object 
 PASS EventTarget interface object length 
 PASS EventTarget interface object name 
@@ -142,12 +142,12 @@ PASS Stringification of document.body.children
 PASS HTMLCollection interface: document.body.children must inherit property "length" with the proper type (0) 
 PASS HTMLCollection interface: document.body.children must inherit property "item" with the proper type (1) 
 FAIL HTMLCollection interface: calling item(unsigned long) on document.body.children with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HTMLCollection interface: document.body.children must inherit property "namedItem" with the proper type (2) 
 FAIL HTMLCollection interface: calling namedItem(DOMString) on document.body.children with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS MutationObserver interface: existence and properties of interface object 
 PASS MutationObserver interface object length 
 PASS MutationObserver interface object name 
@@ -301,55 +301,55 @@ PASS Document interface: xmlDoc must inherit property "doctype" with the proper
 PASS Document interface: xmlDoc must inherit property "documentElement" with the proper type (10) 
 PASS Document interface: xmlDoc must inherit property "getElementsByTagName" with the proper type (11) 
 FAIL Document interface: calling getElementsByTagName(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "getElementsByTagNameNS" with the proper type (12) 
 FAIL Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "getElementsByClassName" with the proper type (13) 
 FAIL Document interface: calling getElementsByClassName(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "createElement" with the proper type (14) 
 PASS Document interface: calling createElement(DOMString) on xmlDoc with too few arguments must throw TypeError 
 PASS Document interface: xmlDoc must inherit property "createElementNS" with the proper type (15) 
 FAIL Document interface: calling createElementNS(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "createDocumentFragment" with the proper type (16) 
 PASS Document interface: xmlDoc must inherit property "createTextNode" with the proper type (17) 
 FAIL Document interface: calling createTextNode(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "createComment" with the proper type (18) 
 FAIL Document interface: calling createComment(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "createProcessingInstruction" with the proper type (19) 
 FAIL Document interface: calling createProcessingInstruction(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "importNode" with the proper type (20) 
 FAIL Document interface: calling importNode(Node,boolean) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: xmlDoc must inherit property "adoptNode" with the proper type (21) 
 FAIL Document interface: calling adoptNode(Node) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: xmlDoc must inherit property "createAttribute" with the proper type (22) 
 FAIL Document interface: calling createAttribute(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "createAttributeNS" with the proper type (23) 
 FAIL Document interface: calling createAttributeNS(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "createEvent" with the proper type (24) 
 FAIL Document interface: calling createEvent(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: xmlDoc must inherit property "createRange" with the proper type (25) 
 PASS Document interface: xmlDoc must inherit property "createNodeIterator" with the proper type (26) 
 PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on xmlDoc with too few arguments must throw TypeError 
@@ -357,8 +357,8 @@ PASS Document interface: xmlDoc must inherit property "createTreeWalker" with th
 PASS Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on xmlDoc with too few arguments must throw TypeError 
 PASS Document interface: xmlDoc must inherit property "getElementById" with the proper type (28) 
 FAIL Document interface: calling getElementById(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: xmlDoc must inherit property "children" with the proper type (29) 
 PASS Document interface: xmlDoc must inherit property "firstElementChild" with the proper type (30) 
 PASS Document interface: xmlDoc must inherit property "lastElementChild" with the proper type (31) 
@@ -406,8 +406,8 @@ PASS Node interface: xmlDoc must inherit property "cloneNode" with the proper ty
 PASS Node interface: calling cloneNode(boolean) on xmlDoc with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -416,28 +416,28 @@ PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINED_B
 PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: xmlDoc must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
 PASS Node interface: xmlDoc must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on xmlDoc with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc must inherit property "replaceChild" with the proper type (42) 
@@ -446,12 +446,12 @@ PASS Node interface: xmlDoc must inherit property "removeChild" with the proper
 PASS Node interface: calling removeChild(Node) on xmlDoc with too few arguments must throw TypeError 
 PASS EventTarget interface: xmlDoc must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: xmlDoc must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on xmlDoc with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: xmlDoc must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on xmlDoc with too few arguments must throw TypeError 
 PASS DOMImplementation interface: existence and properties of interface object 
@@ -467,12 +467,12 @@ PASS DOMImplementation must be primary interface of document.implementation
 PASS Stringification of document.implementation 
 PASS DOMImplementation interface: document.implementation must inherit property "createDocumentType" with the proper type (0) 
 FAIL DOMImplementation interface: calling createDocumentType(DOMString,DOMString,DOMString) on document.implementation with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: InvalidCharacterError: DOM Exception 5" ("InvalidCharacterError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: InvalidCharacterError: DOM Exception 5" ("InvalidCharacterError") expected object "TypeError" ("TypeError")
 PASS DOMImplementation interface: document.implementation must inherit property "createDocument" with the proper type (1) 
 FAIL DOMImplementation interface: calling createDocument(DOMString,DOMString,DocumentType) on document.implementation with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS DOMImplementation interface: document.implementation must inherit property "createHTMLDocument" with the proper type (2) 
 PASS DOMImplementation interface: calling createHTMLDocument(DOMString) on document.implementation with too few arguments must throw TypeError 
 PASS DOMImplementation interface: document.implementation must inherit property "hasFeature" with the proper type (3) 
@@ -496,8 +496,8 @@ PASS DocumentFragment must be primary interface of document.createDocumentFragme
 PASS Stringification of document.createDocumentFragment() 
 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "getElementById" with the proper type (0) 
 FAIL DocumentFragment interface: calling getElementById(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "children" with the proper type (1) 
 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "firstElementChild" with the proper type (2) 
 PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "lastElementChild" with the proper type (3) 
@@ -545,8 +545,8 @@ PASS Node interface: document.createDocumentFragment() must inherit property "cl
 PASS Node interface: calling cloneNode(boolean) on document.createDocumentFragment() with too few arguments must throw TypeError 
 PASS Node interface: document.createDocumentFragment() must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -555,28 +555,28 @@ PASS Node interface: document.createDocumentFragment() must inherit property "DO
 PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createDocumentFragment() must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createDocumentFragment() must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createDocumentFragment() must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createDocumentFragment() must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
 PASS Node interface: document.createDocumentFragment() must inherit property "replaceChild" with the proper type (42) 
@@ -585,12 +585,12 @@ PASS Node interface: document.createDocumentFragment() must inherit property "re
 PASS Node interface: calling removeChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
 PASS EventTarget interface: document.createDocumentFragment() must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createDocumentFragment() must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.createDocumentFragment() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createDocumentFragment() must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on document.createDocumentFragment() with too few arguments must throw TypeError 
 PASS DocumentType interface: existence and properties of interface object 
@@ -648,8 +648,8 @@ PASS Node interface: document.doctype must inherit property "cloneNode" with the
 PASS Node interface: calling cloneNode(boolean) on document.doctype with too few arguments must throw TypeError 
 PASS Node interface: document.doctype must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -658,28 +658,28 @@ PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_C
 PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: document.doctype must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.doctype must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.doctype must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.doctype must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.doctype must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.doctype must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
 PASS Node interface: document.doctype must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on document.doctype with too few arguments must throw TypeError 
 PASS Node interface: document.doctype must inherit property "replaceChild" with the proper type (42) 
@@ -688,12 +688,12 @@ PASS Node interface: document.doctype must inherit property "removeChild" with t
 PASS Node interface: calling removeChild(Node) on document.doctype with too few arguments must throw TypeError 
 PASS EventTarget interface: document.doctype must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.doctype must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.doctype with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.doctype must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on document.doctype with too few arguments must throw TypeError 
 PASS Element interface: existence and properties of interface object 
@@ -757,68 +757,68 @@ PASS Element interface: element must inherit property "hasAttributes" with the p
 PASS Element interface: element must inherit property "attributes" with the proper type (8) 
 PASS Element interface: element must inherit property "getAttribute" with the proper type (9) 
 FAIL Element interface: calling getAttribute(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "getAttributeNS" with the proper type (10) 
 FAIL Element interface: calling getAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "setAttribute" with the proper type (11) 
 FAIL Element interface: calling setAttribute(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "setAttributeNS" with the proper type (12) 
 FAIL Element interface: calling setAttributeNS(DOMString,DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "removeAttribute" with the proper type (13) 
 FAIL Element interface: calling removeAttribute(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "removeAttributeNS" with the proper type (14) 
 PASS Element interface: calling removeAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError 
 PASS Element interface: element must inherit property "hasAttribute" with the proper type (15) 
 PASS Element interface: calling hasAttribute(DOMString) on element with too few arguments must throw TypeError 
 PASS Element interface: element must inherit property "hasAttributeNS" with the proper type (16) 
 FAIL Element interface: calling hasAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "getAttributeNode" with the proper type (17) 
 FAIL Element interface: calling getAttributeNode(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "getAttributeNodeNS" with the proper type (18) 
 FAIL Element interface: calling getAttributeNodeNS(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "setAttributeNode" with the proper type (19) 
 FAIL Element interface: calling setAttributeNode(Attr) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
 PASS Element interface: element must inherit property "setAttributeNodeNS" with the proper type (20) 
 FAIL Element interface: calling setAttributeNodeNS(Attr) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
 PASS Element interface: element must inherit property "removeAttributeNode" with the proper type (21) 
 FAIL Element interface: calling removeAttributeNode(Attr) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
 PASS Element interface: element must inherit property "closest" with the proper type (22) 
 PASS Element interface: calling closest(DOMString) on element with too few arguments must throw TypeError 
 PASS Element interface: element must inherit property "matches" with the proper type (23) 
 PASS Element interface: calling matches(DOMString) on element with too few arguments must throw TypeError 
 PASS Element interface: element must inherit property "getElementsByTagName" with the proper type (24) 
 FAIL Element interface: calling getElementsByTagName(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "getElementsByTagNameNS" with the proper type (25) 
 FAIL Element interface: calling getElementsByTagNameNS(DOMString,DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "getElementsByClassName" with the proper type (26) 
 FAIL Element interface: calling getElementsByClassName(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: element must inherit property "children" with the proper type (27) 
 PASS Element interface: element must inherit property "firstElementChild" with the proper type (28) 
 PASS Element interface: element must inherit property "lastElementChild" with the proper type (29) 
@@ -875,8 +875,8 @@ PASS Node interface: element must inherit property "cloneNode" with the proper t
 PASS Node interface: calling cloneNode(boolean) on element with too few arguments must throw TypeError 
 PASS Node interface: element must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: element must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: element must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: element must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -885,28 +885,28 @@ PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINED_
 PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: element must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: element must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: element must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: element must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: element must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: element must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on element with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: element must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on element with too few arguments must throw TypeError 
 PASS Node interface: element must inherit property "replaceChild" with the proper type (42) 
@@ -915,12 +915,12 @@ PASS Node interface: element must inherit property "removeChild" with the proper
 PASS Node interface: calling removeChild(Node) on element with too few arguments must throw TypeError 
 PASS EventTarget interface: element must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: element must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on element with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: element must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on element with too few arguments must throw TypeError 
 PASS NamedNodeMap interface: existence and properties of interface object 
@@ -1047,8 +1047,8 @@ PASS Node interface: document.createTextNode("abc") must inherit property "clone
 PASS Node interface: calling cloneNode(boolean) on document.createTextNode("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createTextNode("abc") must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -1057,28 +1057,28 @@ PASS Node interface: document.createTextNode("abc") must inherit property "DOCUM
 PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createTextNode("abc") must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createTextNode("abc") must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createTextNode("abc") must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
 PASS Node interface: document.createTextNode("abc") must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createTextNode("abc") must inherit property "replaceChild" with the proper type (42) 
@@ -1087,12 +1087,12 @@ PASS Node interface: document.createTextNode("abc") must inherit property "remov
 PASS Node interface: calling removeChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
 PASS EventTarget interface: document.createTextNode("abc") must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createTextNode("abc") must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.createTextNode("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createTextNode("abc") must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on document.createTextNode("abc") with too few arguments must throw TypeError 
 PASS ProcessingInstruction interface: existence and properties of interface object 
@@ -1156,8 +1156,8 @@ PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inher
 PASS Node interface: calling cloneNode(boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -1166,28 +1166,28 @@ PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inher
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceChild" with the proper type (42) 
@@ -1196,12 +1196,12 @@ PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inher
 PASS Node interface: calling removeChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
 PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
 PASS Comment interface: existence and properties of interface object 
@@ -1263,8 +1263,8 @@ PASS Node interface: document.createComment("abc") must inherit property "cloneN
 PASS Node interface: calling cloneNode(boolean) on document.createComment("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createComment("abc") must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -1273,28 +1273,28 @@ PASS Node interface: document.createComment("abc") must inherit property "DOCUME
 PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createComment("abc") must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createComment("abc") must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createComment("abc") must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
 PASS Node interface: document.createComment("abc") must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on document.createComment("abc") with too few arguments must throw TypeError 
 PASS Node interface: document.createComment("abc") must inherit property "replaceChild" with the proper type (42) 
@@ -1303,12 +1303,12 @@ PASS Node interface: document.createComment("abc") must inherit property "remove
 PASS Node interface: calling removeChild(Node) on document.createComment("abc") with too few arguments must throw TypeError 
 PASS EventTarget interface: document.createComment("abc") must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createComment("abc") must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.createComment("abc") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createComment("abc") must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on document.createComment("abc") with too few arguments must throw TypeError 
 PASS Range interface: existence and properties of interface object 
@@ -1361,12 +1361,12 @@ PASS Range interface: document.createRange() must inherit property "collapsed" w
 PASS Range interface: document.createRange() must inherit property "commonAncestorContainer" with the proper type (5) 
 PASS Range interface: document.createRange() must inherit property "setStart" with the proper type (6) 
 FAIL Range interface: calling setStart(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Range interface: document.createRange() must inherit property "setEnd" with the proper type (7) 
 FAIL Range interface: calling setEnd(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Range interface: document.createRange() must inherit property "setStartBefore" with the proper type (8) 
 PASS Range interface: calling setStartBefore(Node) on document.createRange() with too few arguments must throw TypeError 
 PASS Range interface: document.createRange() must inherit property "setStartAfter" with the proper type (9) 
@@ -1398,12 +1398,12 @@ PASS Range interface: document.createRange() must inherit property "cloneRange"
 PASS Range interface: document.createRange() must inherit property "detach" with the proper type (26) 
 PASS Range interface: document.createRange() must inherit property "isPointInRange" with the proper type (27) 
 FAIL Range interface: calling isPointInRange(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Range interface: document.createRange() must inherit property "comparePoint" with the proper type (28) 
 FAIL Range interface: calling comparePoint(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: WrongDocumentError: DOM Exception 4" ("WrongDocumentError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: WrongDocumentError: DOM Exception 4" ("WrongDocumentError") expected object "TypeError" ("TypeError")
 PASS Range interface: document.createRange() must inherit property "intersectsNode" with the proper type (29) 
 PASS Range interface: calling intersectsNode(Node) on document.createRange() with too few arguments must throw TypeError 
 PASS Range must be primary interface of detachedRange 
@@ -1416,12 +1416,12 @@ PASS Range interface: detachedRange must inherit property "collapsed" with the p
 PASS Range interface: detachedRange must inherit property "commonAncestorContainer" with the proper type (5) 
 PASS Range interface: detachedRange must inherit property "setStart" with the proper type (6) 
 FAIL Range interface: calling setStart(Node,unsigned long) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Range interface: detachedRange must inherit property "setEnd" with the proper type (7) 
 FAIL Range interface: calling setEnd(Node,unsigned long) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Range interface: detachedRange must inherit property "setStartBefore" with the proper type (8) 
 PASS Range interface: calling setStartBefore(Node) on detachedRange with too few arguments must throw TypeError 
 PASS Range interface: detachedRange must inherit property "setStartAfter" with the proper type (9) 
@@ -1453,12 +1453,12 @@ PASS Range interface: detachedRange must inherit property "cloneRange" with the
 PASS Range interface: detachedRange must inherit property "detach" with the proper type (26) 
 PASS Range interface: detachedRange must inherit property "isPointInRange" with the proper type (27) 
 FAIL Range interface: calling isPointInRange(Node,unsigned long) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Range interface: detachedRange must inherit property "comparePoint" with the proper type (28) 
 FAIL Range interface: calling comparePoint(Node,unsigned long) on detachedRange with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: WrongDocumentError: DOM Exception 4" ("WrongDocumentError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: WrongDocumentError: DOM Exception 4" ("WrongDocumentError") expected object "TypeError" ("TypeError")
 PASS Range interface: detachedRange must inherit property "intersectsNode" with the proper type (29) 
 PASS Range interface: calling intersectsNode(Node) on detachedRange with too few arguments must throw TypeError 
 PASS NodeIterator interface: existence and properties of interface object 
index 1462c13..11a71c3 100644 (file)
@@ -72,4 +72,19 @@ PASS createEvent('uievents') should be initialized correctly.
 PASS UIEVENTS should be an alias for UIEvent. 
 PASS createEvent('UIEVENTS') should be initialized correctly. 
 PASS Should throw NOT_SUPPORTED_ERR for unrecognized arguments 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "AnimationEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "AnimationEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "DragEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "DragEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "ErrorEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "ErrorEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "FocusEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "FocusEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PointerEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PointerEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "TransitionEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "TransitionEvent" 
+FAIL Should throw NOT_SUPPORTED_ERR for non-legacy event interface "WheelEvent" assert_throws: function "function () {
+      var evt = document.createEvent(eventI..." did not throw
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "WheelEvent" 
 
index 3770451..38b9d1f 100644 (file)
@@ -52,4 +52,33 @@ test(function() {
     var evt = document.createEvent("U\u0131Event");
   });
 }, "Should throw NOT_SUPPORTED_ERR for unrecognized arguments");
+
+/*
+The following are event interfaces which do actually exist, but must still
+throw since they're absent from the table in the spec
+for document.createEvent().
+This list is not exhaustive.
+*/
+var someNonCreateableEvents = [
+  "AnimationEvent",
+  "DragEvent",
+  "ErrorEvent",
+  "FocusEvent",
+  "PointerEvent",
+  "TransitionEvent",
+  "WheelEvent"
+];
+someNonCreateableEvents.forEach(function (eventInterface) {
+  test(function () {
+    assert_throws("NOT_SUPPORTED_ERR", function () {
+      var evt = document.createEvent(eventInterface);
+    });
+  }, 'Should throw NOT_SUPPORTED_ERR for non-legacy event interface "' + eventInterface + '"');
+
+  test(function () {
+    assert_throws("NOT_SUPPORTED_ERR", function () {
+      var evt = document.createEvent(eventInterface + "s");
+    });
+  }, 'Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "' + eventInterface + '"');
+});
 </script>
index 5ffe1d9..fcc3fec 100644 (file)
@@ -15,6 +15,7 @@ Property values requiring vendor prefixes:
 None
 ------------------------------------------------------------------------
 List of files:
+/LayoutTests/imported/w3c/web-platform-tests/dom/OWNERS
 /LayoutTests/imported/w3c/web-platform-tests/dom/common.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/constants.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/historical.html
index 86039d0..b873f62 100644 (file)
@@ -3,8 +3,8 @@ PASS Parsing of id attribute
 PASS contentType 
 PASS characterSet 
 PASS inputEncoding 
-FAIL charset assert_equals: expected (string) "UTF-8" but got (undefined) undefined
-FAIL URL value assert_equals: The document must have a URL value equal to the URL of the active document. expected (string) "http://localhost:8800/domparsing/DOMParser-parseFromString-html.html" but got (object) null
+PASS charset 
+FAIL URL value assert_equals: The document must have a URL value equal to the URL of the active document. expected "http://localhost:8800/domparsing/DOMParser-parseFromString-html.html" but got "about:blank"
 PASS Location value 
 PASS DOMParser parses HTML tag soup with no problems 
 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/domparsing/OWNERS b/LayoutTests/imported/w3c/web-platform-tests/domparsing/OWNERS
new file mode 100644 (file)
index 0000000..113c79d
--- /dev/null
@@ -0,0 +1,5 @@
+@sideshowbarker
+@ChrisParis
+@deniak
+@jdm
+@Ms2ger
index 03b5f4f..f6af785 100644 (file)
@@ -16,4 +16,5 @@ None
 ------------------------------------------------------------------------
 List of files:
 /LayoutTests/imported/w3c/web-platform-tests/domparsing/DOMParser-parseFromString-html.html
+/LayoutTests/imported/w3c/web-platform-tests/domparsing/OWNERS
 /LayoutTests/imported/w3c/web-platform-tests/domparsing/insert-adjacent.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/OWNERS b/LayoutTests/imported/w3c/web-platform-tests/fetch/OWNERS
new file mode 100644 (file)
index 0000000..fbeac36
--- /dev/null
@@ -0,0 +1,2 @@
+@jdm
+@youennf
   </head>
   <body>
     <script>
-      var headerSeqNameshake = [["single", "singleValue"],
-                                ["double", "doubleValue1"],
-                                ["double", "doubleValue2"],
-                                ["triple", "tripleValue1"],
-                                ["triple", "tripleValue2"],
-                                ["triple", "tripleValue3"]
+      var headerSeqCombine = [["single", "singleValue"],
+                              ["double", "doubleValue1"],
+                              ["double", "doubleValue2"],
+                              ["triple", "tripleValue1"],
+                              ["triple", "tripleValue2"],
+                              ["triple", "tripleValue3"]
       ];
       var expectedDict = {"single": "singleValue",
                           "double": "doubleValue1, doubleValue2",
       };
 
       test(function() {
-        var headers = new Headers(headerSeqNameshake);
+        var headers = new Headers(headerSeqCombine);
         for (name in expectedDict)
           assert_equals(headers.get(name), expectedDict[name],
               "name: " + name + " has value: " + expectedDict[name]);
       }, "Create headers using same name for different values");
 
       test(function() {
-        var headers = new Headers(headerSeqNameshake);
+        var headers = new Headers(headerSeqCombine);
         for (name in expectedDict) {
           assert_true(headers.has(name), "name: " + name + " has value(s)");
           headers.delete(name);
@@ -39,7 +39,7 @@
       }, "Check delete and has methods when using same name for different values");
 
       test(function() {
-        var headers = new Headers(headerSeqNameshake);
+        var headers = new Headers(headerSeqCombine);
         for (name in expectedDict) {
           headers.set(name,"newSingleValue");
           assert_equals(headers.get(name), "newSingleValue", "name: " + name + " has value: newSingleValue");
@@ -47,7 +47,7 @@
       }, "Check set methods when called with already used name");
 
       test(function() {
-        var headers = new Headers(headerSeqNameshake);
+        var headers = new Headers(headerSeqCombine);
         for (name in expectedDict) {
           var value = headers.get(name);
           headers.append(name,"newSingleValue");
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/w3c-import.log
new file mode 100644 (file)
index 0000000..bd3a59a
--- /dev/null
@@ -0,0 +1,24 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in Webkit.
+Instead, create a pull request on the W3C CSS or WPT github:
+       https://github.com/w3c/csswg-test
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in Webkit to reimport
+
+Do NOT modify or remove this file
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-casing.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-combine.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-errors.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-idl.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-normalize.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-structure.html
index 9807e26..40beb65 100644 (file)
@@ -11,7 +11,7 @@
   </head>
   <body>
     <script>
-      var headers = new Headers( {"name" : "value"} );
+      var headers = new Headers({"name" : "value"});
       var emptyHeaders = new Headers();
 
       var initValuesDict = {"method" : "POST",
index 97df0fb..3c45ee6 100644 (file)
@@ -98,7 +98,7 @@
     var badJSONValues = ["undefined", "{", "a", "["];
     badJSONValues.forEach(function(value) {
       promise_test(function(test) {
-        var request = new Request("", {"method": "POST", "body": "{"});
+        var request = new Request("", {"method": "POST", "body": value});
         return promise_rejects(test, new SyntaxError(), request.json());
       }, "Trying to consume bad JSON text as JSON: '" + value + "'");
     });
index ba617ae..c65b333 100644 (file)
@@ -9,6 +9,10 @@ PASS RequestInit's method is invalid
 PASS RequestInit's method is forbidden 
 PASS RequestInit's mode is no-cors and method is not simple 
 PASS RequestInit's mode is no-cors and integrity is not empty 
+PASS Request should get its content-type from the init request 
+PASS Request should not get its content-type from the init request if init headers are provided 
+PASS Request should get its content-type from the body if none is provided 
+PASS Request should get its content-type from init headers if one is provided 
 PASS Bad referrerPolicy init parameter value 
 PASS Bad mode init parameter value 
 PASS Bad credentials init parameter value 
index 99ad695..51db737 100644 (file)
@@ -12,7 +12,7 @@
   <body>
     <script>
       test(function() {
-        assert_throws(new TypeError() , function() { new Request("", {"window" : "whatever"}); },
+        assert_throws(new TypeError() , function() { new Request("", {"window" : "http://test.url"}); },
           "Expect TypeError exception");
       },"RequestInit's window is not null");
 
                       "Expect TypeError exception");
       },"RequestInit's mode is no-cors and integrity is not empty");
 
+      test(function() {
+        var initialHeaders = new Headers([["Content-Type", "potato"]]);
+        var initialRequest = new Request("", {"headers" : initialHeaders});
+        var request = new Request(initialRequest);
+        assert_equals(request.headers.get("Content-Type"), "potato");
+      }, "Request should get its content-type from the init request");
+
+      test(function() {
+        var initialHeaders = new Headers([["Content-Type", "potato"]]);
+        var initialRequest = new Request("", {"headers" : initialHeaders});
+        var headers = new Headers([]);
+        var request = new Request(initialRequest, {"headers" : headers});
+        assert_false(request.headers.has("Content-Type"));
+      }, "Request should not get its content-type from the init request if init headers are provided");
+
+      test(function() {
+        var initialHeaders = new Headers([["Content-Type-Extra", "potato"]]);
+        var initialRequest = new Request("", {"headers" : initialHeaders, "body" : "this is my plate", "method" : "POST"});
+        var request = new Request(initialRequest);
+        assert_equals(request.headers.get("Content-Type"), "text/plain;charset=UTF-8");
+      }, "Request should get its content-type from the body if none is provided");
+
+      test(function() {
+        var initialHeaders = new Headers([["Content-Type", "potato"]]);
+        var initialRequest = new Request("", {"headers" : initialHeaders, "body" : "this is my plate", "method" : "POST"});
+        var request = new Request(initialRequest);
+        assert_equals(request.headers.get("Content-Type"), "potato");
+      }, "Request should get its content-type from init headers if one is provided");
+
       var parameters = ["referrerPolicy", "mode", "credentials", "cache", "redirect"];
       parameters.forEach(function(parameter) {
         test(function() {
           var options = { };
           options[parameter] = "BAD";
-          assert_throws(new TypeError(), () => new Request("", options));
+          assert_throws(new TypeError(), function() { new Request("", options); });
         },"Bad " + parameter +" init parameter value");
       });
     </script>
index baec249..3544c5b 100644 (file)
@@ -18,16 +18,11 @@ PASS Request interface: attribute redirect
 PASS Request interface: attribute integrity 
 PASS Request interface: operation clone() 
 PASS Request interface: attribute bodyUsed 
-FAIL Request interface: operation arrayBuffer() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
-FAIL Request interface: operation blob() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
-FAIL Request interface: operation formData() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
-FAIL Request interface: operation json() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
-FAIL Request interface: operation text() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
+PASS Request interface: operation arrayBuffer() 
+PASS Request interface: operation blob() 
+PASS Request interface: operation formData() 
+PASS Request interface: operation json() 
+PASS Request interface: operation text() 
 PASS Request must be primary interface of new Request("") 
 PASS Stringification of new Request("") 
 PASS Request interface: new Request("") must inherit property "method" with the proper type (0) 
index 8ef649d..a522091 100644 (file)
@@ -9,6 +9,7 @@ PASS Check method init value of head and associated getter
 PASS Check referrer init value of /relative/ressource and associated getter 
 PASS Check referrer init value of http://localhost:8800/relative/ressource?query=true#fragment and associated getter 
 PASS Check referrer init value of http://localhost:8800/ and associated getter 
+PASS Check referrer init value of about:client and associated getter 
 PASS Check referrer init value of  and associated getter 
 PASS Check referrerPolicy init value of  and associated getter 
 PASS Check referrerPolicy init value of no-referrer and associated getter 
index a8c36d9..92206b4 100644 (file)
       var referrers = {"givenValues" : ["/relative/ressource",
                                         "http://{{host}}:{{ports[http][0]}}/relative/ressource?query=true#fragment",
                                         "http://{{host}}:{{ports[http][0]}}/",
+                                        "about:client",
                                         ""
                                        ],
                        "expectedValues" : ["http://{{host}}:{{ports[http][0]}}/relative/ressource",
                                            "http://{{host}}:{{ports[http][0]}}/relative/ressource?query=true#fragment",
                                            "http://{{host}}:{{ports[http][0]}}/",
+                                           "about:client",
                                            ""
                                           ]
       };
index f39d4b3..41bafeb 100644 (file)
@@ -40,7 +40,7 @@
       };
 
       var expectedDefault = {"method" : "GET",
-                             "url" : location.ref,
+                             "url" : location.href,
                              "referrer" : "http://{{host}}:{{ports[http][0]}}/",
                              "referrerPolicy" : "",
                              "mode" : "cors",
                              "headers" : emptyHeaders
       };
 
-      var RequestDefault = new Request("");
-      var RequestInitialized = new Request("", initValuesDict);
+      var requestDefault = new Request("");
+      var requestInitialized = new Request("", initValuesDict);
 
       test(function() {
-        var requestToCheck = new Request(RequestInitialized);
+        var requestToCheck = new Request(requestInitialized);
         checkRequest(requestToCheck, expectedInitialized);
       }, "Check request values when initialized from Request");
 
       test(function() {
-        var requestToCheck = new Request(RequestDefault, initValuesDict);
+        var requestToCheck = new Request(requestDefault, initValuesDict);
         checkRequest(requestToCheck, expectedInitialized);
       }, "Check request values when initialized from Request and init values");
 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/w3c-import.log
new file mode 100644 (file)
index 0000000..ade2cdd
--- /dev/null
@@ -0,0 +1,26 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in Webkit.
+Instead, create a pull request on the W3C CSS or WPT github:
+       https://github.com/w3c/csswg-test
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in Webkit to reimport
+
+Do NOT modify or remove this file
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-consume.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-disturbed.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-error.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-idl.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-002.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-structure.html
index bac56de..db234f9 100644 (file)
@@ -8,4 +8,4 @@ def main(request, response):
         headers.append(("Access-Control-Expose-Headers", "x-request-method"))
 
     headers.append(("x-request-method", request.method))
-    return headers, ""
+    return headers, request.body
index 6f8cdfa..f943664 100644 (file)
@@ -15,9 +15,10 @@ function checkRequest(request, ExpectedValuesDict) {
   for (var attribute in ExpectedValuesDict) {
     switch(attribute) {
       case "headers":
-          for (var key in ExpectedValuesDict["headers"].keys())
-            assert_equals(request["headers"].get(key), ExpectedValuesDict["headers"].get(key),
-              "Check headers attribute has " + key + ":" + ExpectedValuesDict["headers"].get(key));
+        for (var key in ExpectedValuesDict["headers"].keys()) {
+          assert_equals(request["headers"].get(key), ExpectedValuesDict["headers"].get(key),
+            "Check headers attribute has " + key + ":" + ExpectedValuesDict["headers"].get(key));
+        }
         break;
 
       case "body":
@@ -52,6 +53,7 @@ function readTextStream(reader, asyncTest, expectedValue, retrievedText) {
       var decoder = new TextDecoder();
       retrievedText += decoder.decode(data.value);
       readTextStream(reader, asyncTest, expectedValue, retrievedText);
+      return;
     }
     asyncTest.step(function() {
       assert_equals(retrievedText, expectedValue, "Retrieve and verify stream");
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/w3c-import.log
new file mode 100644 (file)
index 0000000..5b626c3
--- /dev/null
@@ -0,0 +1,26 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in Webkit.
+Instead, create a pull request on the W3C CSS or WPT github:
+       https://github.com/w3c/csswg-test
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in Webkit to reimport
+
+Do NOT modify or remove this file
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/authentication.py
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/clean-stash.py
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/inspect-headers.py
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/method.py
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/preflight.py
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/redirect.py
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/top.txt
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/trickle.py
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/utils.js
index fd323e6..8afcf36 100644 (file)
@@ -41,7 +41,7 @@
           "Expect response.status is " + responseInit["status"]);
         assert_equals(clonedResponse.statusText, responseInit["statusText"],
           "Expect response.statusText is " + responseInit["statusText"]);
-        assert_equals(response.headers.get("name"), "value",
+        assert_equals(clonedResponse.headers.get("name"), "value",
           "Expect response.headers has name:value header");
       }, "Check Response's clone has the expected attribute values");
 
@@ -63,4 +63,4 @@
       }, "Cannot clone a disturbed response");
     </script>
   </body>
-</html>
+</html>
\ No newline at end of file
index 1de0321..14dcad7 100644 (file)
@@ -14,7 +14,7 @@
     function checkBodyText(response, expectedBody) {
       return response.text().then( function(bodyAsText) {
         assert_equals(bodyAsText, expectedBody, "Retrieve and verify response's body");
-        assert_true(response.bodyUsed === true, "body as text: bodyUsed turned true");
+        assert_true(response.bodyUsed, "body as text: bodyUsed turned true");
       });
     }
 
@@ -32,7 +32,7 @@
         });
         return promise.then(function(body) {
           assert_equals(body, expectedBody, "Retrieve and verify response's body");
-          assert_true(response.bodyUsed === true, "body as blob: bodyUsed turned true");
+          assert_true(response.bodyUsed, "body as blob: bodyUsed turned true");
         });
       });
     }
@@ -42,7 +42,7 @@
         var decoder = new TextDecoder("utf-8");
         var strBody = decoder.decode(bodyAsArrayBuffer);
         assert_equals(strBody, expectedBody, "Retrieve and verify response's body");
-        assert_true(response.bodyUsed === true, "body as arrayBuffer: bodyUsed turned true");
+        assert_true(response.bodyUsed, "body as arrayBuffer: bodyUsed turned true");
       });
     }
 
       return response.json().then(function(bodyAsJson) {
         var strBody = JSON.stringify(bodyAsJson)
         assert_equals(strBody, expectedBody, "Retrieve and verify response's body");
-        assert_true(response.bodyUsed === true, "body as json: bodyUsed turned true");
+        assert_true(response.bodyUsed, "body as json: bodyUsed turned true");
       });
     }
 
     function checkBodyFormData(response, expectedBody) {
       return response.formData().then(function(bodyAsFormData) {
-        for (var name of expectedBody.keys())
-          assert_equals(bodyAsFormData.get(name), expectedBody.get(name) , "Retrieve and verify response's body" );
-        assert_true(response.bodyUsed === true, "body as formData: bodyUsed turned true");
+        assert_true(bodyAsFormData instanceof FormData, "Should receive a FormData");
+        assert_true(response.bodyUsed, "body as formData: bodyUsed turned true");
      });
     }
 
     function checkResponseBody(body, bodyType, checkFunction) {
       promise_test(function(test) {
         var response = new Response(body);
-        assert_true(response.bodyUsed === false, "bodyUsed is false at init");
+        assert_false(response.bodyUsed, "bodyUsed is false at init");
         return checkFunction(response, body);
       }, "Consume response's body as " + bodyType);
     }
@@ -79,4 +78,4 @@
     checkResponseBody(formData, "formData", checkBodyFormData);
     </script>
   </body>
-</html>
\ No newline at end of file
+</html>
index 55c5710..cca69b3 100644 (file)
@@ -1,6 +1,14 @@
 
-PASS Throws RangeError when responseInit's status is invalid 
-FAIL Throws TypeError when responseInit's statusText is invalid assert_throws: Expect TypeError exception 
+PASS Throws RangeError when responseInit's status is 0 
+PASS Throws RangeError when responseInit's status is 100 
+PASS Throws RangeError when responseInit's status is 199 
+PASS Throws RangeError when responseInit's status is 600 
+PASS Throws RangeError when responseInit's status is 1000 
+FAIL Throws TypeError when responseInit's statusText is 
+ assert_throws: Expect TypeError exception 
  function "function () { new Response("", { "statusText" : statusTex..." did not throw
-PASS Throws TypeError when building a response with body and a null body status 
+FAIL Throws TypeError when responseInit's statusText is Ā assert_throws: Expect TypeError exception Ā function "function () { new Response("", { "statusText" : statusTex..." did not throw
+PASS Throws TypeError when building a response with body and a body status of 204 
+PASS Throws TypeError when building a response with body and a body status of 205 
+PASS Throws TypeError when building a response with body and a body status of 304 
 
index 1302452..1e68f6d 100644 (file)
   </head>
   <body>
     <script>
-      test(function() {
-        var invalidStatus = [0, 100, 199, 600, 1000];
-        invalidStatus.forEach(function(status) {
+      var invalidStatus = [0, 100, 199, 600, 1000];
+      invalidStatus.forEach(function(status) {
+        test(function() {
           assert_throws(new RangeError() , function() { new Response("", { "status" : status }); },
             "Expect RangeError exception when status is " + status);
-        });
-      },"Throws RangeError when responseInit's status is invalid");
+        },"Throws RangeError when responseInit's status is " + status);
+      });
 
-      test(function() {
-        var invalidStatusText = ["\n", "Ā"];
-        invalidStatusText.forEach(function(statusText) {
+      var invalidStatusText = ["\n", "Ā"];
+      invalidStatusText.forEach(function(statusText) {
+        test(function() {
           assert_throws(new TypeError() , function() { new Response("", { "statusText" : statusText }); },
             "Expect TypeError exception " + statusText);
-        });
-      },"Throws TypeError when responseInit's statusText is invalid");
+        },"Throws TypeError when responseInit's statusText is " + statusText);
+      });
 
-      test(function() {
-        var nullBodyStatus = [204, 205, 304];
-        nullBodyStatus.forEach(function(status) {
+      var nullBodyStatus = [204, 205, 304];
+      nullBodyStatus.forEach(function(status) {
+        test(function() {
           assert_throws(new TypeError() ,
-            function() { new Response("body", { "status" : status }); },
+            function() { new Response("body", {"status" : status }); },
             "Expect TypeError exception ");
-        });
-      },"Throws TypeError when building a response with body and a null body status");
+        },"Throws TypeError when building a response with body and a body status of " + status);
+      });
     </script>
   </body>
-</html>
\ No newline at end of file
+</html>
index 43037a0..c2e001f 100644 (file)
@@ -15,16 +15,11 @@ PASS Response interface: attribute headers
 PASS Response interface: attribute body 
 PASS Response interface: operation clone() 
 PASS Response interface: attribute bodyUsed 
-FAIL Response interface: operation arrayBuffer() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
-FAIL Response interface: operation blob() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
-FAIL Response interface: operation formData() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
-FAIL Response interface: operation json() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
-FAIL Response interface: operation text() assert_throws: calling operation with this = null didn't throw TypeError function "function () {
-                memberHolderObject[member.n..." did not throw
+PASS Response interface: operation arrayBuffer() 
+PASS Response interface: operation blob() 
+PASS Response interface: operation formData() 
+PASS Response interface: operation json() 
+PASS Response interface: operation text() 
 PASS Response must be primary interface of new Response() 
 PASS Stringification of new Response() 
 PASS Response interface: new Response() must inherit property "error" with the proper type (0) 
index 79ddf75..e849856 100644 (file)
@@ -40,7 +40,7 @@
         readonly attribute boolean ok;
         readonly attribute ByteString statusText;
         [SameObject] readonly attribute Headers headers;
-        [SameObject] readonly attribute ReadableStream body;
+        readonly attribute ReadableStream? body;
 
         [NewObject] Response clone();
       };
@@ -66,4 +66,4 @@
       idlsArray.test();
     </script>
   </body>
-</html>
\ No newline at end of file
+</html>
index 1baf7fb..2900858 100644 (file)
@@ -33,7 +33,7 @@
           assert_true(mime && mime.search(bodyType) > -1, "Content-Type header should be \"" + bodyType + "\" ");
           return response.text().then(function(bodyAsText) {
             //not equals: cannot guess formData exact value
-            assert_true( bodyAsText.search(expectedTextBody) > -1, "Retrieve and verify response body");
+            assert_true(bodyAsText.search(expectedTextBody) > -1, "Retrieve and verify response body");
           });
         }, "Initialize Response's body with " + bodyType);
       }
index d63bd5e..6e927a8 100644 (file)
@@ -17,7 +17,9 @@
         assert_equals(responseError.status, 0, "Network error response's status is 0");
         assert_equals(responseError.statusText, "", "Network error response's statusText is empty");
         assert_equals(responseError.body, null, "Network error response's body is null");
+
+        assert_true(responseError.headers.entries().next().done, "Headers should be empty");
       }, "Check response returned by static method error()");
     </script>
   </body>
-</html>
\ No newline at end of file
+</html>
index 7fd27fd..12b26af 100644 (file)
@@ -1,4 +1,13 @@
 
-PASS Check response returned by static method redirect() 
-FAIL Check error returned when giving invalid parameters to redirect() assert_throws: Expect RangeError exception function "function () { Response.redirect("", invalidStatus); }" threw object "TypeError: Type error" ("TypeError") expected object "RangeError" ("RangeError")
+PASS Check default redirect response 
+PASS Check response returned by static method redirect(), status = 301 
+PASS Check response returned by static method redirect(), status = 302 
+PASS Check response returned by static method redirect(), status = 303 
+PASS Check response returned by static method redirect(), status = 307 
+PASS Check response returned by static method redirect(), status = 308 
+PASS Check error returned when giving invalid url to redirect() 
+FAIL Check error returned when giving invalid status to redirect(), status = 200 assert_throws: Expect RangeError exception function "function () { Response.redirect(url, invalidStatus); }" threw object "TypeError: Type error" ("TypeError") expected object "RangeError" ("RangeError")
+FAIL Check error returned when giving invalid status to redirect(), status = 309 assert_throws: Expect RangeError exception function "function () { Response.redirect(url, invalidStatus); }" threw object "TypeError: Type error" ("TypeError") expected object "RangeError" ("RangeError")
+FAIL Check error returned when giving invalid status to redirect(), status = 400 assert_throws: Expect RangeError exception function "function () { Response.redirect(url, invalidStatus); }" threw object "TypeError: Type error" ("TypeError") expected object "RangeError" ("RangeError")
+FAIL Check error returned when giving invalid status to redirect(), status = 500 assert_throws: Expect RangeError exception function "function () { Response.redirect(url, invalidStatus); }" threw object "TypeError: Type error" ("TypeError") expected object "RangeError" ("RangeError")
 
index 1dc092f..6a50440 100644 (file)
   </head>
   <body>
     <script>
+      var url = "http://test.url:1234/";
       test(function() {
-        var redirectStatus = [301, 302, 303, 307, 308];
-        var url = "http://test.url:1234/";
         redirectResponse = Response.redirect(url);
         assert_equals(redirectResponse.status, 302, "Default redictect status is 302");
         assert_equals(redirectResponse.headers.get("Location"), url,
           "redirected response has Location header with the correct url");
-        for (var i in redirectStatus) {
-          var status = redirectStatus[i];
+      }, "Check default redirect response");
+
+      var redirectStatus = [301, 302, 303, 307, 308];
+      redirectStatus.forEach(function(status) {
+        test(function() {
           redirectResponse = Response.redirect(url, status);
           assert_equals(redirectResponse.status, status, "Redictect status is " + status);
-        }
-      }, "Check response returned by static method redirect()");
+        }, "Check response returned by static method redirect(), status = " + status);
+      });
 
       test(function() {
-        var invalidRedirectStatus = [200, 309, 400, 500];
-        var invalidUrl = "This is not an url";
-        for (var i in invalidRedirectStatus) {
-          var invalidStatus = invalidRedirectStatus[i];
-          assert_throws(new RangeError() , function() { Response.redirect("", invalidStatus); },
-            "Expect RangeError exception");
-        }
+        var invalidUrl = "http://:This is not an url";
         assert_throws(new TypeError(), function() { Response.redirect(invalidUrl); },
           "Expect TypeError exception");
-      }, "Check error returned when giving invalid parameters to redirect()");
+      }, "Check error returned when giving invalid url to redirect()");
+
+      var invalidRedirectStatus = [200, 309, 400, 500];
+      invalidRedirectStatus.forEach(function(invalidStatus) {
+        test(function() {
+          assert_throws(new RangeError() , function() { Response.redirect(url, invalidStatus); },
+              "Expect RangeError exception");
+        }, "Check error returned when giving invalid status to redirect(), status = " + invalidStatus);
+      });
     </script>
   </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/w3c-import.log
new file mode 100644 (file)
index 0000000..eaff1e0
--- /dev/null
@@ -0,0 +1,25 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in Webkit.
+Instead, create a pull request on the W3C CSS or WPT github:
+       https://github.com/w3c/csswg-test
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in Webkit to reimport
+
+Do NOT modify or remove this file
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-clone.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-error.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-idl.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-init-001.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-init-002.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-error.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-redirect.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/fetch/w3c-import.log
new file mode 100644 (file)
index 0000000..9331e8b
--- /dev/null
@@ -0,0 +1,18 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in Webkit.
+Instead, create a pull request on the W3C CSS or WPT github:
+       https://github.com/w3c/csswg-test
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in Webkit to reimport
+
+Do NOT modify or remove this file
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/fetch/OWNERS
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/OWNERS b/LayoutTests/imported/w3c/web-platform-tests/html/OWNERS
new file mode 100644 (file)
index 0000000..ef22027
--- /dev/null
@@ -0,0 +1,8 @@
+@Ms2ger
+@gsnedders
+@jdm
+@jgraham
+@plehegar
+@sideshowbarker
+@zcorpan
+@zqzhang
index 542dee7..9735415 100644 (file)
@@ -1,10 +1,10 @@
-CONSOLE MESSAGE: line 198: callback not yet supported
-CONSOLE MESSAGE: line 198: callback not yet supported
-CONSOLE MESSAGE: line 198: callback not yet supported
-CONSOLE MESSAGE: line 198: callback not yet supported
-CONSOLE MESSAGE: line 198: callback not yet supported
-CONSOLE MESSAGE: line 198: callback not yet supported
-CONSOLE MESSAGE: line 198: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
+CONSOLE MESSAGE: line 226: callback not yet supported
 HTML IDL tests
 
 
@@ -137,55 +137,55 @@ PASS Document interface: iframe.contentDocument must inherit property "doctype"
 PASS Document interface: iframe.contentDocument must inherit property "documentElement" with the proper type (10) 
 PASS Document interface: iframe.contentDocument must inherit property "getElementsByTagName" with the proper type (11) 
 FAIL Document interface: calling getElementsByTagName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "getElementsByTagNameNS" with the proper type (12) 
 FAIL Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "getElementsByClassName" with the proper type (13) 
 FAIL Document interface: calling getElementsByClassName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "createElement" with the proper type (14) 
 PASS Document interface: calling createElement(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Document interface: iframe.contentDocument must inherit property "createElementNS" with the proper type (15) 
 FAIL Document interface: calling createElementNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "createDocumentFragment" with the proper type (16) 
 PASS Document interface: iframe.contentDocument must inherit property "createTextNode" with the proper type (17) 
 FAIL Document interface: calling createTextNode(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "createComment" with the proper type (18) 
 FAIL Document interface: calling createComment(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "createProcessingInstruction" with the proper type (19) 
 FAIL Document interface: calling createProcessingInstruction(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "importNode" with the proper type (20) 
 FAIL Document interface: calling importNode(Node,boolean) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: iframe.contentDocument must inherit property "adoptNode" with the proper type (21) 
 FAIL Document interface: calling adoptNode(Node) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: iframe.contentDocument must inherit property "createAttribute" with the proper type (22) 
 FAIL Document interface: calling createAttribute(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "createAttributeNS" with the proper type (23) 
 FAIL Document interface: calling createAttributeNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "createEvent" with the proper type (24) 
 FAIL Document interface: calling createEvent(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: iframe.contentDocument must inherit property "createRange" with the proper type (25) 
 PASS Document interface: iframe.contentDocument must inherit property "createNodeIterator" with the proper type (26) 
 PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on iframe.contentDocument with too few arguments must throw TypeError 
@@ -216,8 +216,8 @@ PASS Document interface: iframe.contentDocument must inherit property "forms" wi
 PASS Document interface: iframe.contentDocument must inherit property "scripts" with the proper type (50) 
 PASS Document interface: iframe.contentDocument must inherit property "getElementsByName" with the proper type (51) 
 FAIL Document interface: calling getElementsByName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 FAIL Document interface: iframe.contentDocument must inherit property "getItems" with the proper type (52) assert_inherits: property "getItems" not found in prototype chain
 FAIL Document interface: calling getItems(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_inherits: property "getItems" not found in prototype chain
 FAIL Document interface: iframe.contentDocument must inherit property "cssElementMap" with the proper type (53) assert_inherits: property "cssElementMap" not found in prototype chain
@@ -237,28 +237,28 @@ PASS Document interface: iframe.contentDocument must inherit property "hasFocus"
 PASS Document interface: iframe.contentDocument must inherit property "designMode" with the proper type (63) 
 PASS Document interface: iframe.contentDocument must inherit property "execCommand" with the proper type (64) 
 FAIL Document interface: calling execCommand(DOMString,boolean,DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "queryCommandEnabled" with the proper type (65) 
 FAIL Document interface: calling queryCommandEnabled(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "queryCommandIndeterm" with the proper type (66) 
 FAIL Document interface: calling queryCommandIndeterm(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "queryCommandState" with the proper type (67) 
 FAIL Document interface: calling queryCommandState(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "queryCommandSupported" with the proper type (68) 
 FAIL Document interface: calling queryCommandSupported(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "queryCommandValue" with the proper type (69) 
 FAIL Document interface: calling queryCommandValue(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 FAIL Document interface: iframe.contentDocument must inherit property "commands" with the proper type (70) assert_inherits: property "commands" not found in prototype chain
 PASS Document interface: iframe.contentDocument must inherit property "onreadystatechange" with the proper type (71) 
 PASS Document interface: iframe.contentDocument must inherit property "fgColor" with the proper type (72) 
@@ -274,8 +274,8 @@ PASS Document interface: iframe.contentDocument must inherit property "releaseEv
 PASS Document interface: iframe.contentDocument must inherit property "all" with the proper type (82) 
 PASS Document interface: iframe.contentDocument must inherit property "getElementById" with the proper type (83) 
 FAIL Document interface: calling getElementById(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: iframe.contentDocument must inherit property "children" with the proper type (84) 
 PASS Document interface: iframe.contentDocument must inherit property "firstElementChild" with the proper type (85) 
 PASS Document interface: iframe.contentDocument must inherit property "lastElementChild" with the proper type (86) 
@@ -386,8 +386,8 @@ PASS Node interface: iframe.contentDocument must inherit property "cloneNode" wi
 PASS Node interface: calling cloneNode(boolean) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Node interface: iframe.contentDocument must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -396,28 +396,28 @@ PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSI
 PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: iframe.contentDocument must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: iframe.contentDocument must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: iframe.contentDocument must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: iframe.contentDocument must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: iframe.contentDocument must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: iframe.contentDocument must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
 PASS Node interface: iframe.contentDocument must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Node interface: iframe.contentDocument must inherit property "replaceChild" with the proper type (42) 
@@ -426,12 +426,12 @@ PASS Node interface: iframe.contentDocument must inherit property "removeChild"
 PASS Node interface: calling removeChild(Node) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS EventTarget interface: iframe.contentDocument must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: iframe.contentDocument must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on iframe.contentDocument with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: iframe.contentDocument must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on iframe.contentDocument with too few arguments must throw TypeError 
 FAIL XMLDocument interface: operation load(DOMString) assert_own_property: interface prototype object missing non-static operation expected property "load" missing
@@ -452,55 +452,55 @@ PASS Document interface: document.implementation.createDocument(null, "", null)
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "documentElement" with the proper type (10) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByTagName" with the proper type (11) 
 FAIL Document interface: calling getElementsByTagName(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByTagNameNS" with the proper type (12) 
 FAIL Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByClassName" with the proper type (13) 
 FAIL Document interface: calling getElementsByClassName(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createElement" with the proper type (14) 
 PASS Document interface: calling createElement(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createElementNS" with the proper type (15) 
 FAIL Document interface: calling createElementNS(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createDocumentFragment" with the proper type (16) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createTextNode" with the proper type (17) 
 FAIL Document interface: calling createTextNode(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createComment" with the proper type (18) 
 FAIL Document interface: calling createComment(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createProcessingInstruction" with the proper type (19) 
 FAIL Document interface: calling createProcessingInstruction(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "importNode" with the proper type (20) 
 FAIL Document interface: calling importNode(Node,boolean) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "adoptNode" with the proper type (21) 
 FAIL Document interface: calling adoptNode(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createAttribute" with the proper type (22) 
 FAIL Document interface: calling createAttribute(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createAttributeNS" with the proper type (23) 
 FAIL Document interface: calling createAttributeNS(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createEvent" with the proper type (24) 
 FAIL Document interface: calling createEvent(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: NotSupportedError: DOM Exception 9" ("NotSupportedError") expected object "TypeError" ("TypeError")
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createRange" with the proper type (25) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createNodeIterator" with the proper type (26) 
 PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
@@ -531,8 +531,8 @@ PASS Document interface: document.implementation.createDocument(null, "", null)
 FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "scripts" with the proper type (50) assert_inherits: property "scripts" not found in prototype chain
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByName" with the proper type (51) 
 FAIL Document interface: calling getElementsByName(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "getItems" with the proper type (52) assert_inherits: property "getItems" not found in prototype chain
 FAIL Document interface: calling getItems(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_inherits: property "getItems" not found in prototype chain
 FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "cssElementMap" with the proper type (53) assert_inherits: property "cssElementMap" not found in prototype chain
@@ -552,28 +552,28 @@ PASS Document interface: document.implementation.createDocument(null, "", null)
 FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "designMode" with the proper type (63) assert_inherits: property "designMode" not found in prototype chain
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "execCommand" with the proper type (64) 
 FAIL Document interface: calling execCommand(DOMString,boolean,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandEnabled" with the proper type (65) 
 FAIL Document interface: calling queryCommandEnabled(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandIndeterm" with the proper type (66) 
 FAIL Document interface: calling queryCommandIndeterm(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandState" with the proper type (67) 
 FAIL Document interface: calling queryCommandState(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandSupported" with the proper type (68) 
 FAIL Document interface: calling queryCommandSupported(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandValue" with the proper type (69) 
 FAIL Document interface: calling queryCommandValue(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "commands" with the proper type (70) assert_inherits: property "commands" not found in prototype chain
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onreadystatechange" with the proper type (71) 
 FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "fgColor" with the proper type (72) assert_inherits: property "fgColor" not found in prototype chain
@@ -589,8 +589,8 @@ FAIL Document interface: document.implementation.createDocument(null, "", null)
 FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "all" with the proper type (82) assert_inherits: property "all" not found in prototype chain
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementById" with the proper type (83) 
 FAIL Document interface: calling getElementById(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "children" with the proper type (84) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "firstElementChild" with the proper type (85) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "lastElementChild" with the proper type (86) 
@@ -701,8 +701,8 @@ PASS Node interface: document.implementation.createDocument(null, "", null) must
 PASS Node interface: calling cloneNode(boolean) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -711,28 +711,28 @@ PASS Node interface: document.implementation.createDocument(null, "", null) must
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: HierarchyRequestError: DOM Exception 3" ("HierarchyRequestError") expected object "TypeError" ("TypeError")
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "replaceChild" with the proper type (42) 
@@ -741,12 +741,12 @@ PASS Node interface: document.implementation.createDocument(null, "", null) must
 PASS Node interface: calling removeChild(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS EventTarget interface: document.implementation.createDocument(null, "", null) must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.implementation.createDocument(null, "", null) must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.implementation.createDocument(null, "", null) must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 FAIL MouseEvent interface: attribute region assert_true: The prototype object must have a property "region" expected true got false
@@ -1057,68 +1057,68 @@ PASS Element interface: document.createElement("noscript") must inherit property
 PASS Element interface: document.createElement("noscript") must inherit property "attributes" with the proper type (8) 
 PASS Element interface: document.createElement("noscript") must inherit property "getAttribute" with the proper type (9) 
 FAIL Element interface: calling getAttribute(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "getAttributeNS" with the proper type (10) 
 FAIL Element interface: calling getAttributeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "setAttribute" with the proper type (11) 
 FAIL Element interface: calling setAttribute(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "setAttributeNS" with the proper type (12) 
 FAIL Element interface: calling setAttributeNS(DOMString,DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "removeAttribute" with the proper type (13) 
 FAIL Element interface: calling removeAttribute(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "removeAttributeNS" with the proper type (14) 
 PASS Element interface: calling removeAttributeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Element interface: document.createElement("noscript") must inherit property "hasAttribute" with the proper type (15) 
 PASS Element interface: calling hasAttribute(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Element interface: document.createElement("noscript") must inherit property "hasAttributeNS" with the proper type (16) 
 FAIL Element interface: calling hasAttributeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "getAttributeNode" with the proper type (17) 
 FAIL Element interface: calling getAttributeNode(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "getAttributeNodeNS" with the proper type (18) 
 FAIL Element interface: calling getAttributeNodeNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "setAttributeNode" with the proper type (19) 
 FAIL Element interface: calling setAttributeNode(Attr) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
 PASS Element interface: document.createElement("noscript") must inherit property "setAttributeNodeNS" with the proper type (20) 
 FAIL Element interface: calling setAttributeNodeNS(Attr) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
 PASS Element interface: document.createElement("noscript") must inherit property "removeAttributeNode" with the proper type (21) 
 FAIL Element interface: calling removeAttributeNode(Attr) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: TypeMismatchError: DOM Exception 17" ("TypeMismatchError") expected object "TypeError" ("TypeError")
 PASS Element interface: document.createElement("noscript") must inherit property "closest" with the proper type (22) 
 PASS Element interface: calling closest(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Element interface: document.createElement("noscript") must inherit property "matches" with the proper type (23) 
 PASS Element interface: calling matches(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Element interface: document.createElement("noscript") must inherit property "getElementsByTagName" with the proper type (24) 
 FAIL Element interface: calling getElementsByTagName(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "getElementsByTagNameNS" with the proper type (25) 
 FAIL Element interface: calling getElementsByTagNameNS(DOMString,DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "getElementsByClassName" with the proper type (26) 
 FAIL Element interface: calling getElementsByClassName(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Element interface: document.createElement("noscript") must inherit property "children" with the proper type (27) 
 PASS Element interface: document.createElement("noscript") must inherit property "firstElementChild" with the proper type (28) 
 PASS Element interface: document.createElement("noscript") must inherit property "lastElementChild" with the proper type (29) 
@@ -1175,8 +1175,8 @@ PASS Node interface: document.createElement("noscript") must inherit property "c
 PASS Node interface: calling cloneNode(boolean) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Node interface: document.createElement("noscript") must inherit property "isEqualNode" with the proper type (28) 
 FAIL Node interface: calling isEqualNode(Node) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createElement("noscript") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
 PASS Node interface: document.createElement("noscript") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
 PASS Node interface: document.createElement("noscript") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
@@ -1185,28 +1185,28 @@ PASS Node interface: document.createElement("noscript") must inherit property "D
 PASS Node interface: document.createElement("noscript") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
 PASS Node interface: document.createElement("noscript") must inherit property "compareDocumentPosition" with the proper type (35) 
 FAIL Node interface: calling compareDocumentPosition(Node) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createElement("noscript") must inherit property "contains" with the proper type (36) 
 FAIL Node interface: calling contains(Node) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createElement("noscript") must inherit property "lookupPrefix" with the proper type (37) 
 FAIL Node interface: calling lookupPrefix(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createElement("noscript") must inherit property "lookupNamespaceURI" with the proper type (38) 
 FAIL Node interface: calling lookupNamespaceURI(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createElement("noscript") must inherit property "isDefaultNamespace" with the proper type (39) 
 FAIL Node interface: calling isDefaultNamespace(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createElement("noscript") must inherit property "insertBefore" with the proper type (40) 
 FAIL Node interface: calling insertBefore(Node,Node) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 1 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Node interface: document.createElement("noscript") must inherit property "appendChild" with the proper type (41) 
 PASS Node interface: calling appendChild(Node) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS Node interface: document.createElement("noscript") must inherit property "replaceChild" with the proper type (42) 
@@ -1215,12 +1215,12 @@ PASS Node interface: document.createElement("noscript") must inherit property "r
 PASS Node interface: calling removeChild(Node) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS EventTarget interface: document.createElement("noscript") must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createElement("noscript") must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.createElement("noscript") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createElement("noscript") must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on document.createElement("noscript") with too few arguments must throw TypeError 
 PASS HTMLElement must be primary interface of document.createElement("section") 
@@ -1914,8 +1914,8 @@ PASS HTMLMediaElement interface: document.createElement("video") must inherit pr
 PASS HTMLMediaElement interface: document.createElement("video") must inherit property "load" with the proper type (11) 
 PASS HTMLMediaElement interface: document.createElement("video") must inherit property "canPlayType" with the proper type (12) 
 FAIL HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("video") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_NOTHING" with the proper type (13) 
 PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_METADATA" with the proper type (14) 
 PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_CURRENT_DATA" with the proper type (15) 
@@ -1970,8 +1970,8 @@ PASS HTMLMediaElement interface: document.createElement("audio") must inherit pr
 PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "load" with the proper type (11) 
 PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "canPlayType" with the proper type (12) 
 FAIL HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("audio") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_NOTHING" with the proper type (13) 
 PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_METADATA" with the proper type (14) 
 PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_CURRENT_DATA" with the proper type (15) 
@@ -2021,8 +2021,8 @@ PASS HTMLMediaElement interface: new Audio() must inherit property "buffered" wi
 PASS HTMLMediaElement interface: new Audio() must inherit property "load" with the proper type (11) 
 PASS HTMLMediaElement interface: new Audio() must inherit property "canPlayType" with the proper type (12) 
 FAIL HTMLMediaElement interface: calling canPlayType(DOMString) on new Audio() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_NOTHING" with the proper type (13) 
 PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_METADATA" with the proper type (14) 
 PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_CURRENT_DATA" with the proper type (15) 
@@ -2301,12 +2301,12 @@ FAIL MediaController interface: new MediaController() must inherit property "onr
 FAIL MediaController interface: new MediaController() must inherit property "onvolumechange" with the proper type (28) assert_inherits: property "onvolumechange" not found in prototype chain
 PASS EventTarget interface: new MediaController() must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on new MediaController() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: new MediaController() must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on new MediaController() with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: new MediaController() must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on new MediaController() with too few arguments must throw TypeError 
 PASS TextTrackList interface: existence and properties of interface object 
@@ -2329,12 +2329,12 @@ PASS TextTrackList interface: document.createElement("video").textTracks must in
 PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onremovetrack" with the proper type (5) 
 PASS EventTarget interface: document.createElement("video").textTracks must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.createElement("video").textTracks with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createElement("video").textTracks must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.createElement("video").textTracks with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createElement("video").textTracks must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on document.createElement("video").textTracks with too few arguments must throw TypeError 
 PASS TextTrack interface: existence and properties of interface object 
@@ -2374,12 +2374,12 @@ PASS TextTrack interface: calling removeCue(TextTrackCue) on document.createElem
 PASS TextTrack interface: document.createElement("track").track must inherit property "oncuechange" with the proper type (10) 
 PASS EventTarget interface: document.createElement("track").track must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.createElement("track").track with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createElement("track").track must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.createElement("track").track with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: document.createElement("track").track must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on document.createElement("track").track with too few arguments must throw TypeError 
 PASS TextTrackCueList interface: existence and properties of interface object 
@@ -2556,8 +2556,8 @@ PASS HTMLTableElement interface: document.createElement("table") must inherit pr
 PASS HTMLTableElement interface: calling insertRow(long) on document.createElement("table") with too few arguments must throw TypeError 
 PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteRow" with the proper type (13) 
 FAIL HTMLTableElement interface: calling deleteRow(long) on document.createElement("table") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
 FAIL HTMLTableElement interface: document.createElement("table") must inherit property "sortable" with the proper type (14) assert_inherits: property "sortable" not found in prototype chain
 FAIL HTMLTableElement interface: document.createElement("table") must inherit property "stopSorting" with the proper type (15) assert_inherits: property "stopSorting" not found in prototype chain
 PASS HTMLTableElement interface: document.createElement("table") must inherit property "align" with the proper type (16) 
@@ -2624,8 +2624,8 @@ PASS HTMLTableSectionElement interface: document.createElement("tbody") must inh
 PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tbody") with too few arguments must throw TypeError 
 PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "deleteRow" with the proper type (2) 
 FAIL HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tbody") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
 PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "align" with the proper type (3) 
 PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "ch" with the proper type (4) 
 PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "chOff" with the proper type (5) 
@@ -2637,8 +2637,8 @@ PASS HTMLTableSectionElement interface: document.createElement("thead") must inh
 PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("thead") with too few arguments must throw TypeError 
 PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "deleteRow" with the proper type (2) 
 FAIL HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("thead") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
 PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "align" with the proper type (3) 
 PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "ch" with the proper type (4) 
 PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "chOff" with the proper type (5) 
@@ -2650,8 +2650,8 @@ PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inh
 PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError 
 PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "deleteRow" with the proper type (2) 
 FAIL HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
 PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "align" with the proper type (3) 
 PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "ch" with the proper type (4) 
 PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "chOff" with the proper type (5) 
@@ -2680,8 +2680,8 @@ PASS HTMLTableRowElement interface: document.createElement("tr") must inherit pr
 PASS HTMLTableRowElement interface: calling insertCell(long) on document.createElement("tr") with too few arguments must throw TypeError 
 PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "deleteCell" with the proper type (4) 
 FAIL HTMLTableRowElement interface: calling deleteCell(long) on document.createElement("tr") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: IndexSizeError: DOM Exception 1" ("IndexSizeError") expected object "TypeError" ("TypeError")
 PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "align" with the proper type (5) 
 PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "ch" with the proper type (6) 
 PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "chOff" with the proper type (7) 
@@ -2936,8 +2936,8 @@ PASS HTMLInputElement interface: document.createElement("input") must inherit pr
 PASS HTMLInputElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on document.createElement("input") with too few arguments must throw TypeError 
 PASS HTMLInputElement interface: document.createElement("input") must inherit property "setSelectionRange" with the proper type (55) 
 FAIL HTMLInputElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on document.createElement("input") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HTMLInputElement interface: document.createElement("input") must inherit property "align" with the proper type (56) 
 PASS HTMLInputElement interface: document.createElement("input") must inherit property "useMap" with the proper type (57) 
 PASS HTMLButtonElement interface: existence and properties of interface object 
@@ -3034,8 +3034,8 @@ PASS HTMLSelectElement interface: document.createElement("select") must inherit
 PASS HTMLSelectElement interface: calling item(unsigned long) on document.createElement("select") with too few arguments must throw TypeError 
 PASS HTMLSelectElement interface: document.createElement("select") must inherit property "namedItem" with the proper type (12) 
 FAIL HTMLSelectElement interface: calling namedItem(DOMString) on document.createElement("select") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HTMLSelectElement interface: document.createElement("select") must inherit property "add" with the proper type (13) 
 PASS HTMLSelectElement interface: calling add([object Object],[object Object],[object Object],[object Object]) on document.createElement("select") with too few arguments must throw TypeError 
 PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove" with the proper type (14) 
@@ -3182,8 +3182,8 @@ PASS HTMLTextAreaElement interface: document.createElement("textarea") must inhe
 PASS HTMLTextAreaElement interface: calling setRangeText(DOMString,unsigned long,unsigned long,SelectionMode) on document.createElement("textarea") with too few arguments must throw TypeError 
 PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setSelectionRange" with the proper type (32) 
 FAIL HTMLTextAreaElement interface: calling setSelectionRange(unsigned long,unsigned long,DOMString) on document.createElement("textarea") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HTMLKeygenElement interface: existence and properties of interface object 
 PASS HTMLKeygenElement interface object length 
 PASS HTMLKeygenElement interface object name 
@@ -3453,12 +3453,12 @@ PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit
 PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "height" with the proper type (1) 
 PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "getContext" with the proper type (2) 
 FAIL HTMLCanvasElement interface: calling getContext(DOMString,any) on document.createElement("canvas") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "probablySupportsContext" with the proper type (3) 
 FAIL HTMLCanvasElement interface: calling probablySupportsContext(DOMString,any) on document.createElement("canvas") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 FAIL HTMLCanvasElement interface: document.createElement("canvas") must inherit property "setContext" with the proper type (4) assert_inherits: property "setContext" not found in prototype chain
 FAIL HTMLCanvasElement interface: calling setContext(RenderingContext) on document.createElement("canvas") with too few arguments must throw TypeError assert_inherits: property "setContext" not found in prototype chain
 FAIL HTMLCanvasElement interface: document.createElement("canvas") must inherit property "transferControlToProxy" with the proper type (5) assert_inherits: property "transferControlToProxy" not found in prototype chain
@@ -3965,8 +3965,8 @@ PASS Window interface: window must inherit property "showModalDialog" with the p
 PASS Window interface: calling showModalDialog(DOMString,any) on window with too few arguments must throw TypeError 
 PASS Window interface: window must inherit property "postMessage" with the proper type (35) 
 FAIL Window interface: calling postMessage(any,DOMString,[object Object]) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" threw object "Error: SyntaxError: DOM Exception 12" ("SyntaxError") expected object "TypeError" ("TypeError")
+            fn.apply(obj, args);
+        }" threw object "Error: SyntaxError: DOM Exception 12" ("SyntaxError") expected object "TypeError" ("TypeError")
 PASS Window interface: window must inherit property "captureEvents" with the proper type (36) 
 PASS Window interface: window must inherit property "releaseEvents" with the proper type (37) 
 PASS Window interface: window must inherit property "onabort" with the proper type (38) 
@@ -4051,22 +4051,22 @@ PASS Window interface: window must inherit property "atob" with the proper type
 PASS Window interface: calling atob(DOMString) on window with too few arguments must throw TypeError 
 PASS Window interface: window must inherit property "setTimeout" with the proper type (116) 
 FAIL Window interface: calling setTimeout(Function,long,any) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Window interface: window must inherit property "setTimeout" with the proper type (117) 
 FAIL Window interface: calling setTimeout(DOMString,long,any) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Window interface: window must inherit property "clearTimeout" with the proper type (118) 
 PASS Window interface: calling clearTimeout(long) on window with too few arguments must throw TypeError 
 PASS Window interface: window must inherit property "setInterval" with the proper type (119) 
 FAIL Window interface: calling setInterval(Function,long,any) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Window interface: window must inherit property "setInterval" with the proper type (120) 
 FAIL Window interface: calling setInterval(DOMString,long,any) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Window interface: window must inherit property "clearInterval" with the proper type (121) 
 PASS Window interface: calling clearInterval(long) on window with too few arguments must throw TypeError 
 FAIL Window interface: window must inherit property "createImageBitmap" with the proper type (122) assert_own_property: expected property "createImageBitmap" missing
@@ -4075,12 +4075,12 @@ PASS Window interface: window must inherit property "sessionStorage" with the pr
 PASS Window interface: window must inherit property "localStorage" with the proper type (124) 
 PASS EventTarget interface: window must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: window must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on window with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: window must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on window with too few arguments must throw TypeError 
 PASS BarProp interface: existence and properties of interface object 
@@ -4113,12 +4113,12 @@ PASS History interface: window.history must inherit property "back" with the pro
 PASS History interface: window.history must inherit property "forward" with the proper type (5) 
 PASS History interface: window.history must inherit property "pushState" with the proper type (6) 
 FAIL History interface: calling pushState(any,DOMString,DOMString) on window.history with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS History interface: window.history must inherit property "replaceState" with the proper type (7) 
 FAIL History interface: calling replaceState(any,DOMString,DOMString) on window.history with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS Location interface: existence and properties of interface object 
 PASS Location interface object length 
 PASS Location interface object name 
@@ -4168,8 +4168,8 @@ PASS Event interface: new PopStateEvent("popstate", { data: {} }) must have own
 PASS Event interface: new PopStateEvent("popstate", { data: {} }) must inherit property "timeStamp" with the proper type (15) 
 PASS Event interface: new PopStateEvent("popstate", { data: {} }) must inherit property "initEvent" with the proper type (16) 
 FAIL Event interface: calling initEvent(DOMString,boolean,boolean) on new PopStateEvent("popstate", { data: {} }) with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS HashChangeEvent interface: existence and properties of interface object 
 PASS HashChangeEvent interface object length 
 PASS HashChangeEvent interface object name 
@@ -4240,12 +4240,12 @@ PASS ApplicationCache interface: window.applicationCache must inherit property "
 PASS ApplicationCache interface: window.applicationCache must inherit property "onobsolete" with the proper type (17) 
 PASS EventTarget interface: window.applicationCache must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on window.applicationCache with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: window.applicationCache must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on window.applicationCache with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: window.applicationCache must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on window.applicationCache with too few arguments must throw TypeError 
 PASS ErrorEvent interface: existence and properties of interface object 
@@ -4457,12 +4457,12 @@ PASS WebSocket interface: new WebSocket("ws://foo") must inherit property "send"
 PASS WebSocket interface: calling send(ArrayBufferView) on new WebSocket("ws://foo") with too few arguments must throw TypeError 
 PASS EventTarget interface: new WebSocket("ws://foo") must inherit property "addEventListener" with the proper type (0) 
 FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on new WebSocket("ws://foo") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: new WebSocket("ws://foo") must inherit property "removeEventListener" with the proper type (1) 
 FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on new WebSocket("ws://foo") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS EventTarget interface: new WebSocket("ws://foo") must inherit property "dispatchEvent" with the proper type (2) 
 PASS EventTarget interface: calling dispatchEvent(Event) on new WebSocket("ws://foo") with too few arguments must throw TypeError 
 PASS CloseEvent interface: existence and properties of interface object 
@@ -4496,8 +4496,8 @@ PASS Event interface: new CloseEvent("close") must have own property "isTrusted"
 PASS Event interface: new CloseEvent("close") must inherit property "timeStamp" with the proper type (15) 
 PASS Event interface: new CloseEvent("close") must inherit property "initEvent" with the proper type (16) 
 FAIL Event interface: calling initEvent(DOMString,boolean,boolean) on new CloseEvent("close") with too few arguments must throw TypeError assert_throws: Called with 0 arguments function "function () {
-    [native code]
-}" did not throw
+            fn.apply(obj, args);
+        }" did not throw
 PASS MessageChannel interface: existence and properties of interface object 
 PASS MessageChannel interface object length 
 PASS MessageChannel interface object name 
index a9991a1..0e81a14 100644 (file)
@@ -1,6 +1,6 @@
 <!doctype html>
 <meta charset=utf-8>
-<!-- WARNING: These tests are preliminary and probably partly incorrect.  -->
+<!--  WARNING: These tests are preliminary and probably partly incorrect.   -->
 <title>HTML IDL tests</title>
 <meta name=timeout content=long>
 <script src=/resources/testharness.js></script>
@@ -468,7 +468,7 @@ interface DOMTokenList {
   stringifier;
 //  iterable<DOMString>;
 };</script>
-<!-- UI Events IDLs -->
+<!--  UI Events IDLs  -->
 <script type=text/plain class=untested>
 [Constructor(DOMString type, optional UIEventInit eventInitDict)]
 interface UIEvent : Event {
@@ -531,7 +531,7 @@ partial interface MouseEvent {
     void initMouseEvent (DOMString typeArg, boolean bubblesArg, boolean cancelableArg, Window? viewArg, long detailArg, long screenXArg, long screenYArg, long clientXArg, long clientYArg, boolean ctrlKeyArg, boolean altKeyArg, boolean shiftKeyArg, boolean metaKeyArg, short buttonArg, EventTarget? relatedTargetArg);
 };
 </script>
-<!-- Touch Events IDLs -->
+<!--  Touch Events IDLs  -->
 <script type=text/plain class=untested>
 interface Touch {
     readonly    attribute long        identifier;
@@ -544,7 +544,7 @@ interface Touch {
     readonly    attribute long        pageY;
 };
 </script>
-<!-- CSSOM IDLs -->
+<!--  CSSOM IDLs  -->
 <script type=text/plain class=untested>
 interface MediaList {
   stringifier attribute DOMString mediaText;
@@ -848,7 +848,7 @@ interface CSSPropertyValue {
 //};
 </script>
 
-<!-- HTML IDLs -->
+<!--  HTML IDLs  -->
 <script type=text/plain>
 typedef (Int8Array or Uint8Array or Uint8ClampedArray or
          Int16Array or Uint16Array or
index 4b1a519..920924f 100644 (file)
@@ -28,4 +28,14 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces.html
 /LayoutTests/imported/w3c/web-platform-tests/html/dom/new-harness.js
 /LayoutTests/imported/w3c/web-platform-tests/html/dom/original-harness.js
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-forms.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-grouping.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-metadata.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-misc.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-obsolete.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-original.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-sections.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-tabular.html
+/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-text.html
 /LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection.js
index f56fd44..4b7c0d2 100644 (file)
@@ -5,33 +5,25 @@
 <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-base-element">
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<body onload="on_load()">
+<body>
   <div id="log"></div>
   <iframe id="test1" src="example.html" style="width:0;height:0" frameborder="0"></iframe>
   <iframe id="test2" src="example.html" name="targetWin" style="width:0;height:0" frameborder="0"></iframe>
   <script>
-    var t = async_test("The attributes of the a element must be affected by the first base element"),
-        doc1,
-        fr2,
-        a1;
+    async_test(function() {
+      window.onload = this.step_func(function() {
+        var fr1 = document.getElementById("test1");
+        fr1.addEventListener("load", this.unreached_func("loaded in the wrong iframe"));
 
-    function on_load() {
-      setup(function (){
-        doc1 = document.getElementById("test1").contentDocument;
-        fr2 = document.getElementById("test2");
-        a1 = doc1.getElementById("a1");
-      });
-
-      fr2.addEventListener("load", function () {
-        t.step(function () {
+        var fr2 = document.getElementById("test2");
+        fr2.addEventListener("load", this.step_func_done(function () {
           var doc2 = fr2.contentDocument;
           assert_not_equals(doc2.location.href.indexOf("example2.html"), -1, "The target attribute does not impact the a element.");
           assert_equals(doc2.getElementById("d1").innerHTML, "PASS", "The opend page should be the example2.html.");
-        });
-        t.done();
-      }, true);
+        }), true);
 
-      a1.click();
-    }
+        fr1.contentDocument.getElementById("a1").click();
+      });
+    }, "The attributes of the a element must be affected by the first base element");
   </script>
 </body>
index dc34354..e7a5683 100644 (file)
@@ -17,7 +17,6 @@ PASS audio.addCuePoint should not be supported
 PASS video.addCuePoint should not be supported 
 PASS audio.removeCuePoint should not be supported 
 PASS video.removeCuePoint should not be supported 
-FAIL source.media should not be supported assert_false: expected false got true
 PASS audio.playCount should not be supported 
 PASS video.playCount should not be supported 
 PASS audio.addCueRange should not be supported 
index 408bb21..99f18b6 100644 (file)
@@ -22,7 +22,6 @@ t('loopCount'); // added in r692, replaced with playCount in r1105.
 t('currentLoop'); // added in r692, removed in r2401.
 t('addCuePoint'); // added in r721, replaced with addCueRange in r1106.
 t('removeCuePoint'); // added in r721, replaced with removeCueRanges in r1106.
-t('media', 'source'); // added in r724, removed in r8472.
 t('playCount'); // added in r1105, removed in r2401.
 t('addCueRange'); // added in r1106, removed in r5070.
 t('removeCueRanges'); // added in r1106, removed in r5070.
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords-expected.txt
new file mode 100644 (file)
index 0000000..ae5aded
--- /dev/null
@@ -0,0 +1,15 @@
+
+
+PASS COMMA: "2,2,10,10" (rect) 
+PASS SEMICOLON: "2;2;10;10" (rect) 
+PASS SPACE: "2 2 10 10" (rect) 
+PASS TAB: "2\t2\t10\t10" (rect) 
+PASS FORM FEED: "2\f2\f10\f10" (rect) 
+PASS LINE FEED: "2\n2\n10\n10" (rect) 
+PASS CARRIGAGE RETURN: "2\r2\r10\r10" (rect) 
+FAIL LINE TABULATION: "2\v2\v10\v10" (rect) assert_equals: elementFromPoint(3, 3) expected Element node <img src="/images/threecolors.png" usemap="#x" id="img" w... but got Element node <area id="area" shape="rect" coords="2\v2\v10\v10"></area>
+FAIL LINE NEXT: "2\852\8510\8510" (rect) assert_equals: elementFromPoint(3, 3) expected Element node <img src="/images/threecolors.png" usemap="#x" id="img" w... but got Element node <area id="area" shape="rect" coords="2\852\8510\8510"></area>
+FAIL EN QUAD: "2 2 10 10" (rect) assert_equals: elementFromPoint(3, 3) expected Element node <img src="/images/threecolors.png" usemap="#x" id="img" w... but got Element node <area id="area" shape="rect" coords="2 2 10 10"></area>
+FAIL abc between numbers: "2a2b20c20,2,10,10" (rect) assert_equals: elementFromPoint(11, 9) expected Element node <img src="/images/threecolors.png" usemap="#x" id="img" w... but got Element node <area id="area" shape="rect" coords="2a2b20c20,2,10,10"><...
+FAIL COLON between numbers: "2:2:20:20,2,10,10" (rect) assert_equals: elementFromPoint(11, 9) expected Element node <img src="/images/threecolors.png" usemap="#x" id="img" w... but got Element node <area id="area" shape="rect" coords="2:2:20:20,2,10,10"><...
+FAIL U+0000 between numbers: "2\02\020\020,2,10,10" (rect) assert_equals: elementFromPoint(11, 9) expected Element node <img src="/images/threecolors.png" usemap="#x" id="img" w... but got Element node <area id="area" shape="rect" coords="2
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html
new file mode 100644 (file)
index 0000000..9ec6f3e
--- /dev/null
@@ -0,0 +1,47 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>HTMLAreaElement coords parsing</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<style>
+ body { margin: 0 }
+</style>
+<img src=/images/threecolors.png usemap=#x id=img width=300 height=300>
+<map name=x><area id=area></map>
+<script src=support/hit-test.js></script>
+<script>
+tests = [
+  {desc: 'COMMA', shape: 'rect', coords: "2,2,10,10", hit: hitRect},
+  {desc: 'SEMICOLON', shape: 'rect', coords: "2;2;10;10", hit: hitRect},
+  {desc: 'SPACE', shape: 'rect', coords: "2 2 10 10", hit: hitRect},
+  {desc: 'TAB', shape: 'rect', coords: "2\t2\t10\t10", hit: hitRect},
+  {desc: 'FORM FEED', shape: 'rect', coords: "2\f2\f10\f10", hit: hitRect},
+  {desc: 'LINE FEED', shape: 'rect', coords: "2\n2\n10\n10", hit: hitRect},
+  {desc: 'CARRIGAGE RETURN', shape: 'rect', coords: "2\r2\r10\r10", hit: hitRect},
+  {desc: 'LINE TABULATION', shape: 'rect', coords: "2\u000b2\u000b10\u000b10", hit: hitNone},
+  {desc: 'LINE NEXT', shape: 'rect', coords: "2\u00852\u008510\u008510", hit: hitNone},
+  {desc: 'EN QUAD', shape: 'rect', coords: "2\u20002\u200010\u200010", hit: hitNone},
+  {desc: 'abc between numbers', shape: 'rect', coords: "2a2b20c20,2,10,10", hit: hitRect},
+  {desc: 'COLON between numbers', shape: 'rect', coords: "2:2:20:20,2,10,10", hit: hitRect},
+  {desc: 'U+0000 between numbers', shape: 'rect', coords: "2\u00002\u000020\u000020,2,10,10", hit: hitRect},
+  {desc: 'leading COMMA', shape: 'rect', coords: ",2,2,10,10", hit: hitRect},
+  {desc: 'leading SPACE', shape: 'rect', coords: " 2,2,10,10", hit: hitRect},
+  {desc: 'leading SEMICOLON', shape: 'rect', coords: ";2,2,10,10", hit: hitRect},
+  {desc: 'trailing COMMA', shape: 'rect', coords: "2,2,10,", hit: hitNone},
+  {desc: 'trailing SPACE', shape: 'rect', coords: "2,2,10 ", hit: hitNone},
+  {desc: 'trailing SEMICOLON', shape: 'rect', coords: "2,2,10;", hit: hitNone},
+  {desc: 'PERCENT', shape: 'rect', coords: "2%,2%,10%,10%", hit: hitRect},
+  {desc: 'CSS units', shape: 'rect', coords: "2in,2in,10cm,10cm", hit: hitRect},
+  {desc: 'float', shape: 'rect', coords: "1.4,1.4,10,10", hit: hitRect},
+  {desc: 'number starting with PERIOD', shape: 'rect', coords: ".4,.4,10,10", hit: [[area, 1, 1], [img, 0, 0]]},
+  {desc: 'sci-not', shape: 'rect', coords: "2,2,1e1,1e1", hit: hitRect},
+  {desc: 'leading/trailing garbage', shape: 'rect', coords: "='2,2,10,10' ", hit: hitRect},
+  {desc: 'non-ascii garbage', shape: 'rect', coords: "“2,2,10,10\"", hit: hitRect},
+  {desc: 'URL garbage with number', shape: 'rect', coords: "2,2,10ls/spain/holidays/regions/10/Canary+Islands/Canary+Islands.html", hit: hitNone},
+  {desc: 'consecutive COMMAs', shape: 'rect', coords: "2,,10,10", hit: hitNone},
+  {desc: 'consecutive SPACEs', shape: 'rect', coords: "2  10,10", hit: hitNone},
+  {desc: 'consecutive SEMICOLONs', shape: 'rect', coords: "2;;10,10", hit: hitNone},
+  {desc: 'several consecutive separators', shape: 'rect', coords: ",,2;,;2,;,10 \t\r\n10;;", hit: hitRect},
+  {desc: 'one too many numbers, trailing COMMA', shape: 'poly', coords: "100,100,120,100,100,120,300,", hit: hitPoly},
+];
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document-expected.txt
new file mode 100644 (file)
index 0000000..adfd497
--- /dev/null
@@ -0,0 +1,4 @@
+
+
+PASS Test document type embedding 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document.html
new file mode 100644 (file)
index 0000000..3d44678
--- /dev/null
@@ -0,0 +1,17 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>HTML Test: The embed element represents a document</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="Check if the embed element represents a document when a text/html resource source is used">
+<body>
+  <script type="application/javascript">
+    window.childLoaded = false;
+    async_test(function() {
+      addEventListener("load", this.step_func_done(function() {
+        assert_true(window.childLoaded);
+      }));
+    }, "Test document type embedding");
+  </script>
+  <embed src="embed-iframe.html">
+</body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe-expected.txt
new file mode 100644 (file)
index 0000000..db63a5f
--- /dev/null
@@ -0,0 +1,5 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x8
+  RenderBlock {HTML} at (0,0) size 800x8
+    RenderBody {BODY} at (8,8) size 784x0
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe.html
new file mode 100644 (file)
index 0000000..f9b1bfd
--- /dev/null
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<body>
+  <script type="application/javascript">
+   parent.childLoaded = true;
+  </script>
+</body>
index 3ae8126..6d0b5f9 100644 (file)
@@ -16,6 +16,8 @@ None
 ------------------------------------------------------------------------
 List of files:
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-dimension.html
+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document.html
+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-iframe.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-01-expected.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-01.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-02-expected.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-media-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-media-expected.txt
new file mode 100644 (file)
index 0000000..245ca31
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS set media after src updates selected image 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-media.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-media.html
new file mode 100644 (file)
index 0000000..dd679ef
--- /dev/null
@@ -0,0 +1,32 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>img update media</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+    var t = async_test('set media after src updates selected image');
+
+    var img;
+
+    onload = t.step_func(function() {
+        img = document.querySelector('img');
+        img.addEventListener('load', t.step_func_done(onImgLoad));
+
+        var source = document.querySelector('source[data-media]');
+        source.setAttribute('media', source.getAttribute('data-media'));
+    });
+
+    function onImgLoad() {
+        img.removeEventListener('load', onImgLoad);
+
+        assert_true(img.currentSrc.indexOf(img.getAttribute('data-expect')) > -1);
+    }
+
+</script>
+
+<div id="log"></div>
+<picture>
+    <source srcset="/images/fail.gif" data-media="(max-width: 1px)" />
+    <source srcset="/images/smiley.png" />
+    <img data-expect="/images/smiley.png">
+</picture>
\ No newline at end of file
index de65a70..ba0f3b0 100644 (file)
@@ -21,4 +21,5 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/contains.json
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-1.jpg
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html
+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-media.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set.html
index 675cb33..f0bee38 100644 (file)
@@ -16,9 +16,7 @@ None
 ------------------------------------------------------------------------
 List of files:
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/original-id.json
-/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/select-event.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection.html
-/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html
index 054d344..d9d3ec9 100644 (file)
@@ -40,7 +40,7 @@
     assert_true(c1_click_fired, "input event should fire after click event");
     assert_false(c1_change_fired, "input event should fire before change event");
     assert_true(e.bubbles, "event should bubble");
-    assert_true(e.isTrusted, "event should be trusted");
+    assert_false(e.isTrusted, "click()-initiated event should be trusted");
     assert_false(e.cancelable, "event should not be cancelable");
     assert_true(checkbox1.checked, "checkbox is checked");
     assert_false(checkbox1.indeterminate, "checkbox is not indeterminate");
@@ -51,7 +51,7 @@
     assert_true(c1_click_fired, "change event should fire after click event");
     assert_true(c1_input_fired, "change event should fire after input event");
     assert_true(e.bubbles, "event should bubble")
-    assert_true(e.isTrusted, "event should be trusted");
+    assert_false(e.isTrusted, "click()-initiated event should be trusted");
     assert_false(e.cancelable, "event should not be cancelable");
     assert_true(checkbox1.checked, "checkbox is checked");
     assert_false(checkbox1.indeterminate, "checkbox is not indeterminate");
index 9f8fe09..8eaec42 100644 (file)
@@ -90,7 +90,7 @@
     assert_true(click_fired, "input event should fire after click event");
     assert_false(change_fired, "input event should fire before change event");
     assert_true(e.bubbles, "input event should bubble")
-    assert_true(e.isTrusted, "input event should be trusted");
+    assert_false(e.isTrusted, "click()-initiated input event shouldn't be trusted");
     assert_false(e.cancelable, "input event should not be cancelable");
   });
 
@@ -99,7 +99,7 @@
     assert_true(click_fired, "change event should fire after click event");
     assert_true(input_fired, "change event should fire after input event");
     assert_true(e.bubbles, "change event should bubble")
-    assert_true(e.isTrusted, "change event should be trusted");
+    assert_false(e.isTrusted, "click()-initiated change event shouldn't be trusted");
     assert_false(e.cancelable, "change event should not be cancelable");
   });
 
index 746d02f..193e28a 100644 (file)
@@ -15,7 +15,7 @@ PASS change state from hidden to range
 PASS change state from hidden to color 
 PASS change state from hidden to checkbox 
 PASS change state from hidden to radio 
-PASS change state from hidden to file 
+FAIL change state from hidden to file assert_equals: expected "" but got "  foo\rbar  "
 PASS change state from hidden to submit 
 PASS change state from hidden to image 
 PASS change state from hidden to reset 
@@ -36,7 +36,7 @@ PASS change state from text to range
 PASS change state from text to color 
 FAIL change state from text to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from text to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from text to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from text to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from text to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from text to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from text to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -57,7 +57,7 @@ PASS change state from search to range
 PASS change state from search to color 
 FAIL change state from search to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from search to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from search to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from search to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from search to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from search to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from search to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -78,7 +78,7 @@ PASS change state from tel to range
 PASS change state from tel to color 
 FAIL change state from tel to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from tel to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from tel to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from tel to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from tel to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from tel to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from tel to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -99,7 +99,7 @@ PASS change state from url to range
 PASS change state from url to color 
 FAIL change state from url to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
 FAIL change state from url to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
-FAIL change state from url to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
+FAIL change state from url to file assert_equals: expected "" but got "foobar"
 FAIL change state from url to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
 FAIL change state from url to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
 FAIL change state from url to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
@@ -120,7 +120,7 @@ PASS change state from email to range
 PASS change state from email to color 
 FAIL change state from email to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
 FAIL change state from email to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
-FAIL change state from email to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
+FAIL change state from email to file assert_equals: expected "" but got "foobar"
 FAIL change state from email to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
 FAIL change state from email to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
 FAIL change state from email to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "foobar"
@@ -141,7 +141,7 @@ PASS change state from password to range
 PASS change state from password to color 
 FAIL change state from password to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from password to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from password to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from password to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from password to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from password to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from password to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -162,7 +162,7 @@ PASS change state from datetime to range
 PASS change state from datetime to color 
 FAIL change state from datetime to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from datetime to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from datetime to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from datetime to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from datetime to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from datetime to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from datetime to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -183,7 +183,7 @@ PASS change state from date to range
 PASS change state from date to color 
 FAIL change state from date to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from date to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from date to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from date to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from date to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from date to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from date to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -204,7 +204,7 @@ PASS change state from month to range
 PASS change state from month to color 
 FAIL change state from month to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from month to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from month to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from month to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from month to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from month to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from month to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -225,7 +225,7 @@ PASS change state from week to range
 PASS change state from week to color 
 FAIL change state from week to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from week to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from week to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from week to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from week to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from week to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from week to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -246,7 +246,7 @@ PASS change state from time to range
 PASS change state from time to color 
 FAIL change state from time to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from time to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from time to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from time to file assert_equals: expected "" but got "  foobar  "
 FAIL change state from time to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from time to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from time to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
@@ -267,7 +267,7 @@ PASS change state from number to range
 PASS change state from number to color 
 FAIL change state from number to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got ""
 FAIL change state from number to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got ""
-FAIL change state from number to file assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got ""
+PASS