<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[215164] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/215164">215164</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2017-04-09 11:49:22 -0700 (Sun, 09 Apr 2017)</dd>
</dl>
<h3>Log Message</h3>
<pre>Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
https://bugs.webkit.org/show_bug.cgi?id=170647
Patch by Youenn Fablet <youenn@apple.com> on 2017-04-09
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Removing CSS import repository as it is merged into WPT.
* resources/TestRepositories:
* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/%CERTS_DIR%/FEFE.pem: Added.
* web-platform-tests/%CERTS_DIR%/FEFF.pem: Added.
* web-platform-tests/%CERTS_DIR%/cacert.pem: Added.
* web-platform-tests/%CERTS_DIR%/cakey.pem: Added.
* web-platform-tests/%CERTS_DIR%/index.txt: Added.
* web-platform-tests/%CERTS_DIR%/index.txt.attr: Added.
* web-platform-tests/%CERTS_DIR%/index.txt.attr.old: Added.
* web-platform-tests/%CERTS_DIR%/index.txt.old: Added.
* web-platform-tests/%CERTS_DIR%/localhost.key: Added.
* web-platform-tests/%CERTS_DIR%/localhost.pem: Added.
* web-platform-tests/%CERTS_DIR%/serial: Added.
* web-platform-tests/%CERTS_DIR%/serial.old: Added.
* web-platform-tests/%CERTS_DIR%/w3c-import.log: Added.
* web-platform-tests/CONTRIBUTING.md:
* web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm:
* web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm:
* web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt:
* web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html:
* web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm:
* web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt: Added.
* web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm: Added.
* web-platform-tests/IndexedDB/idbobjectstore_deleted.htm:
* web-platform-tests/IndexedDB/interleaved-cursors-expected.txt: Added.
* web-platform-tests/IndexedDB/interleaved-cursors.html: Added.
* web-platform-tests/IndexedDB/parallel-cursors-upgrade-expected.txt: Added.
* web-platform-tests/IndexedDB/parallel-cursors-upgrade.html: Added.
* web-platform-tests/IndexedDB/support-promises.js:
(migrateNamedDatabase):
(createNamedDatabase):
(openNamedDatabase):
* web-platform-tests/IndexedDB/w3c-import.log:
* web-platform-tests/LICENSE.md:
* web-platform-tests/README.md:
* web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html:
* web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm:
* web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py:
(main):
* web-platform-tests/XMLHttpRequest/resources/conditional.py:
(main):
* web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt:
* web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm:
* web-platform-tests/XMLHttpRequest/send-conditional-cors-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/send-conditional-cors.htm: Added.
* web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm:
* web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt:
* web-platform-tests/XMLHttpRequest/send-non-same-origin.htm:
* web-platform-tests/XMLHttpRequest/send-usp.any-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/send-usp.any.html: Added.
* web-platform-tests/XMLHttpRequest/send-usp.any.js: Added.
(encode):
(x.onload.overall_test.step_func):
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/background-fetch/OWNERS: Added.
* web-platform-tests/background-fetch/interfaces-expected.txt: Added.
* web-platform-tests/background-fetch/interfaces-worker.https-expected.txt: Added.
* web-platform-tests/background-fetch/interfaces-worker.https.html: Added.
* web-platform-tests/background-fetch/interfaces.html: Added.
* web-platform-tests/background-fetch/interfaces.idl: Added.
* web-platform-tests/background-fetch/interfaces.worker-expected.txt: Added.
* web-platform-tests/background-fetch/interfaces.worker.html: Added.
* web-platform-tests/background-fetch/interfaces.worker.js: Added.
(promise_test):
* web-platform-tests/background-fetch/w3c-import.log: Added.
* web-platform-tests/beacon/headers/header-referrer-no-referrer-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html: Added.
* web-platform-tests/beacon/headers/header-referrer-no-referrer.html: Added.
* web-platform-tests/beacon/headers/header-referrer-origin-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html: Added.
* web-platform-tests/beacon/headers/header-referrer-origin.html: Added.
* web-platform-tests/beacon/headers/header-referrer-same-origin-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-same-origin.html: Added.
* web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html: Added.
* web-platform-tests/beacon/headers/header-referrer-strict-origin.https-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html: Added.
* web-platform-tests/beacon/headers/header-referrer-unsafe-url.https-expected.txt: Added.
* web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html: Added.
* web-platform-tests/beacon/headers/header-referrer.js: Added.
(testReferrerHeader):
(return.new.Promise.):
(return.new.Promise):
* web-platform-tests/beacon/headers/w3c-import.log: Added.
* web-platform-tests/beacon/resources/inspect-header.py: Added.
(main):
* web-platform-tests/beacon/resources/w3c-import.log: Added.
* web-platform-tests/check_stability.py:
(get_git_cmd.git):
(fetch_wpt):
(get_branch_point):
(get_files_changed):
(process_results):
(markdown_adjust):
(get_parser):
(main):
* web-platform-tests/ci_lint.sh:
* web-platform-tests/cors/allow-headers-expected.txt:
* web-platform-tests/cors/allow-headers.htm:
* web-platform-tests/cors/origin-expected.txt:
* web-platform-tests/cors/origin.htm:
* web-platform-tests/cors/preflight-failure.htm:
* web-platform-tests/cors/redirect-userinfo-expected.txt:
* web-platform-tests/cors/redirect-userinfo.htm:
* web-platform-tests/cors/request-headers.htm:
* web-platform-tests/css-timing-1/OWNERS: Added.
* web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt: Added.
* web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html: Added.
* web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: Added.
* web-platform-tests/css-timing-1/frames-timing-functions-output.html: Added.
* web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt: Added.
* web-platform-tests/css-timing-1/frames-timing-functions-syntax.html: Added.
* web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt: Added.
* web-platform-tests/css-timing-1/step-timing-functions-output.html: Added.
* web-platform-tests/css-timing-1/testcommon.js: Added.
(createDiv):
(createElement):
(pxToNum):
(xForT):
(yForT):
(tForX):
(return.bezierClosure):
(cubicBezier):
* web-platform-tests/css-timing-1/w3c-import.log: Added.
* web-platform-tests/css/.htaccess: Added.
* web-platform-tests/css/OWNERS: Added.
* web-platform-tests/css/README.md: Added.
* web-platform-tests/css/build-css-testsuites.sh: Added.
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht:
* web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht:
* web-platform-tests/css/css-grid-1/grid-items/w3c-import.log:
* web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht:
* web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht:
* web-platform-tests/css/css-grid-1/grid-model/w3c-import.log:
* web-platform-tests/css/requirements.txt: Added.
* web-platform-tests/css/w3c-import.log: Added.
* web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
* web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt:
* web-platform-tests/dom/lists/DOMTokenList-iteration.html:
* web-platform-tests/dom/lists/README.md: Added.
* web-platform-tests/dom/lists/w3c-import.log:
* web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
* web-platform-tests/dom/nodes/Document-createEvent.html:
* web-platform-tests/dom/nodes/Document-createEvent.js:
* web-platform-tests/encrypted-media/content/content-metadata.js:
* web-platform-tests/encrypted-media/content/w3c-import.log:
* web-platform-tests/fetch/OWNERS:
* web-platform-tests/fetch/api/basic/accept-header-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/accept-header-worker.html: Removed.
* web-platform-tests/fetch/api/basic/accept-header.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/accept-header.any.html: Added.
* web-platform-tests/fetch/api/basic/accept-header.any.js: Added.
(promise_test):
* web-platform-tests/fetch/api/basic/accept-header.html: Removed.
* web-platform-tests/fetch/api/basic/accept-header.js: Removed.
* web-platform-tests/fetch/api/basic/accept-header.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/accept-header.worker.html: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin-worker.html: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin.any.html: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin.any.js: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin.html: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin.js: Removed.
* web-platform-tests/fetch/api/basic/mode-same-origin.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/mode-same-origin.worker.html: Added.
* web-platform-tests/fetch/api/basic/referrer-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/referrer-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/referrer-worker.html: Removed.
* web-platform-tests/fetch/api/basic/referrer.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/referrer.any.html: Added.
* web-platform-tests/fetch/api/basic/referrer.any.js: Added.
* web-platform-tests/fetch/api/basic/referrer.html: Removed.
* web-platform-tests/fetch/api/basic/referrer.js: Removed.
* web-platform-tests/fetch/api/basic/referrer.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/referrer.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.any.html: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.html: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.js: Removed.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-forbidden-headers.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-head-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-head-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-head.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-expected.txt.
* web-platform-tests/fetch/api/basic/request-head.any.html: Added.
* web-platform-tests/fetch/api/basic/request-head.any.js: Added.
(promise_test):
* web-platform-tests/fetch/api/basic/request-head.html: Removed.
* web-platform-tests/fetch/api/basic/request-head.js: Removed.
* web-platform-tests/fetch/api/basic/request-head.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-head.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-headers-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-headers-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-headers.any.html: Added.
* web-platform-tests/fetch/api/basic/request-headers.any.js: Added.
* web-platform-tests/fetch/api/basic/request-headers.html: Removed.
* web-platform-tests/fetch/api/basic/request-headers.js: Removed.
* web-platform-tests/fetch/api/basic/request-headers.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-headers.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-referrer-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt:
* web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html:
* web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-referrer-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-referrer.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-referrer.any.html: Added.
* web-platform-tests/fetch/api/basic/request-referrer.any.js: Added.
* web-platform-tests/fetch/api/basic/request-referrer.html: Removed.
* web-platform-tests/fetch/api/basic/request-referrer.js: Removed.
* web-platform-tests/fetch/api/basic/request-referrer.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-referrer.worker.html: Added.
* web-platform-tests/fetch/api/basic/request-upload-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/request-upload-worker.html: Removed.
* web-platform-tests/fetch/api/basic/request-upload.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-upload.any.html: Added.
* web-platform-tests/fetch/api/basic/request-upload.any.js: Added.
* web-platform-tests/fetch/api/basic/request-upload.html: Removed.
* web-platform-tests/fetch/api/basic/request-upload.js: Removed.
* web-platform-tests/fetch/api/basic/request-upload.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/request-upload.worker.html: Added.
* web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/scheme-about-worker.html: Removed.
* web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt.
* web-platform-tests/fetch/api/basic/scheme-about.any.html: Added.
* web-platform-tests/fetch/api/basic/scheme-about.any.js: Added.
* web-platform-tests/fetch/api/basic/scheme-about.html: Removed.
* web-platform-tests/fetch/api/basic/scheme-about.js: Removed.
* web-platform-tests/fetch/api/basic/scheme-about.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/scheme-about.worker.html: Added.
* web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/scheme-data-worker.html: Removed.
* web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt.
* web-platform-tests/fetch/api/basic/scheme-data.any.html: Added.
* web-platform-tests/fetch/api/basic/scheme-data.any.js: Added.
* web-platform-tests/fetch/api/basic/scheme-data.html: Removed.
* web-platform-tests/fetch/api/basic/scheme-data.js: Removed.
* web-platform-tests/fetch/api/basic/scheme-data.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/scheme-data.worker.html: Added.
* web-platform-tests/fetch/api/basic/stream-response-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/basic/stream-response-worker.html: Removed.
* web-platform-tests/fetch/api/basic/stream-response.any-expected.txt: Added.
* web-platform-tests/fetch/api/basic/stream-response.any.html: Added.
* web-platform-tests/fetch/api/basic/stream-response.any.js: Added.
(promise_test):
* web-platform-tests/fetch/api/basic/stream-response.html: Removed.
* web-platform-tests/fetch/api/basic/stream-response.js: Removed.
* web-platform-tests/fetch/api/basic/stream-response.worker-expected.txt: Added.
* web-platform-tests/fetch/api/basic/stream-response.worker.html: Added.
* web-platform-tests/fetch/api/basic/w3c-import.log:
* web-platform-tests/fetch/api/cors/cors-basic-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-basic-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-basic.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-basic.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-basic.html: Removed.
* web-platform-tests/fetch/api/cors/cors-basic.js: Removed.
* web-platform-tests/fetch/api/cors/cors-basic.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-basic.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-cookies-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-cookies.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-cookies.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-cookies.html: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies.js: Removed.
* web-platform-tests/fetch/api/cors/cors-cookies.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-cookies.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-filtering-expected.txt:
* web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt:
* web-platform-tests/fetch/api/cors/cors-filtering.js:
(corsExposeFilter):
* web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-no-preflight.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-no-preflight.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-no-preflight.html: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight.js: Removed.
* web-platform-tests/fetch/api/cors/cors-no-preflight.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-no-preflight.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-origin-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-origin.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-origin.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-origin.html: Removed.
* web-platform-tests/fetch/api/cors/cors-origin.js: Removed.
* web-platform-tests/fetch/api/cors/cors-origin.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-origin.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-star.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-star.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-status.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-status.any.js: Added.
(corsPreflightStatus):
* web-platform-tests/fetch/api/cors/cors-preflight-status.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-status.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-status.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.html: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight.js: Removed.
* web-platform-tests/fetch/api/cors/cors-preflight.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.js: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.js: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-redirect.any.js: Added.
* web-platform-tests/fetch/api/cors/cors-redirect.html: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect.js: Removed.
* web-platform-tests/fetch/api/cors/cors-redirect.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-redirect.worker.html: Added.
* web-platform-tests/fetch/api/cors/w3c-import.log:
* web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic-worker.html: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic.any-expected.txt: Added.
* web-platform-tests/fetch/api/credentials/authentication-basic.any.html: Added.
* web-platform-tests/fetch/api/credentials/authentication-basic.any.js: Added.
* web-platform-tests/fetch/api/credentials/authentication-basic.html: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic.js: Removed.
* web-platform-tests/fetch/api/credentials/authentication-basic.worker-expected.txt: Added.
* web-platform-tests/fetch/api/credentials/authentication-basic.worker.html: Added.
* web-platform-tests/fetch/api/credentials/cookies-expected.txt: Removed.
* web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/credentials/cookies-worker.html: Removed.
* web-platform-tests/fetch/api/credentials/cookies.any-expected.txt: Added.
* web-platform-tests/fetch/api/credentials/cookies.any.html: Added.
* web-platform-tests/fetch/api/credentials/cookies.any.js: Added.
* web-platform-tests/fetch/api/credentials/cookies.html: Removed.
* web-platform-tests/fetch/api/credentials/cookies.js: Removed.
* web-platform-tests/fetch/api/credentials/cookies.worker-expected.txt: Added.
* web-platform-tests/fetch/api/credentials/cookies.worker.html: Added.
* web-platform-tests/fetch/api/credentials/w3c-import.log:
* web-platform-tests/fetch/api/headers/headers-idl-expected.txt:
* web-platform-tests/fetch/api/headers/historical.any-expected.txt: Added.
* web-platform-tests/fetch/api/headers/historical.any.html: Added.
* web-platform-tests/fetch/api/headers/historical.any.js: Added.
(test):
* web-platform-tests/fetch/api/headers/historical.worker-expected.txt: Added.
* web-platform-tests/fetch/api/headers/historical.worker.html: Added.
* web-platform-tests/fetch/api/headers/w3c-import.log:
* web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
* web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Removed.
* web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt:
* web-platform-tests/fetch/api/request/request-init-003.sub.html:
* web-platform-tests/fetch/api/resources/redirect-count.py: Removed.
* web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
* web-platform-tests/fetch/http-cache/304-update.html: Added.
* web-platform-tests/fetch/http-cache/README.md: Added.
* web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
* web-platform-tests/fetch/http-cache/cc-request.html: Added.
* web-platform-tests/fetch/http-cache/freshness-expected.txt: Added.
* web-platform-tests/fetch/http-cache/freshness.html: Added.
* web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
* web-platform-tests/fetch/http-cache/heuristic.html: Added.
* web-platform-tests/fetch/http-cache/http-cache.js: Added.
(make_url):
(server_state):
(make_test.fetch_functions.push.):
(make_test.fetch_functions.push):
(make_test.):
(make_test.run_next_step):
(make_test):
(http_date):
* web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
* web-platform-tests/fetch/http-cache/invalidate.html: Added.
* web-platform-tests/fetch/http-cache/partial-expected.txt: Added.
* web-platform-tests/fetch/http-cache/partial.html: Added.
* web-platform-tests/fetch/http-cache/resources/http-cache.py: Added.
(main):
* web-platform-tests/fetch/http-cache/resources/w3c-import.log: Added.
* web-platform-tests/fetch/http-cache/status-expected.txt: Added.
* web-platform-tests/fetch/http-cache/status.html: Added.
* web-platform-tests/fetch/http-cache/vary-expected.txt: Added.
* web-platform-tests/fetch/http-cache/vary.html: Added.
* web-platform-tests/fetch/http-cache/w3c-import.log: Added.
* web-platform-tests/fetch/nosniff/importscripts-expected.txt: Removed.
* web-platform-tests/hr-time/basic.any-expected.txt: Added.
* web-platform-tests/hr-time/basic.any.html: Added.
* web-platform-tests/hr-time/basic.any.js: Added.
(test):
(async_test):
* web-platform-tests/hr-time/monotonic-clock.any-expected.txt: Added.
* web-platform-tests/hr-time/monotonic-clock.any.html: Added.
* web-platform-tests/hr-time/monotonic-clock.any.js: Added.
(test):
* web-platform-tests/hr-time/monotonic-clock.worker-expected.txt: Added.
* web-platform-tests/hr-time/monotonic-clock.worker.html: Added.
* web-platform-tests/hr-time/w3c-import.log:
* web-platform-tests/html/OWNERS:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt:
* web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html:
* web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub-expected.txt: Added.
* web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html: Added.
* web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
* web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
* web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt: Added.
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html: Added.
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html: Added.
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/w3c-import.log: Added.
* web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/w3c-import.log:
* web-platform-tests/html/browsers/the-windowproxy-exotic-object/w3c-import.log:
* web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub-expected.txt:
* web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html: Added.
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-closed.html:
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-multiple.html:
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html:
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noreferrer.html:
* web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener.html:
* web-platform-tests/html/browsers/windows/browsing-context-expected.txt:
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001-expected.txt: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html: Added.
* web-platform-tests/html/browsers/windows/browsing-context-names/resources/w3c-import.log:
* web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log:
* web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html: Added.
* web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html: Added.
* web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt: Added.
* web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html: Added.
* web-platform-tests/html/browsers/windows/resources/w3c-import.log:
* web-platform-tests/html/browsers/windows/w3c-import.log:
* web-platform-tests/html/dom/OWNERS: Added.
* web-platform-tests/html/dom/w3c-import.log:
* web-platform-tests/html/resources/common.js:
(newIFrame):
* web-platform-tests/html/semantics/OWNERS: Added.
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt: Added.
* web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html: Added.
* web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt: Added.
* web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html: Added.
* web-platform-tests/html/semantics/forms/textfieldselection/selection.html:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html:
* web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
* web-platform-tests/html/semantics/w3c-import.log:
* web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin.html:
* web-platform-tests/html/webappapis/timers/negative-setinterval-expected.txt: Added.
* web-platform-tests/html/webappapis/timers/negative-setinterval.html: Added.
* web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt: Added.
* web-platform-tests/html/webappapis/timers/negative-settimeout.html: Added.
* web-platform-tests/html/webappapis/timers/type-long-setinterval-expected.txt: Added.
* web-platform-tests/html/webappapis/timers/type-long-setinterval.html: Added.
* web-platform-tests/html/webappapis/timers/type-long-settimeout-expected.txt: Added.
* web-platform-tests/html/webappapis/timers/type-long-settimeout.html: Added.
* web-platform-tests/html/webappapis/timers/w3c-import.log:
* web-platform-tests/images/pattern.ogv: Added.
* web-platform-tests/images/pattern.png: Added.
* web-platform-tests/images/w3c-import.log:
* web-platform-tests/innerText/setter-expected.txt:
* web-platform-tests/innerText/setter-tests.js:
* web-platform-tests/innerText/setter.html:
* web-platform-tests/lint.whitelist:
* web-platform-tests/mediacapture-fromelement/idlharness-expected.txt: Added.
* web-platform-tests/mediacapture-fromelement/idlharness.html: Added.
* web-platform-tests/mediacapture-fromelement/w3c-import.log: Added.
* web-platform-tests/resource-timing/SyntheticResponse.py:
(main):
* web-platform-tests/resource-timing/resource-timing.js:
* web-platform-tests/resource-timing/resource_connection_reuse.html:
* web-platform-tests/resources/.htaccess: Added.
* web-platform-tests/resources/docs/api.md: Added.
* web-platform-tests/resources/docs/idlharness.md: Added.
* web-platform-tests/resources/docs/w3c-import.log: Added.
* web-platform-tests/resources/examples/apisample-error-worker.js: Added.
* web-platform-tests/resources/examples/apisample-worker.js: Added.
(test):
(async_test):
* web-platform-tests/resources/examples/apisample.htm: Added.
* web-platform-tests/resources/examples/apisample10.html: Added.
* web-platform-tests/resources/examples/apisample11.html: Added.
* web-platform-tests/resources/examples/apisample12.html: Added.
* web-platform-tests/resources/examples/apisample13.html: Added.
* web-platform-tests/resources/examples/apisample14.html: Added.
* web-platform-tests/resources/examples/apisample15.html: Added.
* web-platform-tests/resources/examples/apisample16.html: Added.
* web-platform-tests/resources/examples/apisample17.html: Added.
* web-platform-tests/resources/examples/apisample2.htm: Added.
* web-platform-tests/resources/examples/apisample3.htm: Added.
* web-platform-tests/resources/examples/apisample4.htm: Added.
* web-platform-tests/resources/examples/apisample5.htm: Added.
* web-platform-tests/resources/examples/apisample6.html: Added.
* web-platform-tests/resources/examples/apisample7.html: Added.
* web-platform-tests/resources/examples/apisample8.html: Added.
* web-platform-tests/resources/examples/apisample9.html: Added.
* web-platform-tests/resources/examples/w3c-import.log: Added.
* web-platform-tests/resources/idlharness.js:
(IdlInterface.prototype.test_member_iterable):
* web-platform-tests/resources/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/coverage.html: Added.
* web-platform-tests/resources/webidl2/index.js: Added.
* web-platform-tests/resources/webidl2/lib/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/package.json: Added.
* web-platform-tests/resources/webidl2/test/invalid.js: Added.
(idls.fs.readdirSync.dir.filter):
(map):
(errors.idls.map):
(i.func):
* web-platform-tests/resources/webidl2/test/invalid/idl/dict-required-default.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/enum.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/maplike-1type.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/module.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableany.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableobjects.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/readonly-iterable.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/setlike-2types.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/special-omittable.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/stringconstants.idl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/typedef-nested.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/dict-required-default.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/enum.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/maplike-1type.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/module.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/nonnullableany.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/nonnullableobjects.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/raises.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/readonly-iterable.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/setlike-2types.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/special-omittable.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/stringconstants.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/typedef-nested.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/mocha.opts: Added.
* web-platform-tests/resources/webidl2/test/syntax.js: Added.
(idls.fs.readdirSync.dir.filter):
(map):
(jsons.idls.map):
(i.func):
* web-platform-tests/resources/webidl2/test/syntax/idl/allowany.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/array.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/attributes.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/callback.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/caller.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/constants.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/constructor.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/dictionary-inherits.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/dictionary.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/documentation-dos.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/documentation.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/enum.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/equivalent-decl.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/exception-inheritance.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/exception.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/extended-attributes.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/generic.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/getter-setter.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/identifier-qualified-names.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/implements.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/indexed-properties.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/inherits-getter.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/interface-inherits.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/iterable.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/legacyiterable.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/map.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/maplike.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/nullableobjects.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/operation-optional-arg.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/overloading.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/overridebuiltins.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/partial-interface.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/primitives.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/sequence.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/serializer.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/setlike.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/static.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-attribute.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-custom.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/stringifier.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/uniontype.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/variadic-operations.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/allowany.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/array.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/attributes.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/callback.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/caller.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/constants.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/constructor.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/dictionary-inherits.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/dictionary.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/documentation-dos.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/documentation.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/enum.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/equivalent-decl.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/exception-inheritance.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/exception.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/extended-attributes.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/generic.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/getter-setter.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/identifier-qualified-names.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/implements.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/indexed-properties.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/inherits-getter.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/interface-inherits.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/iterable.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/iterator.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/legacyiterable.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/map.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/maplike.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/nullable.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/nullableobjects.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/operation-optional-arg.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/overloading.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/overridebuiltins.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/partial-interface.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/primitives.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/sequence.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/serializer.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/setlike.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/static.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/stringifier-attribute.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/stringifier-custom.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/stringifier.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/typedef.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/uniontype.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/variadic-operations.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/syntax/opt/typedef-nested.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/web/make-web-tests.js: Added.
(dir):
(allFromDir):
* web-platform-tests/resources/webidl2/test/web/run-tests.js: Added.
(i.func):
* web-platform-tests/resources/webidl2/test/web/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/LICENSE: Added.
* web-platform-tests/resources/webidl2/test/widlproc/Makefile: Added.
* web-platform-tests/resources/webidl2/test/widlproc/README.md: Added.
* web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/doc/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/Makefile: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/README: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/bondi.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/filesystem.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/examples/widlhtml.css: Added.
(body):
(:link):
(:visited):
(a:active):
(a:link img, a:visited img):
(h1, h2, h3, h4, h5, h6):
(h1, h2, h3):
(h1):
(h2):
(h3):
(h4):
(h5):
(h6):
(.hide):
(code):
(ul.toc, ol.toc, ul.authors):
(div.head):
(div.head h1):
(div.head table):
(div.constraint, div.issue, div.note, div.notice):
(div.exampleInner pre):
(div.exampleOuter):
(div.exampleInner):
(div.exampleWrapper):
(div.exampleHeader):
(div.term):
(div.list):
(.optional):
(.copyright,.legalnotice):
(.copyright small):
(@media screen):
(a[href]:hover):
(ol.enumar):
(ol.enumla):
(ol.enumlr):
(ol.enumua):
(ol.enumur):
(.toc):
(pre):
(.examplecode):
(.def-api-feature-set dt, .def-api-feature dt, dt .def-device-cap, dt.const code):
(dt.attribute code, dt.method code):
(.def-device-caps dd):
(dt.method):
(.summary td):
* web-platform-tests/resources/webidl2/test/widlproc/src/comment.c: Added.
(setcommentnode):
(joininlinecomments):
(outputchildren):
(default_askend):
(root_askend):
(root_output):
(endspecificcnode):
(startcnode):
(para_output):
(para_end):
(return_output):
(author_output):
(code_end):
(code_output):
(text_end):
(text_output):
(html_output):
(param_output):
(api_feature_output):
(def_api_feature_askend):
(def_api_feature_output):
(def_api_feature_set_output):
(def_instantiated_output):
(def_device_cap_output):
(iswhitespace):
(parseword):
(dox_b):
(dox_n):
(dox_code):
(dox_endcode):
(dox_param):
(dox_para):
(dox_throw):
(dox_attr):
(parsecomment):
(parsecomments):
(attachcommenttonode):
(attachcomments):
(processcomments):
(outputdescriptive):
* web-platform-tests/resources/webidl2/test/widlproc/src/comment.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/entities.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/lex.c: Added.
(readinput):
(lexerrorexit):
(lexblockcomment):
(lexinlinecomment):
(lexnumber):
(lexstring):
(lexidentifier):
(lex):
(outputwidl):
* web-platform-tests/resources/webidl2/test/widlproc/src/lex.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/main.c: Added.
(options):
(main):
* web-platform-tests/resources/webidl2/test/widlproc/src/misc.c: Added.
(memalloc):
(memrealloc):
(memfree):
(memprintf):
(vmemprintf):
(vlocerrorexit):
(locerrorexit):
(errorexit):
* web-platform-tests/resources/webidl2/test/widlproc/src/misc.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/node.c: Added.
(newelement):
(newattr):
(newattrlist):
(addnode):
(reversechildren):
(nodeisempty):
(nodewalk):
(findchildelement):
(getattr):
(findchildelementwithnameattr):
(findreturntype):
(findparamidentifier):
(findthrowidentifier):
(outputid):
(outputnode):
* web-platform-tests/resources/webidl2/test/widlproc/src/node.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/os.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/parse.c: Added.
(tokerrorexit):
(lexnocomment):
(eat):
(setid):
(setidentifier):
(setargumentname):
(parsescopedname):
(parsescopednamelist):
(parsereturntype):
(parseunsignedintegertype):
(parsetypesuffix):
(parsetypesuffixstartingwitharray):
(parseprimitiveorstringtype):
(parsenonanytype):
(parseunionmembertype):
(parseuniontype):
(parsetype):
(parseextendedattribute):
(parseextendedattributelist):
(parseexceptionfield):
(parseargument):
(parseargumentlist):
(parseoperationrest):
(parsereturntypeandoperationrest):
(parseoptionaliteratorinterface):
(parseoperationoriteratorrest):
(parseattribute):
(parseserializer):
(parseattributeoroperationoriterator):
(parseconstexpr):
(parsedefaultvalue):
(parsedictionarymember):
(parseconst):
(parseimplementsstatement):
(parsetypedef):
(parseexception):
(parseinterface):
(parsecallback):
(parsedictionary):
(parseenum):
(parsedefinitions):
(parse):
* web-platform-tests/resources/webidl2/test/widlproc/src/parse.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/process.c: Added.
(outputnodeastext):
(printfqid):
(output):
(outputchildren):
(processfiles):
* web-platform-tests/resources/webidl2/test/widlproc/src/process.h: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/Makefile: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/enum.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/module.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableany.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableobjects.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/scopedname.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/sequenceAsAttribute.txt: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/stringconstants.idl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/enum.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/module.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableany.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableobjects.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/raises.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/scopedname.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/sequenceAsAttribute.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/special-omittable.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/stringconstants.idl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/allowany.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/array.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/attributes.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/callback.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/caller.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constants.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constructor.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary-inherits.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation-dos.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/enum.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/equivalent-decl.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception-inheritance.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/getter-setter.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/identifier-qualified-names.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/implements.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/indexed-properties.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/inherits-getter.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/interface-inherits.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/iterator.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/namedconstructor.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nointerfaceobject.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullable.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullableobjects.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/operation-optional-arg.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overloading.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overridebuiltins.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/partial-interface.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/primitives.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/prototyperoot.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/putforwards.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/reg-operations.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/replaceable.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/sequence.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/serializer.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/static.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-attribute.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-custom.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasnull.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasundefined.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typedef.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typesuffixes.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/uniontype.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/variadic-operations.widl: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/allowany.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/array.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/attributes.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/callback.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/caller.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constants.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constructor.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary-inherits.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation-dos.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/enum.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/equivalent-decl.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception-inheritance.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/identifier-qualified-names.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/implements.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/indexed-properties.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/inherits-getter.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/interface-inherits.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/iterator.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/module.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namedconstructor.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namespaceobject.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nointerfaceobject.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullable.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullableobjects.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/operation-optional-arg.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overloading.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overridebuiltins.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/partial-interface.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/primitives.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/prototyperoot.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/putforwards.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/reg-operations.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/replaceable.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/sequence.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/serializer.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/special-omittable.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/static.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-attribute.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-custom.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasnull.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasundefined.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typedef.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typesuffixes.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/uniontype.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/variadic-operations.widlprocxml: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/test/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/test/widlproc/w3c-import.log: Added.
* web-platform-tests/resources/webidl2/w3c-import.log: Added.
* web-platform-tests/resources/webiwarning: inexact rename detection was skipped due to too many files.: Added.
* web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
* web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/close-propagation-forward.js:
(promise_test):
* web-platform-tests/streams/piping/flow-control-expected.txt:
* web-platform-tests/streams/piping/flow-control.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/flow-control.js:
(promise_test):
* web-platform-tests/streams/piping/multiple-propagation-expected.txt:
* web-platform-tests/streams/piping/multiple-propagation.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/multiple-propagation.js:
(promise_test.t.string_appeared_here.then):
(promise_test.t.const.rs.recordingReadableStream.start):
(promise_test.t.return.flushAsyncEvents.then):
* web-platform-tests/streams/piping/pipe-through-expected.txt:
* web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/pipe-through.js:
(promise_test):
* web-platform-tests/streams/readable-byte-streams/general-expected.txt:
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
* web-platform-tests/streams/readable-byte-streams/general.js:
(test):
* web-platform-tests/streams/readable-streams/general-expected.txt:
* web-platform-tests/streams/readable-streams/general.dedicatedworker-expected.txt:
* web-platform-tests/streams/readable-streams/general.js:
(test.get assert_throws):
(test):
* web-platform-tests/url/a-element-expected.txt:
* web-platform-tests/url/a-element-xhtml-expected.txt:
* web-platform-tests/url/interfaces-expected.txt:
* web-platform-tests/url/setters_tests.json:
* web-platform-tests/url/url-constructor-expected.txt:
* web-platform-tests/url/url-setters-expected.txt:
* web-platform-tests/url/urltestdata.json:
* web-platform-tests/user-timing/clear_all_marks.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_all_marks.any.html: Added.
* web-platform-tests/user-timing/clear_all_marks.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_all_marks.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_all_marks.worker.html: Added.
* web-platform-tests/user-timing/clear_all_measures.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_all_measures.any.html: Added.
* web-platform-tests/user-timing/clear_all_measures.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_all_measures.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_all_measures.worker.html: Added.
* web-platform-tests/user-timing/clear_non_existent_mark.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_non_existent_mark.any.html: Added.
* web-platform-tests/user-timing/clear_non_existent_mark.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_non_existent_mark.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_non_existent_mark.worker.html: Added.
* web-platform-tests/user-timing/clear_non_existent_measure.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_non_existent_measure.any.html: Added.
* web-platform-tests/user-timing/clear_non_existent_measure.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_non_existent_measure.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_non_existent_measure.worker.html: Added.
* web-platform-tests/user-timing/clear_one_mark.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_one_mark.any.html: Added.
* web-platform-tests/user-timing/clear_one_mark.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_one_mark.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_one_mark.worker.html: Added.
* web-platform-tests/user-timing/clear_one_measure.any-expected.txt: Added.
* web-platform-tests/user-timing/clear_one_measure.any.html: Added.
* web-platform-tests/user-timing/clear_one_measure.any.js: Added.
(test):
* web-platform-tests/user-timing/clear_one_measure.worker-expected.txt: Added.
* web-platform-tests/user-timing/clear_one_measure.worker.html: Added.
* web-platform-tests/user-timing/entry_type.any-expected.txt: Added.
* web-platform-tests/user-timing/entry_type.any.html: Added.
* web-platform-tests/user-timing/entry_type.any.js: Added.
(test):
* web-platform-tests/user-timing/entry_type.worker-expected.txt: Added.
* web-platform-tests/user-timing/entry_type.worker.html: Added.
* web-platform-tests/user-timing/idlharness-expected.txt:
* web-platform-tests/user-timing/idlharness.html:
* web-platform-tests/user-timing/invoke_with_timing_attributes-expected.txt: Added.
* web-platform-tests/user-timing/invoke_with_timing_attributes.html: Added.
* web-platform-tests/user-timing/invoke_with_timing_attributes.worker-expected.txt: Added.
* web-platform-tests/user-timing/invoke_with_timing_attributes.worker.html: Added.
* web-platform-tests/user-timing/invoke_with_timing_attributes.worker.js: Added.
(emit_test):
(emit_test2):
* web-platform-tests/user-timing/invoke_without_parameter-expected.txt: Added.
* web-platform-tests/user-timing/invoke_without_parameter.html: Added.
* web-platform-tests/user-timing/mark.any-expected.txt: Added.
* web-platform-tests/user-timing/mark.any.html: Added.
* web-platform-tests/user-timing/mark.any.js: Added.
(match_entries):
(filter_entries_by_type):
(test):
(test_mark):
* web-platform-tests/user-timing/mark.worker-expected.txt: Added.
* web-platform-tests/user-timing/mark.worker.html: Added.
* web-platform-tests/user-timing/mark_exceptions-expected.txt: Added.
* web-platform-tests/user-timing/mark_exceptions.html: Added.
* web-platform-tests/user-timing/measure-expected.txt: Added.
* web-platform-tests/user-timing/measure.html: Added.
* web-platform-tests/user-timing/measure_exceptions_navigation_timing-expected.txt: Added.
* web-platform-tests/user-timing/measure_exceptions_navigation_timing.html: Added.
* web-platform-tests/user-timing/measure_navigation_timing-expected.txt: Added.
* web-platform-tests/user-timing/measure_navigation_timing.html: Added.
* web-platform-tests/user-timing/measure_syntax_err.any-expected.txt: Added.
* web-platform-tests/user-timing/measure_syntax_err.any.html: Added.
* web-platform-tests/user-timing/measure_syntax_err.any.js: Added.
(test):
* web-platform-tests/user-timing/measure_syntax_err.worker-expected.txt: Added.
* web-platform-tests/user-timing/measure_syntax_err.worker.html: Added.
* web-platform-tests/user-timing/resources/webperftestharness.js:
* web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
* web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
* web-platform-tests/user-timing/user_timing_exists.any-expected.txt: Added.
* web-platform-tests/user-timing/user_timing_exists.any.html: Added.
* web-platform-tests/user-timing/user_timing_exists.any.js: Added.
(test):
* web-platform-tests/user-timing/user_timing_exists.worker-expected.txt: Added.
* web-platform-tests/user-timing/user_timing_exists.worker.html: Added.
* web-platform-tests/user-timing/w3c-import.log:
* web-platform-tests/w3c-import.log:
* web-platform-tests/webrtc/OWNERS:
* web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates-expected.txt: Added.
* web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates.html: Added.
* web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState-expected.txt: Added.
* web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState.html: Added.
* web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize-expected.txt:
* web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize.html:
* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl-expected.txt:
* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html:
* web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log:
Tools:
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.fetch): Fetching origin remote in case there is more than one.
LayoutTests:
* TestExpectations:
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-expected.txt: Added.
* platform/mac/TestExpectations:
* tests-options.json:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsTestExpectations">trunk/LayoutTests/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cresourcesTestRepositories">trunk/LayoutTests/imported/w3c/resources/TestRepositories</a></li>
<li><a href="#trunkLayoutTestsimportedw3cresourcesimportexpectationsjson">trunk/LayoutTests/imported/w3c/resources/import-expectations.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cresourcesresourcefilesjson">trunk/LayoutTests/imported/w3c/resources/resource-files.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCONTRIBUTINGmd">trunk/LayoutTests/imported/w3c/web-platform-tests/CONTRIBUTING.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbcursordirectionindexkeyrangehtm">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbcursordirectionobjectstorekeyrangehtm">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbdatabasetransactionexceptionorderexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbdatabasetransactionexceptionorderhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbdatabase_createObjectStore9invalidparametershtm">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbobjectstore_deletedhtm">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBsupportpromisesjs">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/support-promises.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsLICENSEmd">trunk/LayoutTests/imported/w3c/web-platform-tests/LICENSE.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsREADMEmd">trunk/LayoutTests/imported/w3c/web-platform-tests/README.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsWebIDLecmascriptbindingesexceptionsexceptionshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequesteventreadystatechangeloadedhtm">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestresourcesauth2corsenabledpy">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestresourcesconditionalpy">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/conditional.py</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendauthenticationcorsbasicsetrequestheaderexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendauthenticationcorsbasicsetrequestheaderhtm">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendentitybodydocumentbogusexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendentitybodydocumentbogushtm">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendnonsameoriginexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendnonsameoriginhtm">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscheck_stabilitypy">trunk/LayoutTests/imported/w3c/web-platform-tests/check_stability.py</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsci_lintsh">trunk/LayoutTests/imported/w3c/web-platform-tests/ci_lint.sh</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscorsallowheadersexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscorsallowheadershtm">trunk/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscorsoriginexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscorsoriginhtm">trunk/LayoutTests/imported/w3c/web-platform-tests/cors/origin.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscorspreflightfailurehtm">trunk/LayoutTests/imported/w3c/web-platform-tests/cors/preflight-failure.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscorsredirectuserinfoexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-userinfo-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscorsredirectuserinfohtm">trunk/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-userinfo.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscorsrequestheadershtm">trunk/LayoutTests/imported/w3c/web-platform-tests/cors/request-headers.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportflexiblelengths001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportgridtemplateareas001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportgridtemplatecolumnsrows001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportnamedgridlines001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportrepeat001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinetemplatecolumnsrowsresolvedvalues001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportflexiblelengths001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportgridtemplateareas001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportgridtemplatecolumnsrows001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportnamedgridlines001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportrepeat001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridtemplatecolumnsrowsresolvedvalues001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griditemsw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1gridmodelgridcomputedvaluedisplayfloateditems001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1gridmodelgridsupportdisplay001xht">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1gridmodelw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomeventsEventTargetdispatchEventexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomlistsDOMTokenListiterationexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomlistsDOMTokenListiterationhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomlistsw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomnodesDocumentcreateEventexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomnodesDocumentcreateEventhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomnodesDocumentcreateEventjs">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsencryptedmediacontentcontentmetadatajs">trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/content-metadata.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsencryptedmediacontentw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchOWNERS">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/OWNERS</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerredirectedworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerredirectedworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsfilteringexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsfilteringworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsfilteringjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorsw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersheadersidlexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-idl-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiredirectredirectcountcrossoriginexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiredirectredirectcountcrossoriginworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestinit003subexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestinit003subhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimew3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlOWNERS">trunk/LayoutTests/imported/w3c/web-platform-tests/html/OWNERS</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersbrowsingthewebunloadingdocumentsbeforeunloadcancelingexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersbrowsingthewebunloadingdocumentsbeforeunloadcancelinghtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsershistorythelocationinterfacew3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersorigincrossoriginobjectscrossoriginobjectsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersorigincrossoriginobjectscrossoriginobjectshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynamew3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowproxyexoticobjectw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowproxyexoticobjectwindowproxyprototypesettingcrossoriginsubexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenerclosedhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-closed.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenermultiplehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-multiple.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenernoopenerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenernoreferrerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noreferrer.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsresourcesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmldomw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlresourcescommonjs">trunk/LayoutTests/imported/w3c/web-platform-tests/html/resources/common.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsembeddedcontentthecanvaselementw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectiontextfieldselectionsetSelectionRangeexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectiontextfieldselectionsetSelectionRangehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinteractiveelementsthedialogelementw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapisthewindoworworkerglobalscopemixinWorker_Self_Originhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsimagesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/images/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsetterexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsettertestsjs">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-tests.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsetterhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestslintwhitelist">trunk/LayoutTests/imported/w3c/web-platform-tests/lint.whitelist</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcetimingSyntheticResponsepy">trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/SyntheticResponse.py</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcetimingresourcetimingjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource-timing.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcetimingresource_connection_reusehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_connection_reuse.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesidlharnessjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/idlharness.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationforwardexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationforwarddedicatedworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationforwardjs">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingflowcontrolexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingflowcontroldedicatedworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.dedicatedworker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingflowcontroljs">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingmultiplepropagationexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingmultiplepropagationdedicatedworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.dedicatedworker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingmultiplepropagationjs">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingpipethroughexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingpipethroughdedicatedworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingpipethroughjs">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablebytestreamsgeneralexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablebytestreamsgeneraldedicatedworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablebytestreamsgeneraljs">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamsgeneralexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamsgeneraldedicatedworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.dedicatedworker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamsgeneraljs">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsurlaelementexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsurlaelementxhtmlexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-xhtml-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsurlinterfacesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/url/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsurlsetters_testsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/url/setters_tests.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsurlurlconstructorexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/url/url-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsurlurlsettersexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/url/url-setters-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsurlurltestdatajson">trunk/LayoutTests/imported/w3c/web-platform-tests/url/urltestdata.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingidlharnessexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/idlharness-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingidlharnesshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/idlharness.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingresourceswebperftestharnessjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/resources/webperftestharness.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingtest_user_timing_mark_exceptionsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingtest_user_timing_measure_exceptionsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcOWNERS">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/OWNERS</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectionrtcconfigurationicecandidatepoolsizeexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectionrtcconfigurationicecandidatepoolsizehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectionrtcpeerconnectionidlexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectionrtcpeerconnectionidlhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectionw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsplatformmacTestExpectations">trunk/LayoutTests/platform/mac/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1TestExpectations">trunk/LayoutTests/platform/mac-wk1/TestExpectations</a></li>
<li><a href="#trunkLayoutTeststestsoptionsjson">trunk/LayoutTests/tests-options.json</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsScriptswebkitpycommoncheckoutscmgitpy">trunk/Tools/Scripts/webkitpy/common/checkout/scm/git.py</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRFEFEpem">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFE.pem</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRFEFFpem">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFF.pem</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRcacertpem">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cacert.pem</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRcakeypem">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cakey.pem</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRindextxt">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRindextxtattr">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRindextxtattrold">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr.old</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRindextxtold">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.old</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRlocalhostkey">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.key</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRlocalhostpem">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.pem</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRserial">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRserialold">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial.old</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbobjectstore_createIndex15autoincrementexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbobjectstore_createIndex15autoincrementhtm">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBinterleavedcursorsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBinterleavedcursorshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBparallelcursorsupgradeexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBparallelcursorsupgradehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendconditionalcorsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendconditionalcorshtm">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsenduspanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsenduspanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsenduspanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.js</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchOWNERS">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/OWNERS</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerhttpsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerhttpshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfaceshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesidl">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.idl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerjs">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrernoreferrerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrernoreferrerwhendowngradehttpsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrernoreferrerwhendowngradehttpshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrernoreferrerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferreroriginexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferreroriginwhencrossoriginexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferreroriginwhencrossoriginhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferreroriginhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrersameoriginexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrersameoriginhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerstrictoriginwhencrossoriginhttpsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerstrictoriginwhencrossoriginhttpshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerstrictoriginhttpsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerstrictoriginhttpshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerunsafeurlhttpsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerunsafeurlhttpshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerjs">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconresourcesinspectheaderpy">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/inspect-header.py</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsbeaconresourcesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsshtaccess">trunk/LayoutTests/imported/w3c/web-platform-tests/css/.htaccess</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscssOWNERS">trunk/LayoutTests/imported/w3c/web-platform-tests/css/OWNERS</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscssREADMEmd">trunk/LayoutTests/imported/w3c/web-platform-tests/css/README.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscssbuildcsstestsuitessh">trunk/LayoutTests/imported/w3c/web-platform-tests/css/build-css-testsuites.sh</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscssrequirementstxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css/requirements.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscssw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/css/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1OWNERS">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/OWNERS</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1cubicbeziertimingfunctionsoutputexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1cubicbeziertimingfunctionsoutputhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1framestimingfunctionsoutputexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1framestimingfunctionsoutputhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1framestimingfunctionssyntaxexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1framestimingfunctionssyntaxhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1steptimingfunctionsoutputexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1steptimingfunctionsoutputhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1testcommonjs">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/testcommon.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestscsstiming1w3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsdomlistsREADMEmd">trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/README.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferreranyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferreranyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferreranyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferreranyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferreranyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferreranyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferreranyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferreranyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferreranyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstaranyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstaranyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstaranyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.worker.html</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcache304updateexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcache304updatehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/304-update.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheREADMEmd">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/README.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheccrequestexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheccrequesthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachefreshnessexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachefreshnesshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheheuristicexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheheuristichtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachehttpcachejs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/http-cache.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheinvalidateexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheinvalidatehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachepartialexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachepartialhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial.html</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheresourceshttpcachepy">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/http-cache.py</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheresourcesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachestatusexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachestatushtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachevaryexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachevaryhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachew3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimebasicanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimebasicanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimebasicanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsershistorythelocationinterfacelocationprototypesettingcrossoriginsubexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsershistorythelocationinterfacelocationprototypesettingcrossoriginsubhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameopenfeaturestokenization001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameopenfeaturestokenization001html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameresourcescloseselfhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameresourcesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowproxyexoticobjectwindowproxyprototypesettingcrossoriginsubhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank001html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank002html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank003expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank003html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent001html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent002html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent003expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent003html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent004expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent004html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_self001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_self001html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_self002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_self002html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top001html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top002html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top003expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top003html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoosedefault001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoosedefault001html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoosedefault002expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoosedefault002html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschooseexisting001expectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschooseexisting001html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent001iframe1html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent002iframehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent002windowhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent003iframehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent003windowhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent004iframe1html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent004iframe2html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_self001iframehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_self002iframehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_top002windowhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_top003iframe1html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_top003iframe2html">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoosedefault002iframehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschooseexisting001iframehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesopenin_parenthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesopenin_tophtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesreporthasopenerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesreportistophtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsopenercrossoriginmanualsubhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsresourcesopenercrossoriginembedsubhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsresourcesopenercrossoriginendtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsresourcesopenercrossoriginhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmldomOWNERS">trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/OWNERS</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsOWNERS">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/OWNERS</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionstartendexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionstartendhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionvalueinteractionsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionvalueinteractionshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinteractiveelementsthedialogelementcenteringexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinteractiveelementsthedialogelementcenteringiframesubhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinteractiveelementsthedialogelementcenteringhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersnegativesetintervalexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersnegativesetintervalhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersnegativesettimeoutexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersnegativesettimeouthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimerstypelongsetintervalexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimerstypelongsetintervalhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimerstypelongsettimeoutexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimerstypelongsettimeouthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsimagespatternogv">trunk/LayoutTests/imported/w3c/web-platform-tests/images/pattern.ogv</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsimagespatternpng">trunk/LayoutTests/imported/w3c/web-platform-tests/images/pattern.png</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/mediacapture-fromelement/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsmediacapturefromelementidlharnessexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/mediacapture-fromelement/idlharness-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsmediacapturefromelementidlharnesshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/mediacapture-fromelement/idlharness.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsmediacapturefromelementw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/mediacapture-fromelement/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceshtaccess">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/.htaccess</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/docs/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesdocsapimd">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/docs/api.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesdocsapimdorig">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/docs/api.md.orig</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesdocsidlharnessmd">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/docs/idlharness.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesdocsw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/docs/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisampleerrorworkerjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample-error-worker.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisampleworkerjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample-worker.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisamplehtm">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample10html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample10.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample11html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample11.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample12html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample12.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample12htmlorig">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample12.html.orig</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample13html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample13.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample14html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample14.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample15html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample15.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample16html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample16.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample17html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample17.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample2htm">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample2.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample3htm">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample3.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample4htm">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample4.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample5htm">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample5.htm</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample6html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample6.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample7html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample7.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample8html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample8.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesapisample9html">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/apisample9.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesexamplesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/examples/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourcesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2coveragehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/coverage.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2indexjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/index.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2libw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/lib/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2packagejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/package.json</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididldictrequireddefaultwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/dict-required-default.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlenumwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/enum.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlmaplike1typewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/maplike-1type.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlmodulewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/module.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlnonnullableanywidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableany.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlnonnullableobjectswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableobjects.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlraiseswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlreadonlyiterablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/readonly-iterable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlscopednamewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlsequenceAsAttributewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlsetlike2typeswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/setlike-2types.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlspecialomittablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/special-omittable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlstringconstantsidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/stringconstants.idl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididltypedefnestedwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/typedef-nested.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalididlw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsondictrequireddefaultjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/dict-required-default.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonenumjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/enum.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonmaplike1typejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/maplike-1type.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonmodulejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/module.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonnonnullableanyjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/nonnullableany.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonnonnullableobjectsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/nonnullableobjects.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonraisesjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/raises.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonreadonlyiterablejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/readonly-iterable.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonscopednamejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonsequenceAsAttributejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonsetlike2typesjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/setlike-2types.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonspecialomittablejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/special-omittable.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonstringconstantsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/stringconstants.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsontypedefnestedjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/typedef-nested.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjsonw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testinvalidjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/invalid.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testmochaopts">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/mocha.opts</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlallowanywidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/allowany.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlarraywidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/array.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlattributeswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/attributes.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlcallbackwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/callback.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlcallerwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/caller.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlconstantswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/constants.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlconstructorwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/constructor.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidldictionaryinheritswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/dictionary-inherits.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidldictionarywidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/dictionary.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidldocumentationdoswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/documentation-dos.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidldocumentationwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/documentation.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlenumwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/enum.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlequivalentdeclwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/equivalent-decl.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlexceptioninheritancewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/exception-inheritance.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlexceptionwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/exception.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlextendedattributeswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/extended-attributes.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlgenericwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/generic.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlgettersetterwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/getter-setter.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlidentifierqualifiednameswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/identifier-qualified-names.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlimplementswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/implements.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlindexedpropertieswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/indexed-properties.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlinheritsgetterwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/inherits-getter.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlinterfaceinheritswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/interface-inherits.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidliterablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/iterable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidliteratorwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidllegacyiterablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/legacyiterable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlmapwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/map.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlmaplikewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/maplike.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlnamedconstructorwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlnointerfaceobjectwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlnullablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlnullableobjectswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/nullableobjects.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidloperationoptionalargwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/operation-optional-arg.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidloverloadingwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/overloading.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidloverridebuiltinswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/overridebuiltins.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlpartialinterfacewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/partial-interface.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlprimitiveswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/primitives.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlprototyperootwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlputforwardswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlregoperationswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlreplaceablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlsequencewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/sequence.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlserializerwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/serializer.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlsetlikewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/setlike.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlstaticwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/static.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlstringifierattributewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-attribute.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlstringifiercustomwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-custom.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlstringifierwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidltreatasnullwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidltreatasundefinedwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidltypedefnestedwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidltypedefwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidltypesuffixeswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidluniontypewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/uniontype.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlvariadicoperationswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/variadic-operations.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxidlw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonallowanyjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/allowany.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonarrayjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/array.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonattributesjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/attributes.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsoncallbackjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/callback.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsoncallerjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/caller.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonconstantsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/constants.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonconstructorjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/constructor.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsondictionaryinheritsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/dictionary-inherits.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsondictionaryjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/dictionary.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsondocumentationdosjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/documentation-dos.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsondocumentationjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/documentation.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonenumjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/enum.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonequivalentdecljson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/equivalent-decl.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonexceptioninheritancejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/exception-inheritance.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonexceptionjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/exception.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonextendedattributesjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/extended-attributes.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsongenericjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/generic.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsongettersetterjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/getter-setter.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonidentifierqualifiednamesjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/identifier-qualified-names.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonimplementsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/implements.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonindexedpropertiesjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/indexed-properties.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsoninheritsgetterjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/inherits-getter.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsoninterfaceinheritsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/interface-inherits.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsoniterablejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/iterable.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsoniteratorjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/iterator.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonlegacyiterablejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/legacyiterable.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonmapjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/map.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonmaplikejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/maplike.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonnamedconstructorjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonnointerfaceobjectjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonnullablejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/nullable.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonnullableobjectsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/nullableobjects.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonoperationoptionalargjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/operation-optional-arg.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonoverloadingjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/overloading.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonoverridebuiltinsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/overridebuiltins.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonpartialinterfacejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/partial-interface.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonprimitivesjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/primitives.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonprototyperootjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonputforwardsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonregoperationsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonreplaceablejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonsequencejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/sequence.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonserializerjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/serializer.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonsetlikejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/setlike.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonstaticjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/static.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonstringifierattributejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/stringifier-attribute.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonstringifiercustomjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/stringifier-custom.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonstringifierjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/stringifier.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsontreatasnulljson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsontreatasundefinedjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsontypedefnestedjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsontypedefjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/typedef.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsontypesuffixesjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonuniontypejson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/uniontype.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonvariadicoperationsjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/variadic-operations.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjsonw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/opt/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxopttypedefnestedjson">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/opt/typedef-nested.json</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxoptw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testsyntaxjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/syntax.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/web/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwebmakewebtestsjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/web/make-web-tests.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwebruntestsjs">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/web/run-tests.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwebw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/web/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocLICENSE">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/LICENSE</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocMakefile">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/Makefile</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocREADMEmd">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/README.md</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/doc/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocdochtmltodtdxsl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocdochtmltodtdxslorig">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl.orig</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocdocw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/doc/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocdocwidlprochtml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocdocwidlprochtmlorig">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html.orig</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocexamplesMakefile">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/Makefile</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocexamplesREADME">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/README</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocexamplesbondiwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/bondi.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocexamplesfilesystemwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/filesystem.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocexamplesspectowidlxsl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocexamplesspectowidlxslorig">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl.orig</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocexamplesw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocexampleswidlhtmlcss">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/examples/widlhtml.css</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrccommentc">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/comment.c</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrccommenth">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/comment.h</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcentitiesh">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/entities.h</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrclexc">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/lex.c</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrclexh">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/lex.h</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcmainc">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/main.c</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcmiscc">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/misc.c</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcmisch">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/misc.h</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcnodec">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/node.c</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcnodeh">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/node.h</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcosh">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/os.h</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcparsec">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/parse.c</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcparseh">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/parse.h</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcprocessc">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/process.c</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcprocessh">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/process.h</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcwidlprocxmltohtmlxsl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocsrcwidlprocxmltohtmlxslorig">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl.orig</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestMakefile">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/Makefile</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvaliderrorenumtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/enum.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvaliderrormoduletxt">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/module.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvaliderrornonnullableanytxt">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableany.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvaliderrornonnullableobjectstxt">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableobjects.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvaliderrorscopednametxt">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/scopedname.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvaliderrorsequenceAsAttributetxt">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/sequenceAsAttribute.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvaliderrorstringconstantsidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/stringconstants.idl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvaliderrorw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlenumwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/enum.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlmodulewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/module.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlnonnullableanywidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableany.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlnonnullableobjectswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableobjects.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlraiseswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/raises.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlscopednamewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/scopedname.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlsequenceAsAttributewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/sequenceAsAttribute.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlspecialomittablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/special-omittable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlstringconstantsidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/stringconstants.idl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestinvalididlw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlallowanywidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/allowany.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlarraywidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/array.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlattributeswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/attributes.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlcallbackwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/callback.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlcallerwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/caller.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlconstantswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constants.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlconstructorwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constructor.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididldictionaryinheritswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary-inherits.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididldictionarywidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididldocumentationdoswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation-dos.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididldocumentationwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlenumwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/enum.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlequivalentdeclwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/equivalent-decl.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlexceptioninheritancewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception-inheritance.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlexceptionwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlgettersetterwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/getter-setter.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlidentifierqualifiednameswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/identifier-qualified-names.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlimplementswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/implements.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlindexedpropertieswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/indexed-properties.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlinheritsgetterwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/inherits-getter.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlinterfaceinheritswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/interface-inherits.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididliteratorwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/iterator.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlnamedconstructorwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/namedconstructor.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlnointerfaceobjectwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nointerfaceobject.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlnullablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlnullableobjectswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullableobjects.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididloperationoptionalargwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/operation-optional-arg.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididloverloadingwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overloading.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididloverridebuiltinswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overridebuiltins.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlpartialinterfacewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/partial-interface.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlprimitiveswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/primitives.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlprototyperootwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/prototyperoot.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlputforwardswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/putforwards.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlregoperationswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/reg-operations.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlreplaceablewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/replaceable.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlsequencewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/sequence.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlserializerwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/serializer.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlstaticwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/static.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlstringifierattributewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-attribute.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlstringifiercustomwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-custom.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlstringifierwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididltreatasnullwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasnull.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididltreatasundefinedwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasundefined.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididltypedefwidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typedef.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididltypesuffixeswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typesuffixes.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididluniontypewidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/uniontype.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlvariadicoperationswidl">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/variadic-operations.widl</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalididlw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlallowanywidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/allowany.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlarraywidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/array.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlattributeswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/attributes.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlcallbackwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/callback.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlcallerwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/caller.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlconstantswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constants.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlconstructorwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constructor.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmldictionaryinheritswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary-inherits.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmldictionarywidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmldocumentationdoswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation-dos.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmldocumentationwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlenumwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/enum.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlequivalentdeclwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/equivalent-decl.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlexceptioninheritancewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception-inheritance.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlexceptionwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlgettersetterwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/getter-setter.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlidentifierqualifiednameswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/identifier-qualified-names.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlimplementswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/implements.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlindexedpropertieswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/indexed-properties.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlinheritsgetterwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/inherits-getter.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlinterfaceinheritswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/interface-inherits.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmliteratorwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/iterator.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlmodulewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/module.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlnamedconstructorwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namedconstructor.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlnamespaceobjectwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namespaceobject.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlnointerfaceobjectwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nointerfaceobject.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlnullablewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullable.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlnullableobjectswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullableobjects.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmloperationoptionalargwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/operation-optional-arg.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmloverloadingwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overloading.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmloverridebuiltinswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overridebuiltins.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlpartialinterfacewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/partial-interface.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlprimitiveswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/primitives.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlprototyperootwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/prototyperoot.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlputforwardswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/putforwards.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlregoperationswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/reg-operations.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlreplaceablewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/replaceable.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlsequencewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/sequence.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlserializerwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/serializer.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlspecialomittablewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/special-omittable.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlstaticwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/static.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlstringifierattributewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-attribute.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlstringifiercustomwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-custom.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlstringifierwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmltreatasnullwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasnull.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmltreatasundefinedwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasundefined.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmltypedefwidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typedef.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmltypesuffixeswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typesuffixes.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmluniontypewidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/uniontype.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlvariadicoperationswidlprocxml">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/variadic-operations.widlprocxml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestvalidxmlw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlproctestw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/test/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2testwidlprocw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/test/widlproc/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsresourceswebidl2w3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_marksanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_marks.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_marksanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_marks.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_marksanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_marks.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_marksworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_marks.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_marksworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_marks.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_measuresanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_measures.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_measuresanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_measures.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_measuresanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_measures.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_measuresworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_measures.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_all_measuresworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_all_measures.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_markanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_mark.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_markanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_mark.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_markanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_mark.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_markworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_mark.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_markworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_mark.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_measureanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_measure.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_measureanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_measure.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_measureanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_measure.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_measureworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_measure.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_non_existent_measureworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_non_existent_measure.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_markanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_mark.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_markanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_mark.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_markanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_mark.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_markworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_mark.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_markworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_mark.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_measureanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_measure.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_measureanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_measure.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_measureanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_measure.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_measureworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_measure.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingclear_one_measureworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/clear_one_measure.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingentry_typeanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/entry_type.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingentry_typeanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/entry_type.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingentry_typeanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/entry_type.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingentry_typeworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/entry_type.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingentry_typeworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/entry_type.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminginvoke_with_timing_attributesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/invoke_with_timing_attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminginvoke_with_timing_attributeshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/invoke_with_timing_attributes.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminginvoke_with_timing_attributesworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/invoke_with_timing_attributes.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminginvoke_with_timing_attributesworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/invoke_with_timing_attributes.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminginvoke_with_timing_attributesworkerjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/invoke_with_timing_attributes.worker.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminginvoke_without_parameterexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/invoke_without_parameter-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminginvoke_without_parameterhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/invoke_without_parameter.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmarkanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/mark.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmarkanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/mark.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmarkanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/mark.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmarkworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/mark.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmarkworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/mark.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmark_exceptionsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/mark_exceptions-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmark_exceptionshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/mark_exceptions.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasureexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasurehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_exceptions_navigation_timingexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_exceptions_navigation_timing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_exceptions_navigation_timinghtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_exceptions_navigation_timing.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_navigation_timingexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_navigation_timing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_navigation_timinghtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_navigation_timing.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_syntax_erranyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_syntax_err.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_syntax_erranyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_syntax_err.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_syntax_erranyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_syntax_err.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_syntax_errworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_syntax_err.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertimingmeasure_syntax_errworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/measure_syntax_err.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminguser_timing_existsanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/user_timing_exists.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminguser_timing_existsanyhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/user_timing_exists.any.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminguser_timing_existsanyjs">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/user_timing_exists.any.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminguser_timing_existsworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/user_timing_exists.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsusertiminguser_timing_existsworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/user-timing/user_timing_exists.worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectioncanTrickleIceCandidatesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectioncanTrickleIceCandidateshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectioniceGatheringStateexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestswebrtcrtcpeerconnectioniceGatheringStatehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState.html</a></li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/</li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/</li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/</li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/dom/</li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/dom/events/</li>
<li><a href="#trunkLayoutTestsplatformiossimulatorwk2importedw3cwebplatformtestsdomeventsEventTargetdispatchEventexpectedtxt">trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt</a></li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/</li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/browsers/</li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/browsers/the-window-object/</li>
<li>trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/</li>
<li><a href="#trunkLayoutTestsplatformiossimulatorwk2importedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameopenfeaturestokenization001expectedtxt">trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt</a></li>
<li>trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/</li>
<li><a href="#trunkLayoutTestsplatformmacwk1importedw3cwebplatformtestsfetchhttpcache304updateexpectedtxt">trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1importedw3cwebplatformtestsfetchhttpcacheccrequestexpectedtxt">trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1importedw3cwebplatformtestsfetchhttpcacheheuristicexpectedtxt">trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1importedw3cwebplatformtestsfetchhttpcacheinvalidateexpectedtxt">trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk1importedw3cwebplatformtestsfetchhttpcachestatusexpectedtxt">trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadershtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadershtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeabouthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedatahtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedatajs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponsehtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponsejs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasichtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookieshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflighthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirecthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatushtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflighthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflighthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirecthtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasichtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesworkerhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookieshtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestcacheonlyifcachedexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiresourcesredirectcountpy">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/redirect-count.py</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchnosniffimportscriptsexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/nosniff/importscripts-expected.txt</a></li>
<li>trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/url/</li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/ChangeLog        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2017-04-09 Youenn Fablet <youenn@apple.com>
+
+ Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
+ https://bugs.webkit.org/show_bug.cgi?id=170647
+
+ Reviewed by Sam Weinig.
+
+ * TestExpectations:
+ * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
+ * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
+ * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
+ * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
+ * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt: Added.
+ * platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-expected.txt: Added.
+ * platform/mac/TestExpectations:
+ * tests-options.json:
+
</ins><span class="cx"> 2017-04-09 Joseph Pecoraro <pecoraro@apple.com>
</span><span class="cx">
</span><span class="cx"> test262: test262/test/annexB/language/literals/regexp/identity-escape.js
</span></span></pre></div>
<a id="trunkLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/TestExpectations (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/TestExpectations        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/TestExpectations        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -340,15 +340,11 @@
</span><span class="cx"> webkit.org/b/157145 imported/w3c/web-platform-tests/fetch/nosniff/stylesheet.html [ Failure Pass ]
</span><span class="cx"> webkit.org/b/161312 imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context.html [ Failure Pass ]
</span><span class="cx">
</span><del>-imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.html [ DumpJSConsoleLogInStdErr ]
-imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.html [ DumpJSConsoleLogInStdErr ]
-imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html [ DumpJSConsoleLogInStdErr ]
-imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.html [ DumpJSConsoleLogInStdErr ]
-
</del><span class="cx"> # rdar://problem/30975761
</span><span class="cx"> [ Debug ] http/tests/fetch/fetch-in-worker-crash.html [ Pass Crash ]
</span><del>-webkit.org/b/170395 [ Debug ] imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html [ DumpJSConsoleLogInStdErr Pass Crash ]
</del><span class="cx">
</span><ins>+imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors.htm [ Failure ]
+imported/w3c/web-platform-tests/fetch/http-cache/partial.html [ Failure ]
</ins><span class="cx"> webkit.org/b/159724 imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm [ Failure Pass ]
</span><span class="cx"> webkit.org/b/167380 imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html [ Failure Pass ]
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +1,1258 @@
</span><ins>+2017-04-09 Youenn Fablet <youenn@apple.com>
+
+ Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
+ https://bugs.webkit.org/show_bug.cgi?id=170647
+
+ Reviewed by Sam Weinig.
+
+ Removing CSS import repository as it is merged into WPT.
+
+ * resources/TestRepositories:
+ * resources/import-expectations.json:
+ * resources/resource-files.json:
+ * web-platform-tests/%CERTS_DIR%/FEFE.pem: Added.
+ * web-platform-tests/%CERTS_DIR%/FEFF.pem: Added.
+ * web-platform-tests/%CERTS_DIR%/cacert.pem: Added.
+ * web-platform-tests/%CERTS_DIR%/cakey.pem: Added.
+ * web-platform-tests/%CERTS_DIR%/index.txt: Added.
+ * web-platform-tests/%CERTS_DIR%/index.txt.attr: Added.
+ * web-platform-tests/%CERTS_DIR%/index.txt.attr.old: Added.
+ * web-platform-tests/%CERTS_DIR%/index.txt.old: Added.
+ * web-platform-tests/%CERTS_DIR%/localhost.key: Added.
+ * web-platform-tests/%CERTS_DIR%/localhost.pem: Added.
+ * web-platform-tests/%CERTS_DIR%/serial: Added.
+ * web-platform-tests/%CERTS_DIR%/serial.old: Added.
+ * web-platform-tests/%CERTS_DIR%/w3c-import.log: Added.
+ * web-platform-tests/CONTRIBUTING.md:
+ * web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm:
+ * web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm:
+ * web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt:
+ * web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html:
+ * web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm:
+ * web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt: Added.
+ * web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm: Added.
+ * web-platform-tests/IndexedDB/idbobjectstore_deleted.htm:
+ * web-platform-tests/IndexedDB/interleaved-cursors-expected.txt: Added.
+ * web-platform-tests/IndexedDB/interleaved-cursors.html: Added.
+ * web-platform-tests/IndexedDB/parallel-cursors-upgrade-expected.txt: Added.
+ * web-platform-tests/IndexedDB/parallel-cursors-upgrade.html: Added.
+ * web-platform-tests/IndexedDB/support-promises.js:
+ (migrateNamedDatabase):
+ (createNamedDatabase):
+ (openNamedDatabase):
+ * web-platform-tests/IndexedDB/w3c-import.log:
+ * web-platform-tests/LICENSE.md:
+ * web-platform-tests/README.md:
+ * web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html:
+ * web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm:
+ * web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py:
+ (main):
+ * web-platform-tests/XMLHttpRequest/resources/conditional.py:
+ (main):
+ * web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt:
+ * web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm:
+ * web-platform-tests/XMLHttpRequest/send-conditional-cors-expected.txt: Added.
+ * web-platform-tests/XMLHttpRequest/send-conditional-cors.htm: Added.
+ * web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt:
+ * web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm:
+ * web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt:
+ * web-platform-tests/XMLHttpRequest/send-non-same-origin.htm:
+ * web-platform-tests/XMLHttpRequest/send-usp.any-expected.txt: Added.
+ * web-platform-tests/XMLHttpRequest/send-usp.any.html: Added.
+ * web-platform-tests/XMLHttpRequest/send-usp.any.js: Added.
+ (encode):
+ (x.onload.overall_test.step_func):
+ * web-platform-tests/XMLHttpRequest/w3c-import.log:
+ * web-platform-tests/background-fetch/OWNERS: Added.
+ * web-platform-tests/background-fetch/interfaces-expected.txt: Added.
+ * web-platform-tests/background-fetch/interfaces-worker.https-expected.txt: Added.
+ * web-platform-tests/background-fetch/interfaces-worker.https.html: Added.
+ * web-platform-tests/background-fetch/interfaces.html: Added.
+ * web-platform-tests/background-fetch/interfaces.idl: Added.
+ * web-platform-tests/background-fetch/interfaces.worker-expected.txt: Added.
+ * web-platform-tests/background-fetch/interfaces.worker.html: Added.
+ * web-platform-tests/background-fetch/interfaces.worker.js: Added.
+ (promise_test):
+ * web-platform-tests/background-fetch/w3c-import.log: Added.
+ * web-platform-tests/beacon/headers/header-referrer-no-referrer-expected.txt: Added.
+ * web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https-expected.txt: Added.
+ * web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html: Added.
+ * web-platform-tests/beacon/headers/header-referrer-no-referrer.html: Added.
+ * web-platform-tests/beacon/headers/header-referrer-origin-expected.txt: Added.
+ * web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin-expected.txt: Added.
+ * web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html: Added.
+ * web-platform-tests/beacon/headers/header-referrer-origin.html: Added.
+ * web-platform-tests/beacon/headers/header-referrer-same-origin-expected.txt: Added.
+ * web-platform-tests/beacon/headers/header-referrer-same-origin.html: Added.
+ * web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https-expected.txt: Added.
+ * web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html: Added.
+ * web-platform-tests/beacon/headers/header-referrer-strict-origin.https-expected.txt: Added.
+ * web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html: Added.
+ * web-platform-tests/beacon/headers/header-referrer-unsafe-url.https-expected.txt: Added.
+ * web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html: Added.
+ * web-platform-tests/beacon/headers/header-referrer.js: Added.
+ (testReferrerHeader):
+ (return.new.Promise.):
+ (return.new.Promise):
+ * web-platform-tests/beacon/headers/w3c-import.log: Added.
+ * web-platform-tests/beacon/resources/inspect-header.py: Added.
+ (main):
+ * web-platform-tests/beacon/resources/w3c-import.log: Added.
+ * web-platform-tests/check_stability.py:
+ (get_git_cmd.git):
+ (fetch_wpt):
+ (get_branch_point):
+ (get_files_changed):
+ (process_results):
+ (markdown_adjust):
+ (get_parser):
+ (main):
+ * web-platform-tests/ci_lint.sh:
+ * web-platform-tests/cors/allow-headers-expected.txt:
+ * web-platform-tests/cors/allow-headers.htm:
+ * web-platform-tests/cors/origin-expected.txt:
+ * web-platform-tests/cors/origin.htm:
+ * web-platform-tests/cors/preflight-failure.htm:
+ * web-platform-tests/cors/redirect-userinfo-expected.txt:
+ * web-platform-tests/cors/redirect-userinfo.htm:
+ * web-platform-tests/cors/request-headers.htm:
+ * web-platform-tests/css-timing-1/OWNERS: Added.
+ * web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt: Added.
+ * web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html: Added.
+ * web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: Added.
+ * web-platform-tests/css-timing-1/frames-timing-functions-output.html: Added.
+ * web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt: Added.
+ * web-platform-tests/css-timing-1/frames-timing-functions-syntax.html: Added.
+ * web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt: Added.
+ * web-platform-tests/css-timing-1/step-timing-functions-output.html: Added.
+ * web-platform-tests/css-timing-1/testcommon.js: Added.
+ (createDiv):
+ (createElement):
+ (pxToNum):
+ (xForT):
+ (yForT):
+ (tForX):
+ (return.bezierClosure):
+ (cubicBezier):
+ * web-platform-tests/css-timing-1/w3c-import.log: Added.
+ * web-platform-tests/css/.htaccess: Added.
+ * web-platform-tests/css/OWNERS: Added.
+ * web-platform-tests/css/README.md: Added.
+ * web-platform-tests/css/build-css-testsuites.sh: Added.
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-items/w3c-import.log:
+ * web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht:
+ * web-platform-tests/css/css-grid-1/grid-model/w3c-import.log:
+ * web-platform-tests/css/requirements.txt: Added.
+ * web-platform-tests/css/w3c-import.log: Added.
+ * web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
+ * web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt:
+ * web-platform-tests/dom/lists/DOMTokenList-iteration.html:
+ * web-platform-tests/dom/lists/README.md: Added.
+ * web-platform-tests/dom/lists/w3c-import.log:
+ * web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
+ * web-platform-tests/dom/nodes/Document-createEvent.html:
+ * web-platform-tests/dom/nodes/Document-createEvent.js:
+ * web-platform-tests/encrypted-media/content/content-metadata.js:
+ * web-platform-tests/encrypted-media/content/w3c-import.log:
+ * web-platform-tests/fetch/OWNERS:
+ * web-platform-tests/fetch/api/basic/accept-header-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/accept-header-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/accept-header.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/accept-header.any.html: Added.
+ * web-platform-tests/fetch/api/basic/accept-header.any.js: Added.
+ (promise_test):
+ * web-platform-tests/fetch/api/basic/accept-header.html: Removed.
+ * web-platform-tests/fetch/api/basic/accept-header.js: Removed.
+ * web-platform-tests/fetch/api/basic/accept-header.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/accept-header.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/mode-same-origin-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/mode-same-origin.any.html: Added.
+ * web-platform-tests/fetch/api/basic/mode-same-origin.any.js: Added.
+ * web-platform-tests/fetch/api/basic/mode-same-origin.html: Removed.
+ * web-platform-tests/fetch/api/basic/mode-same-origin.js: Removed.
+ * web-platform-tests/fetch/api/basic/mode-same-origin.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/mode-same-origin.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/referrer-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/referrer-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/referrer-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/referrer.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/referrer.any.html: Added.
+ * web-platform-tests/fetch/api/basic/referrer.any.js: Added.
+ * web-platform-tests/fetch/api/basic/referrer.html: Removed.
+ * web-platform-tests/fetch/api/basic/referrer.js: Removed.
+ * web-platform-tests/fetch/api/basic/referrer.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/referrer.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers.any.html: Added.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js: Added.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers.js: Removed.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-forbidden-headers.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/request-head-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-head-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-head.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-expected.txt.
+ * web-platform-tests/fetch/api/basic/request-head.any.html: Added.
+ * web-platform-tests/fetch/api/basic/request-head.any.js: Added.
+ (promise_test):
+ * web-platform-tests/fetch/api/basic/request-head.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-head.js: Removed.
+ * web-platform-tests/fetch/api/basic/request-head.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-head.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/request-headers-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-headers-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-headers.any.html: Added.
+ * web-platform-tests/fetch/api/basic/request-headers.any.js: Added.
+ * web-platform-tests/fetch/api/basic/request-headers.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-headers.js: Removed.
+ * web-platform-tests/fetch/api/basic/request-headers.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-headers.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/request-referrer-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt:
+ * web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html:
+ * web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-referrer-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-referrer.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-referrer.any.html: Added.
+ * web-platform-tests/fetch/api/basic/request-referrer.any.js: Added.
+ * web-platform-tests/fetch/api/basic/request-referrer.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-referrer.js: Removed.
+ * web-platform-tests/fetch/api/basic/request-referrer.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-referrer.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/request-upload-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/request-upload-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-upload.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-upload.any.html: Added.
+ * web-platform-tests/fetch/api/basic/request-upload.any.js: Added.
+ * web-platform-tests/fetch/api/basic/request-upload.html: Removed.
+ * web-platform-tests/fetch/api/basic/request-upload.js: Removed.
+ * web-platform-tests/fetch/api/basic/request-upload.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/request-upload.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/scheme-about-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt.
+ * web-platform-tests/fetch/api/basic/scheme-about.any.html: Added.
+ * web-platform-tests/fetch/api/basic/scheme-about.any.js: Added.
+ * web-platform-tests/fetch/api/basic/scheme-about.html: Removed.
+ * web-platform-tests/fetch/api/basic/scheme-about.js: Removed.
+ * web-platform-tests/fetch/api/basic/scheme-about.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/scheme-about.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/scheme-data-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt.
+ * web-platform-tests/fetch/api/basic/scheme-data.any.html: Added.
+ * web-platform-tests/fetch/api/basic/scheme-data.any.js: Added.
+ * web-platform-tests/fetch/api/basic/scheme-data.html: Removed.
+ * web-platform-tests/fetch/api/basic/scheme-data.js: Removed.
+ * web-platform-tests/fetch/api/basic/scheme-data.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/scheme-data.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/stream-response-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/basic/stream-response-worker.html: Removed.
+ * web-platform-tests/fetch/api/basic/stream-response.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/stream-response.any.html: Added.
+ * web-platform-tests/fetch/api/basic/stream-response.any.js: Added.
+ (promise_test):
+ * web-platform-tests/fetch/api/basic/stream-response.html: Removed.
+ * web-platform-tests/fetch/api/basic/stream-response.js: Removed.
+ * web-platform-tests/fetch/api/basic/stream-response.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/basic/stream-response.worker.html: Added.
+ * web-platform-tests/fetch/api/basic/w3c-import.log:
+ * web-platform-tests/fetch/api/cors/cors-basic-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-basic-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-basic.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-basic.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-basic.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-basic.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-basic.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-basic.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-cookies-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-cookies-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-cookies.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-cookies.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-cookies.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-cookies.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-cookies.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-cookies.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-cookies.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-filtering-expected.txt:
+ * web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt:
+ * web-platform-tests/fetch/api/cors/cors-filtering.js:
+ (corsExposeFilter):
+ * web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-no-preflight.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-origin-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-origin.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-origin.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-origin.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-origin.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-origin.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-origin.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-star.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status.any.js: Added.
+ (corsPreflightStatus):
+ * web-platform-tests/fetch/api/cors/cors-preflight-status.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-status.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-preflight.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-preflight.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect-worker.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect.any.html: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect.any.js: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect.html: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect.js: Removed.
+ * web-platform-tests/fetch/api/cors/cors-redirect.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/cors/cors-redirect.worker.html: Added.
+ * web-platform-tests/fetch/api/cors/w3c-import.log:
+ * web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Removed.
+ * web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/credentials/authentication-basic-worker.html: Removed.
+ * web-platform-tests/fetch/api/credentials/authentication-basic.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/credentials/authentication-basic.any.html: Added.
+ * web-platform-tests/fetch/api/credentials/authentication-basic.any.js: Added.
+ * web-platform-tests/fetch/api/credentials/authentication-basic.html: Removed.
+ * web-platform-tests/fetch/api/credentials/authentication-basic.js: Removed.
+ * web-platform-tests/fetch/api/credentials/authentication-basic.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/credentials/authentication-basic.worker.html: Added.
+ * web-platform-tests/fetch/api/credentials/cookies-expected.txt: Removed.
+ * web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt: Removed.
+ * web-platform-tests/fetch/api/credentials/cookies-worker.html: Removed.
+ * web-platform-tests/fetch/api/credentials/cookies.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/credentials/cookies.any.html: Added.
+ * web-platform-tests/fetch/api/credentials/cookies.any.js: Added.
+ * web-platform-tests/fetch/api/credentials/cookies.html: Removed.
+ * web-platform-tests/fetch/api/credentials/cookies.js: Removed.
+ * web-platform-tests/fetch/api/credentials/cookies.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/credentials/cookies.worker.html: Added.
+ * web-platform-tests/fetch/api/credentials/w3c-import.log:
+ * web-platform-tests/fetch/api/headers/headers-idl-expected.txt:
+ * web-platform-tests/fetch/api/headers/historical.any-expected.txt: Added.
+ * web-platform-tests/fetch/api/headers/historical.any.html: Added.
+ * web-platform-tests/fetch/api/headers/historical.any.js: Added.
+ (test):
+ * web-platform-tests/fetch/api/headers/historical.worker-expected.txt: Added.
+ * web-platform-tests/fetch/api/headers/historical.worker.html: Added.
+ * web-platform-tests/fetch/api/headers/w3c-import.log:
+ * web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt:
+ * web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
+ * web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
+ * web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
+ * web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
+ * web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Removed.
+ * web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt:
+ * web-platform-tests/fetch/api/request/request-init-003.sub.html:
+ * web-platform-tests/fetch/api/resources/redirect-count.py: Removed.
+ * web-platform-tests/fetch/http-cache/304-update-expected.txt: Added.
+ * web-platform-tests/fetch/http-cache/304-update.html: Added.
+ * web-platform-tests/fetch/http-cache/README.md: Added.
+ * web-platform-tests/fetch/http-cache/cc-request-expected.txt: Added.
+ * web-platform-tests/fetch/http-cache/cc-request.html: Added.
+ * web-platform-tests/fetch/http-cache/freshness-expected.txt: Added.
+ * web-platform-tests/fetch/http-cache/freshness.html: Added.
+ * web-platform-tests/fetch/http-cache/heuristic-expected.txt: Added.
+ * web-platform-tests/fetch/http-cache/heuristic.html: Added.
+ * web-platform-tests/fetch/http-cache/http-cache.js: Added.
+ (make_url):
+ (server_state):
+ (make_test.fetch_functions.push.):
+ (make_test.fetch_functions.push):
+ (make_test.):
+ (make_test.run_next_step):
+ (make_test):
+ (http_date):
+ * web-platform-tests/fetch/http-cache/invalidate-expected.txt: Added.
+ * web-platform-tests/fetch/http-cache/invalidate.html: Added.
+ * web-platform-tests/fetch/http-cache/partial-expected.txt: Added.
+ * web-platform-tests/fetch/http-cache/partial.html: Added.
+ * web-platform-tests/fetch/http-cache/resources/http-cache.py: Added.
+ (main):
+ * web-platform-tests/fetch/http-cache/resources/w3c-import.log: Added.
+ * web-platform-tests/fetch/http-cache/status-expected.txt: Added.
+ * web-platform-tests/fetch/http-cache/status.html: Added.
+ * web-platform-tests/fetch/http-cache/vary-expected.txt: Added.
+ * web-platform-tests/fetch/http-cache/vary.html: Added.
+ * web-platform-tests/fetch/http-cache/w3c-import.log: Added.
+ * web-platform-tests/fetch/nosniff/importscripts-expected.txt: Removed.
+ * web-platform-tests/hr-time/basic.any-expected.txt: Added.
+ * web-platform-tests/hr-time/basic.any.html: Added.
+ * web-platform-tests/hr-time/basic.any.js: Added.
+ (test):
+ (async_test):
+ * web-platform-tests/hr-time/monotonic-clock.any-expected.txt: Added.
+ * web-platform-tests/hr-time/monotonic-clock.any.html: Added.
+ * web-platform-tests/hr-time/monotonic-clock.any.js: Added.
+ (test):
+ * web-platform-tests/hr-time/monotonic-clock.worker-expected.txt: Added.
+ * web-platform-tests/hr-time/monotonic-clock.worker.html: Added.
+ * web-platform-tests/hr-time/w3c-import.log:
+ * web-platform-tests/html/OWNERS:
+ * web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt:
+ * web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html:
+ * web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub-expected.txt: Added.
+ * web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html: Added.
+ * web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
+ * web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
+ * web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
+ * web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt: Added.
+ * web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html: Added.
+ * web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html: Added.
+ * web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/w3c-import.log: Added.
+ * web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/w3c-import.log:
+ * web-platform-tests/html/browsers/the-windowproxy-exotic-object/w3c-import.log:
+ * web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub-expected.txt:
+ * web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html: Added.
+ * web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-closed.html:
+ * web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-multiple.html:
+ * web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html:
+ * web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noreferrer.html:
+ * web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener.html:
+ * web-platform-tests/html/browsers/windows/browsing-context-expected.txt:
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001-expected.txt: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html: Added.
+ * web-platform-tests/html/browsers/windows/browsing-context-names/resources/w3c-import.log:
+ * web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log:
+ * web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html: Added.
+ * web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html: Added.
+ * web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt: Added.
+ * web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html: Added.
+ * web-platform-tests/html/browsers/windows/resources/w3c-import.log:
+ * web-platform-tests/html/browsers/windows/w3c-import.log:
+ * web-platform-tests/html/dom/OWNERS: Added.
+ * web-platform-tests/html/dom/w3c-import.log:
+ * web-platform-tests/html/resources/common.js:
+ (newIFrame):
+ * web-platform-tests/html/semantics/OWNERS: Added.
+ * web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
+ * web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt: Added.
+ * web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html: Added.
+ * web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt: Added.
+ * web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html: Added.
+ * web-platform-tests/html/semantics/forms/textfieldselection/selection.html:
+ * web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
+ * web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html:
+ * web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log:
+ * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt: Added.
+ * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html: Added.
+ * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html: Added.
+ * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log:
+ * web-platform-tests/html/semantics/w3c-import.log:
+ * web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin.html:
+ * web-platform-tests/html/webappapis/timers/negative-setinterval-expected.txt: Added.
+ * web-platform-tests/html/webappapis/timers/negative-setinterval.html: Added.
+ * web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt: Added.
+ * web-platform-tests/html/webappapis/timers/negative-settimeout.html: Added.
+ * web-platform-tests/html/webappapis/timers/type-long-setinterval-expected.txt: Added.
+ * web-platform-tests/html/webappapis/timers/type-long-setinterval.html: Added.
+ * web-platform-tests/html/webappapis/timers/type-long-settimeout-expected.txt: Added.
+ * web-platform-tests/html/webappapis/timers/type-long-settimeout.html: Added.
+ * web-platform-tests/html/webappapis/timers/w3c-import.log:
+ * web-platform-tests/images/pattern.ogv: Added.
+ * web-platform-tests/images/pattern.png: Added.
+ * web-platform-tests/images/w3c-import.log:
+ * web-platform-tests/innerText/setter-expected.txt:
+ * web-platform-tests/innerText/setter-tests.js:
+ * web-platform-tests/innerText/setter.html:
+ * web-platform-tests/lint.whitelist:
+ * web-platform-tests/mediacapture-fromelement/idlharness-expected.txt: Added.
+ * web-platform-tests/mediacapture-fromelement/idlharness.html: Added.
+ * web-platform-tests/mediacapture-fromelement/w3c-import.log: Added.
+ * web-platform-tests/resource-timing/SyntheticResponse.py:
+ (main):
+ * web-platform-tests/resource-timing/resource-timing.js:
+ * web-platform-tests/resource-timing/resource_connection_reuse.html:
+ * web-platform-tests/resources/.htaccess: Added.
+ * web-platform-tests/resources/docs/api.md: Added.
+ * web-platform-tests/resources/docs/idlharness.md: Added.
+ * web-platform-tests/resources/docs/w3c-import.log: Added.
+ * web-platform-tests/resources/examples/apisample-error-worker.js: Added.
+ * web-platform-tests/resources/examples/apisample-worker.js: Added.
+ (test):
+ (async_test):
+ * web-platform-tests/resources/examples/apisample.htm: Added.
+ * web-platform-tests/resources/examples/apisample10.html: Added.
+ * web-platform-tests/resources/examples/apisample11.html: Added.
+ * web-platform-tests/resources/examples/apisample12.html: Added.
+ * web-platform-tests/resources/examples/apisample13.html: Added.
+ * web-platform-tests/resources/examples/apisample14.html: Added.
+ * web-platform-tests/resources/examples/apisample15.html: Added.
+ * web-platform-tests/resources/examples/apisample16.html: Added.
+ * web-platform-tests/resources/examples/apisample17.html: Added.
+ * web-platform-tests/resources/examples/apisample2.htm: Added.
+ * web-platform-tests/resources/examples/apisample3.htm: Added.
+ * web-platform-tests/resources/examples/apisample4.htm: Added.
+ * web-platform-tests/resources/examples/apisample5.htm: Added.
+ * web-platform-tests/resources/examples/apisample6.html: Added.
+ * web-platform-tests/resources/examples/apisample7.html: Added.
+ * web-platform-tests/resources/examples/apisample8.html: Added.
+ * web-platform-tests/resources/examples/apisample9.html: Added.
+ * web-platform-tests/resources/examples/w3c-import.log: Added.
+ * web-platform-tests/resources/idlharness.js:
+ (IdlInterface.prototype.test_member_iterable):
+ * web-platform-tests/resources/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/coverage.html: Added.
+ * web-platform-tests/resources/webidl2/index.js: Added.
+ * web-platform-tests/resources/webidl2/lib/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/package.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid.js: Added.
+ (idls.fs.readdirSync.dir.filter):
+ (map):
+ (errors.idls.map):
+ (i.func):
+ * web-platform-tests/resources/webidl2/test/invalid/idl/dict-required-default.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/enum.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/maplike-1type.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/module.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableany.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableobjects.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/readonly-iterable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/setlike-2types.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/special-omittable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/stringconstants.idl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/typedef-nested.widl: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/dict-required-default.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/enum.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/maplike-1type.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/module.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/nonnullableany.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/nonnullableobjects.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/raises.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/readonly-iterable.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/setlike-2types.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/special-omittable.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/stringconstants.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/typedef-nested.json: Added.
+ * web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/mocha.opts: Added.
+ * web-platform-tests/resources/webidl2/test/syntax.js: Added.
+ (idls.fs.readdirSync.dir.filter):
+ (map):
+ (jsons.idls.map):
+ (i.func):
+ * web-platform-tests/resources/webidl2/test/syntax/idl/allowany.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/array.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/attributes.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/callback.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/caller.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/constants.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/constructor.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/dictionary-inherits.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/dictionary.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/documentation-dos.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/documentation.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/enum.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/equivalent-decl.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/exception-inheritance.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/exception.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/extended-attributes.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/generic.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/getter-setter.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/identifier-qualified-names.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/implements.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/indexed-properties.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/inherits-getter.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/interface-inherits.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/iterable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/legacyiterable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/map.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/maplike.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/nullableobjects.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/operation-optional-arg.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/overloading.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/overridebuiltins.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/partial-interface.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/primitives.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/sequence.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/serializer.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/setlike.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/static.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-attribute.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-custom.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/stringifier.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/uniontype.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/variadic-operations.widl: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/allowany.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/array.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/attributes.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/callback.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/caller.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/constants.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/constructor.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/dictionary-inherits.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/dictionary.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/documentation-dos.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/documentation.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/enum.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/equivalent-decl.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/exception-inheritance.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/exception.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/extended-attributes.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/generic.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/getter-setter.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/identifier-qualified-names.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/implements.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/indexed-properties.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/inherits-getter.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/interface-inherits.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/iterable.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/iterator.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/legacyiterable.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/map.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/maplike.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/nullable.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/nullableobjects.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/operation-optional-arg.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/overloading.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/overridebuiltins.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/partial-interface.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/primitives.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/sequence.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/serializer.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/setlike.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/static.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/stringifier-attribute.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/stringifier-custom.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/stringifier.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/typedef.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/uniontype.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/variadic-operations.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/opt/typedef-nested.json: Added.
+ * web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/web/make-web-tests.js: Added.
+ (dir):
+ (allFromDir):
+ * web-platform-tests/resources/webidl2/test/web/run-tests.js: Added.
+ (i.func):
+ * web-platform-tests/resources/webidl2/test/web/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/LICENSE: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/Makefile: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/README.md: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/doc/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/examples/Makefile: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/examples/README: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/examples/bondi.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/examples/filesystem.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/examples/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/examples/widlhtml.css: Added.
+ (body):
+ (:link):
+ (:visited):
+ (a:active):
+ (a:link img, a:visited img):
+ (h1, h2, h3, h4, h5, h6):
+ (h1, h2, h3):
+ (h1):
+ (h2):
+ (h3):
+ (h4):
+ (h5):
+ (h6):
+ (.hide):
+ (code):
+ (ul.toc, ol.toc, ul.authors):
+ (div.head):
+ (div.head h1):
+ (div.head table):
+ (div.constraint, div.issue, div.note, div.notice):
+ (div.exampleInner pre):
+ (div.exampleOuter):
+ (div.exampleInner):
+ (div.exampleWrapper):
+ (div.exampleHeader):
+ (div.term):
+ (div.list):
+ (.optional):
+ (.copyright,.legalnotice):
+ (.copyright small):
+ (@media screen):
+ (a[href]:hover):
+ (ol.enumar):
+ (ol.enumla):
+ (ol.enumlr):
+ (ol.enumua):
+ (ol.enumur):
+ (.toc):
+ (pre):
+ (.examplecode):
+ (.def-api-feature-set dt, .def-api-feature dt, dt .def-device-cap, dt.const code):
+ (dt.attribute code, dt.method code):
+ (.def-device-caps dd):
+ (dt.method):
+ (.summary td):
+ * web-platform-tests/resources/webidl2/test/widlproc/src/comment.c: Added.
+ (setcommentnode):
+ (joininlinecomments):
+ (outputchildren):
+ (default_askend):
+ (root_askend):
+ (root_output):
+ (endspecificcnode):
+ (startcnode):
+ (para_output):
+ (para_end):
+ (return_output):
+ (author_output):
+ (code_end):
+ (code_output):
+ (text_end):
+ (text_output):
+ (html_output):
+ (param_output):
+ (api_feature_output):
+ (def_api_feature_askend):
+ (def_api_feature_output):
+ (def_api_feature_set_output):
+ (def_instantiated_output):
+ (def_device_cap_output):
+ (iswhitespace):
+ (parseword):
+ (dox_b):
+ (dox_n):
+ (dox_code):
+ (dox_endcode):
+ (dox_param):
+ (dox_para):
+ (dox_throw):
+ (dox_attr):
+ (parsecomment):
+ (parsecomments):
+ (attachcommenttonode):
+ (attachcomments):
+ (processcomments):
+ (outputdescriptive):
+ * web-platform-tests/resources/webidl2/test/widlproc/src/comment.h: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/entities.h: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/lex.c: Added.
+ (readinput):
+ (lexerrorexit):
+ (lexblockcomment):
+ (lexinlinecomment):
+ (lexnumber):
+ (lexstring):
+ (lexidentifier):
+ (lex):
+ (outputwidl):
+ * web-platform-tests/resources/webidl2/test/widlproc/src/lex.h: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/main.c: Added.
+ (options):
+ (main):
+ * web-platform-tests/resources/webidl2/test/widlproc/src/misc.c: Added.
+ (memalloc):
+ (memrealloc):
+ (memfree):
+ (memprintf):
+ (vmemprintf):
+ (vlocerrorexit):
+ (locerrorexit):
+ (errorexit):
+ * web-platform-tests/resources/webidl2/test/widlproc/src/misc.h: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/node.c: Added.
+ (newelement):
+ (newattr):
+ (newattrlist):
+ (addnode):
+ (reversechildren):
+ (nodeisempty):
+ (nodewalk):
+ (findchildelement):
+ (getattr):
+ (findchildelementwithnameattr):
+ (findreturntype):
+ (findparamidentifier):
+ (findthrowidentifier):
+ (outputid):
+ (outputnode):
+ * web-platform-tests/resources/webidl2/test/widlproc/src/node.h: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/os.h: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/parse.c: Added.
+ (tokerrorexit):
+ (lexnocomment):
+ (eat):
+ (setid):
+ (setidentifier):
+ (setargumentname):
+ (parsescopedname):
+ (parsescopednamelist):
+ (parsereturntype):
+ (parseunsignedintegertype):
+ (parsetypesuffix):
+ (parsetypesuffixstartingwitharray):
+ (parseprimitiveorstringtype):
+ (parsenonanytype):
+ (parseunionmembertype):
+ (parseuniontype):
+ (parsetype):
+ (parseextendedattribute):
+ (parseextendedattributelist):
+ (parseexceptionfield):
+ (parseargument):
+ (parseargumentlist):
+ (parseoperationrest):
+ (parsereturntypeandoperationrest):
+ (parseoptionaliteratorinterface):
+ (parseoperationoriteratorrest):
+ (parseattribute):
+ (parseserializer):
+ (parseattributeoroperationoriterator):
+ (parseconstexpr):
+ (parsedefaultvalue):
+ (parsedictionarymember):
+ (parseconst):
+ (parseimplementsstatement):
+ (parsetypedef):
+ (parseexception):
+ (parseinterface):
+ (parsecallback):
+ (parsedictionary):
+ (parseenum):
+ (parsedefinitions):
+ (parse):
+ * web-platform-tests/resources/webidl2/test/widlproc/src/parse.h: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/process.c: Added.
+ (outputnodeastext):
+ (printfqid):
+ (output):
+ (outputchildren):
+ (processfiles):
+ * web-platform-tests/resources/webidl2/test/widlproc/src/process.h: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/Makefile: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/enum.txt: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/module.txt: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableany.txt: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableobjects.txt: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/scopedname.txt: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/sequenceAsAttribute.txt: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/stringconstants.idl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/enum.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/module.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableany.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableobjects.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/raises.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/scopedname.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/sequenceAsAttribute.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/special-omittable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/stringconstants.idl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/allowany.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/array.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/attributes.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/callback.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/caller.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constants.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constructor.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary-inherits.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation-dos.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/enum.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/equivalent-decl.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception-inheritance.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/getter-setter.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/identifier-qualified-names.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/implements.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/indexed-properties.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/inherits-getter.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/interface-inherits.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/iterator.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/namedconstructor.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nointerfaceobject.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullableobjects.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/operation-optional-arg.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overloading.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overridebuiltins.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/partial-interface.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/primitives.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/prototyperoot.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/putforwards.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/reg-operations.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/replaceable.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/sequence.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/serializer.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/static.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-attribute.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-custom.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasnull.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasundefined.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typedef.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typesuffixes.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/uniontype.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/variadic-operations.widl: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/allowany.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/array.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/attributes.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/callback.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/caller.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constants.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constructor.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary-inherits.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation-dos.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/enum.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/equivalent-decl.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception-inheritance.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/identifier-qualified-names.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/implements.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/indexed-properties.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/inherits-getter.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/interface-inherits.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/iterator.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/module.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namedconstructor.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namespaceobject.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nointerfaceobject.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullable.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullableobjects.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/operation-optional-arg.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overloading.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overridebuiltins.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/partial-interface.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/primitives.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/prototyperoot.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/putforwards.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/reg-operations.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/replaceable.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/sequence.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/serializer.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/special-omittable.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/static.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-attribute.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-custom.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasnull.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasundefined.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typedef.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typesuffixes.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/uniontype.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/variadic-operations.widlprocxml: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/test/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/test/widlproc/w3c-import.log: Added.
+ * web-platform-tests/resources/webidl2/w3c-import.log: Added.
+ * web-platform-tests/resources/webiwarning: inexact rename detection was skipped due to too many files.: Added.
+ * web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
+ * web-platform-tests/streams/piping/close-propagation-forward.dedicatedworker-expected.txt:
+ * web-platform-tests/streams/piping/close-propagation-forward.js:
+ (promise_test):
+ * web-platform-tests/streams/piping/flow-control-expected.txt:
+ * web-platform-tests/streams/piping/flow-control.dedicatedworker-expected.txt:
+ * web-platform-tests/streams/piping/flow-control.js:
+ (promise_test):
+ * web-platform-tests/streams/piping/multiple-propagation-expected.txt:
+ * web-platform-tests/streams/piping/multiple-propagation.dedicatedworker-expected.txt:
+ * web-platform-tests/streams/piping/multiple-propagation.js:
+ (promise_test.t.string_appeared_here.then):
+ (promise_test.t.const.rs.recordingReadableStream.start):
+ (promise_test.t.return.flushAsyncEvents.then):
+ * web-platform-tests/streams/piping/pipe-through-expected.txt:
+ * web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt:
+ * web-platform-tests/streams/piping/pipe-through.js:
+ (promise_test):
+ * web-platform-tests/streams/readable-byte-streams/general-expected.txt:
+ * web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
+ * web-platform-tests/streams/readable-byte-streams/general.js:
+ (test):
+ * web-platform-tests/streams/readable-streams/general-expected.txt:
+ * web-platform-tests/streams/readable-streams/general.dedicatedworker-expected.txt:
+ * web-platform-tests/streams/readable-streams/general.js:
+ (test.get assert_throws):
+ (test):
+ * web-platform-tests/url/a-element-expected.txt:
+ * web-platform-tests/url/a-element-xhtml-expected.txt:
+ * web-platform-tests/url/interfaces-expected.txt:
+ * web-platform-tests/url/setters_tests.json:
+ * web-platform-tests/url/url-constructor-expected.txt:
+ * web-platform-tests/url/url-setters-expected.txt:
+ * web-platform-tests/url/urltestdata.json:
+ * web-platform-tests/user-timing/clear_all_marks.any-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_all_marks.any.html: Added.
+ * web-platform-tests/user-timing/clear_all_marks.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/clear_all_marks.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_all_marks.worker.html: Added.
+ * web-platform-tests/user-timing/clear_all_measures.any-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_all_measures.any.html: Added.
+ * web-platform-tests/user-timing/clear_all_measures.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/clear_all_measures.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_all_measures.worker.html: Added.
+ * web-platform-tests/user-timing/clear_non_existent_mark.any-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_non_existent_mark.any.html: Added.
+ * web-platform-tests/user-timing/clear_non_existent_mark.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/clear_non_existent_mark.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_non_existent_mark.worker.html: Added.
+ * web-platform-tests/user-timing/clear_non_existent_measure.any-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_non_existent_measure.any.html: Added.
+ * web-platform-tests/user-timing/clear_non_existent_measure.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/clear_non_existent_measure.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_non_existent_measure.worker.html: Added.
+ * web-platform-tests/user-timing/clear_one_mark.any-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_one_mark.any.html: Added.
+ * web-platform-tests/user-timing/clear_one_mark.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/clear_one_mark.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_one_mark.worker.html: Added.
+ * web-platform-tests/user-timing/clear_one_measure.any-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_one_measure.any.html: Added.
+ * web-platform-tests/user-timing/clear_one_measure.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/clear_one_measure.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/clear_one_measure.worker.html: Added.
+ * web-platform-tests/user-timing/entry_type.any-expected.txt: Added.
+ * web-platform-tests/user-timing/entry_type.any.html: Added.
+ * web-platform-tests/user-timing/entry_type.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/entry_type.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/entry_type.worker.html: Added.
+ * web-platform-tests/user-timing/idlharness-expected.txt:
+ * web-platform-tests/user-timing/idlharness.html:
+ * web-platform-tests/user-timing/invoke_with_timing_attributes-expected.txt: Added.
+ * web-platform-tests/user-timing/invoke_with_timing_attributes.html: Added.
+ * web-platform-tests/user-timing/invoke_with_timing_attributes.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/invoke_with_timing_attributes.worker.html: Added.
+ * web-platform-tests/user-timing/invoke_with_timing_attributes.worker.js: Added.
+ (emit_test):
+ (emit_test2):
+ * web-platform-tests/user-timing/invoke_without_parameter-expected.txt: Added.
+ * web-platform-tests/user-timing/invoke_without_parameter.html: Added.
+ * web-platform-tests/user-timing/mark.any-expected.txt: Added.
+ * web-platform-tests/user-timing/mark.any.html: Added.
+ * web-platform-tests/user-timing/mark.any.js: Added.
+ (match_entries):
+ (filter_entries_by_type):
+ (test):
+ (test_mark):
+ * web-platform-tests/user-timing/mark.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/mark.worker.html: Added.
+ * web-platform-tests/user-timing/mark_exceptions-expected.txt: Added.
+ * web-platform-tests/user-timing/mark_exceptions.html: Added.
+ * web-platform-tests/user-timing/measure-expected.txt: Added.
+ * web-platform-tests/user-timing/measure.html: Added.
+ * web-platform-tests/user-timing/measure_exceptions_navigation_timing-expected.txt: Added.
+ * web-platform-tests/user-timing/measure_exceptions_navigation_timing.html: Added.
+ * web-platform-tests/user-timing/measure_navigation_timing-expected.txt: Added.
+ * web-platform-tests/user-timing/measure_navigation_timing.html: Added.
+ * web-platform-tests/user-timing/measure_syntax_err.any-expected.txt: Added.
+ * web-platform-tests/user-timing/measure_syntax_err.any.html: Added.
+ * web-platform-tests/user-timing/measure_syntax_err.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/measure_syntax_err.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/measure_syntax_err.worker.html: Added.
+ * web-platform-tests/user-timing/resources/webperftestharness.js:
+ * web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
+ * web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
+ * web-platform-tests/user-timing/user_timing_exists.any-expected.txt: Added.
+ * web-platform-tests/user-timing/user_timing_exists.any.html: Added.
+ * web-platform-tests/user-timing/user_timing_exists.any.js: Added.
+ (test):
+ * web-platform-tests/user-timing/user_timing_exists.worker-expected.txt: Added.
+ * web-platform-tests/user-timing/user_timing_exists.worker.html: Added.
+ * web-platform-tests/user-timing/w3c-import.log:
+ * web-platform-tests/w3c-import.log:
+ * web-platform-tests/webrtc/OWNERS:
+ * web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates-expected.txt: Added.
+ * web-platform-tests/webrtc/rtcpeerconnection/canTrickleIceCandidates.html: Added.
+ * web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState-expected.txt: Added.
+ * web-platform-tests/webrtc/rtcpeerconnection/iceGatheringState.html: Added.
+ * web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize-expected.txt:
+ * web-platform-tests/webrtc/rtcpeerconnection/rtcconfiguration-icecandidatepoolsize.html:
+ * web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl-expected.txt:
+ * web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html:
+ * web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log:
+
</ins><span class="cx"> 2017-04-07 Ryan Haddad <ryanhaddad@apple.com>
</span><span class="cx">
</span><span class="cx"> Rebaseline another test after r215096.
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cresourcesTestRepositories"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/resources/TestRepositories (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/resources/TestRepositories        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/resources/TestRepositories        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,21 +1,8 @@
</span><span class="cx"> [
</span><span class="cx"> {
</span><del>- "name": "csswg-test",
- "url": "https://github.com/w3c/csswg-test.git",
- "revision": "d5146115f631a1cc6bc53a4f134d4e2a26fe2fb5",
- "paths_to_skip": [
- "support",
- "tools",
- "work-in-progress"
- ],
- "paths_to_import": [
- ],
- "import_options": ["convert_test_harness_links"]
- },
- {
</del><span class="cx"> "name": "web-platform-tests",
</span><span class="cx"> "url": "https://github.com/w3c/web-platform-tests.git",
</span><del>- "revision": "a5b95cb31914507088a4eda16f7674bbc6f3313f",
</del><ins>+ "revision": "23cd07d4685d81024b7440e042f8bbdb33e7ddec",
</ins><span class="cx"> "paths_to_skip": [
</span><span class="cx"> "conformance-checkers",
</span><span class="cx"> "docs",
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cresourcesimportexpectationsjson"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/resources/import-expectations.json (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/resources/import-expectations.json        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/resources/import-expectations.json        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,64 +1,4 @@
</span><span class="cx"> {
</span><del>- "csswg-test/WOFF2-UserAgent": "skip",
- "csswg-test/compositing-1": "skip",
- "csswg-test/css-align-3": "skip",
- "csswg-test/css-animations-1": "skip",
- "csswg-test/css-backgrounds-3": "skip",
- "csswg-test/css-box-3": "skip",
- "csswg-test/css-break-3": "skip",
- "csswg-test/css-cascade-3": "skip",
- "csswg-test/css-color-3": "skip",
- "csswg-test/css-color-4": "skip",
- "csswg-test/css-conditional-3": "skip",
- "csswg-test/css-counter-styles-3": "skip",
- "csswg-test/css-display-3": "skip",
- "csswg-test/css-exclusions-1": "skip",
- "csswg-test/css-flexbox-1": "skip",
- "csswg-test/css-fonts-3": "skip",
- "csswg-test/css-gcpm-3": "skip",
- "csswg-test/css-grid-1": "skip",
- "csswg-test/css-images-3": "skip",
- "csswg-test/css-lists-3": "skip",
- "csswg-test/css-logical-properties-1": "skip",
- "csswg-test/css-masking-1": "skip",
- "csswg-test/css-multicol-1": "skip",
- "csswg-test/css-namespaces-1": "skip",
- "csswg-test/css-namespaces-3": "skip",
- "csswg-test/css-page-3": "skip",
- "csswg-test/css-pseudo-4": "skip",
- "csswg-test/css-regions-1": "skip",
- "csswg-test/css-rhythm-1": "skip",
- "csswg-test/css-round-display": "skip",
- "csswg-test/css-ruby-1": "skip",
- "csswg-test/css-scoping1": "import",
- "csswg-test/css-shapes-1": "skip",
- "csswg-test/css-snap-size-1": "skip",
- "csswg-test/css-speech-1": "skip",
- "csswg-test/css-style-attr-1": "skip",
- "csswg-test/css-syntax-3": "skip",
- "csswg-test/css-tables-3": "skip",
- "csswg-test/css-text-3": "skip",
- "csswg-test/css-text-decor-3": "skip",
- "csswg-test/css-transforms-1": "skip",
- "csswg-test/css-transitions-1": "skip",
- "csswg-test/css-transitions-2": "skip",
- "csswg-test/css-ui-3": "skip",
- "csswg-test/css-values-3": "skip",
- "csswg-test/css-values-4": "skip",
- "csswg-test/css-variables-1": "skip",
- "csswg-test/css-writing-modes-3": "skip",
- "csswg-test/css1": "skip",
- "csswg-test/css21": "skip",
- "csswg-test/cssom-1": "skip",
- "csswg-test/cssom-view-1": "skip",
- "csswg-test/filters-1": "skip",
- "csswg-test/fonts": "skip",
- "csswg-test/geometry-1": "skip",
- "csswg-test/mediaqueries-3": "skip",
- "csswg-test/reference": "skip",
- "csswg-test/selectors-3": "skip",
- "csswg-test/selectors-4": "skip",
- "csswg-test/vendor-imports": "skip",
</del><span class="cx"> "web-platform-tests/2dcontext": "skip",
</span><span class="cx"> "web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001-ref.html": "import",
</span><span class="cx"> "web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html": "import",
</span><span class="lines">@@ -110,7 +50,9 @@
</span><span class="cx"> "web-platform-tests/cors": "import",
</span><span class="cx"> "web-platform-tests/css-typed-om": "skip",
</span><span class="cx"> "web-platform-tests/css-values": "skip",
</span><ins>+ "web-platform-tests/css/": "skip",
</ins><span class="cx"> "web-platform-tests/css/css-grid-1/": "import",
</span><ins>+ "web-platform-tests/css/css-scoping1": "import",
</ins><span class="cx"> "web-platform-tests/cssom": "skip",
</span><span class="cx"> "web-platform-tests/cssom-view": "skip",
</span><span class="cx"> "web-platform-tests/custom-elements": "import",
</span><span class="lines">@@ -298,6 +240,7 @@
</span><span class="cx"> "web-platform-tests/service-workers": "skip",
</span><span class="cx"> "web-platform-tests/shadow-dom": "import",
</span><span class="cx"> "web-platform-tests/shadow-dom/untriaged": "skip",
</span><ins>+ "web-platform-tests/staticrange": "skip",
</ins><span class="cx"> "web-platform-tests/storage": "skip",
</span><span class="cx"> "web-platform-tests/streams/writable-streams": "skip",
</span><span class="cx"> "web-platform-tests/subresource-integrity": "skip",
</span><span class="lines">@@ -321,6 +264,7 @@
</span><span class="cx"> "web-platform-tests/webrtc": "import",
</span><span class="cx"> "web-platform-tests/websockets": "skip",
</span><span class="cx"> "web-platform-tests/webstorage": "skip",
</span><ins>+ "web-platform-tests/webusb": "skip",
</ins><span class="cx"> "web-platform-tests/webvr": "skip",
</span><span class="cx"> "web-platform-tests/webvtt": "skip",
</span><span class="cx"> "web-platform-tests/workers": "skip"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cresourcesresourcefilesjson"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/resources/resource-files.json (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/resources/resource-files.json        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/resources/resource-files.json        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -195,6 +195,7 @@
</span><span class="cx"> "web-platform-tests/html/browsers/windows/noreferrer-cross-origin-close-manual.sub.html",
</span><span class="cx"> "web-platform-tests/html/browsers/windows/noreferrer-cross-origin-window-name-manual.sub.html",
</span><span class="cx"> "web-platform-tests/html/browsers/windows/noreferrer-cross-origin-window-name.sub.html",
</span><ins>+ "web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html",
</ins><span class="cx"> "web-platform-tests/html/browsers/windows/support-close.html",
</span><span class="cx"> "web-platform-tests/html/browsers/windows/support-named-null-opener.html",
</span><span class="cx"> "web-platform-tests/html/browsers/windows/support-nested-browsing-contexts.html",
</span><span class="lines">@@ -243,6 +244,7 @@
</span><span class="cx"> "web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-form.html",
</span><span class="cx"> "web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-event-realm-support.html",
</span><span class="cx"> "web-platform-tests/html/semantics/forms/the-button-element/button-activate-frame.html",
</span><ins>+ "web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html",
</ins><span class="cx"> "web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html",
</span><span class="cx"> "web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html",
</span><span class="cx"> "web-platform-tests/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html",
</span><span class="lines">@@ -277,4 +279,4 @@
</span><span class="cx"> "web-platform-tests/test_keys_wdspec.html",
</span><span class="cx"> "web-platform-tests/upgrade-insecure-requests/support/post-origin-to-parent.html"
</span><span class="cx"> ]
</span><del>-}
</del><ins>+}
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRFEFEpem"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFE.pem (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFE.pem         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFE.pem        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,83 @@
</span><ins>+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 65278 (0xfefe)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: CN=web-platform-tests
+ Validity
+ Not Before: Mar 22 16:49:45 2017 GMT
+ Not After : Apr 21 16:49:45 2017 GMT
+ Subject: CN=web-platform-tests
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:d9:21:52:23:45:b0:bf:b3:a8:65:b3:50:ea:06:
+ 4a:58:dc:0e:d6:04:ef:66:29:89:3e:29:f9:87:21:
+ 19:86:32:23:10:c9:f9:64:83:1b:f0:60:8f:8a:f1:
+ 09:11:01:bd:18:11:4e:f6:bd:ac:65:e7:19:45:97:
+ ac:e7:58:d3:7c:c4:79:04:47:04:89:d1:6c:96:f2:
+ 61:74:da:91:af:e9:bd:3e:5a:01:3b:b6:b0:29:91:
+ 68:f4:9f:7a:99:50:87:c2:fe:c0:94:3b:53:d7:16:
+ a4:dd:67:ef:56:50:3a:5d:e1:e7:11:b4:94:d0:e8:
+ f7:97:f4:65:8b:51:82:e0:af:c1:ab:59:5d:6a:29:
+ 88:07:76:15:bf:ca:d1:21:a2:72:c8:f0:5f:80:36:
+ 45:4d:b0:d8:f3:82:ec:82:49:f0:dd:1b:5f:58:c7:
+ 57:e2:d2:65:3a:26:07:4c:2b:aa:41:a0:a3:b9:48:
+ 62:75:19:d8:ab:a4:0e:64:38:b6:a5:96:a7:85:64:
+ 02:97:f5:23:1b:e8:5a:47:b8:41:bb:9d:77:9c:06:
+ b0:ef:ef:47:45:3a:df:2e:20:ce:b2:54:f0:dd:7e:
+ 4c:52:15:e5:38:54:dc:89:f8:f8:e6:82:5b:75:c2:
+ 0c:cc:41:80:f5:e4:0a:d7:80:eb:03:b6:1c:b8:68:
+ de:03
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 10:16:98:57:52:0C:20:38:0B:A4:5F:76:6B:E0:09:07:44:01:00:C0
+ X509v3 Authority Key Identifier:
+ keyid:10:16:98:57:52:0C:20:38:0B:A4:5F:76:6B:E0:09:07:44:01:00:C0
+ DirName:/CN=web-platform-tests
+ serial:FE:FE
+
+ X509v3 Key Usage:
+ Certificate Sign
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ Signature Algorithm: sha256WithRSAEncryption
+ d7:6c:3b:bc:33:ea:b2:0b:fc:57:a0:87:af:3c:a0:84:b0:18:
+ 75:f4:81:c2:32:0b:71:a6:9f:5d:a1:4f:41:ee:95:be:b5:d4:
+ 8a:c4:a2:77:63:f8:0a:74:ed:4a:f9:9a:f1:74:ed:7c:0d:52:
+ cc:d2:ff:25:d1:dc:81:dc:89:5b:1a:13:bf:d7:fd:1a:bf:dd:
+ ac:1d:09:69:1e:66:31:d2:38:f9:53:9f:ce:0d:c7:63:8c:46:
+ 42:08:92:cb:e4:a9:bc:95:79:6b:04:7a:94:b0:c1:b4:8a:2a:
+ 8c:51:61:43:90:59:2f:b2:79:9b:45:ce:b3:e9:9c:61:18:f2:
+ d1:90:97:c8:7c:db:a9:bf:6f:e4:b3:85:27:4c:c6:a1:da:cf:
+ 0d:43:af:25:83:0d:e5:fb:f7:de:54:3d:ac:f9:55:bf:f4:ed:
+ 91:ef:4f:1d:68:7a:e3:e1:b8:a6:39:35:88:f1:d4:35:33:8f:
+ 82:a0:08:63:c7:b9:b5:37:d2:4c:df:eb:4b:07:40:00:18:90:
+ 01:38:55:d6:64:c3:a3:c1:53:17:94:da:ed:b8:02:65:a5:c8:
+ 36:27:d8:e1:0a:8c:8a:f3:09:2f:5e:0b:01:d0:7e:6e:da:cd:
+ 13:1c:58:0a:7b:a3:47:74:0a:68:32:f5:e3:0f:15:2d:46:57:
+ a1:6b:f3:82
+-----BEGIN CERTIFICATE-----
+MIIDUzCCAjugAwIBAgIDAP7+MA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl
+Yi1wbGF0Zm9ybS10ZXN0czAeFw0xNzAzMjIxNjQ5NDVaFw0xNzA0MjExNjQ5NDVa
+MB0xGzAZBgNVBAMMEndlYi1wbGF0Zm9ybS10ZXN0czCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBANkhUiNFsL+zqGWzUOoGSljcDtYE72YpiT4p+YchGYYy
+IxDJ+WSDG/Bgj4rxCREBvRgRTva9rGXnGUWXrOdY03zEeQRHBInRbJbyYXTaka/p
+vT5aATu2sCmRaPSfeplQh8L+wJQ7U9cWpN1n71ZQOl3h5xG0lNDo95f0ZYtRguCv
+watZXWopiAd2Fb/K0SGicsjwX4A2RU2w2POC7IJJ8N0bX1jHV+LSZTomB0wrqkGg
+o7lIYnUZ2KukDmQ4tqWWp4VkApf1IxvoWke4Qbudd5wGsO/vR0U63y4gzrJU8N1+
+TFIV5ThU3In4+OaCW3XCDMxBgPXkCteA6wO2HLho3gMCAwEAAaOBmzCBmDAMBgNV
+HRMEBTADAQH/MB0GA1UdDgQWBBQQFphXUgwgOAukX3Zr4AkHRAEAwDBHBgNVHSME
+QDA+gBQQFphXUgwgOAukX3Zr4AkHRAEAwKEhpB8wHTEbMBkGA1UEAwwSd2ViLXBs
+YXRmb3JtLXRlc3RzggMA/v4wCwYDVR0PBAQDAgIEMBMGA1UdJQQMMAoGCCsGAQUF
+BwMBMA0GCSqGSIb3DQEBCwUAA4IBAQDXbDu8M+qyC/xXoIevPKCEsBh19IHCMgtx
+pp9doU9B7pW+tdSKxKJ3Y/gKdO1K+ZrxdO18DVLM0v8l0dyB3IlbGhO/1/0av92s
+HQlpHmYx0jj5U5/ODcdjjEZCCJLL5Km8lXlrBHqUsMG0iiqMUWFDkFkvsnmbRc6z
+6ZxhGPLRkJfIfNupv2/ks4UnTMah2s8NQ68lgw3l+/feVD2s+VW/9O2R708daHrj
+4bimOTWI8dQ1M4+CoAhjx7m1N9JM3+tLB0AAGJABOFXWZMOjwVMXlNrtuAJlpcg2
+J9jhCoyK8wkvXgsB0H5u2s0THFgKe6NHdApoMvXjDxUtRleha/OC
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRFEFFpem"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFF.pem (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFF.pem         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFF.pem        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,85 @@
</span><ins>+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 65279 (0xfeff)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: CN=web-platform-tests
+ Validity
+ Not Before: Mar 22 16:49:45 2017 GMT
+ Not After : Apr 21 16:49:45 2017 GMT
+ Subject: CN=localhost
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:c7:08:1a:00:15:56:e8:fb:58:98:bb:89:fd:17:
+ b0:8b:8d:07:ce:a8:76:56:cb:48:86:40:d1:6d:8e:
+ c3:de:f2:a3:58:66:39:01:c4:96:5a:57:b4:b1:36:
+ 37:58:8b:46:13:77:c5:46:1e:ed:37:35:6c:7c:2e:
+ 5a:11:68:3e:2b:ab:2f:56:1d:e5:fe:61:09:14:8d:
+ ba:89:0f:c5:39:8d:dc:2e:28:1e:19:d9:68:37:ba:
+ 79:67:e4:9a:f8:44:96:aa:f6:1d:7e:30:7b:ed:81:
+ 69:70:f6:fd:d8:67:5f:15:ab:b1:0a:80:92:7c:ed:
+ a2:a7:e3:cb:0b:57:10:d3:2d:a1:4f:d0:7d:89:bc:
+ a9:6d:48:49:68:97:56:62:5f:99:13:a4:e9:cd:e9:
+ cf:41:4e:2d:db:3a:da:a8:6c:68:41:60:dc:a3:11:
+ ac:7f:64:58:2e:33:9c:a0:a5:84:84:32:9f:25:51:
+ 0b:f8:bf:1c:19:e0:bb:88:85:a4:78:fa:d8:7b:1a:
+ a0:1f:8b:d0:cc:15:fb:15:1d:eb:10:2c:14:dd:0e:
+ 81:2f:7c:8d:00:ce:ab:8c:d9:cd:50:1f:51:7f:97:
+ c1:ea:1e:a9:e5:99:ec:98:95:e8:5e:ea:90:0f:93:
+ f5:21:6f:01:5f:31:d2:38:a0:02:18:31:01:8c:7e:
+ 13:1b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ BB:82:42:CC:70:38:D8:68:C0:1F:02:38:C1:95:07:54:4C:13:C8:37
+ X509v3 Authority Key Identifier:
+ keyid:10:16:98:57:52:0C:20:38:0B:A4:5F:76:6B:E0:09:07:44:01:00:C0
+
+ X509v3 Key Usage:
+ Digital Signature, Non Repudiation, Key Encipherment
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Subject Alternative Name:
+ DNS:localhost, DNS:www.localhost, DNS:xn--n8j6ds53lwwkrqhv28a.localhost, DNS:xn--lve-6lad.localhost, DNS:www2.localhost, DNS:www1.localhost
+ Signature Algorithm: sha256WithRSAEncryption
+ 7e:7c:47:8b:6f:c3:a2:bc:a0:95:27:23:2d:eb:d4:cf:b9:16:
+ 00:7a:29:08:0b:65:77:53:61:ec:c1:02:42:61:0a:23:2c:98:
+ 3f:32:68:d9:ec:a9:3c:e1:12:f5:92:8a:3b:14:2c:4f:0b:4f:
+ 27:2b:35:b0:cc:08:74:d7:8b:dd:d2:a3:c8:88:31:35:b0:ab:
+ eb:69:c3:a6:57:5f:40:ca:06:65:6f:39:d3:11:e2:ec:58:de:
+ e5:fa:1b:60:df:c8:10:2b:6d:48:1a:43:38:7e:96:6f:fc:c1:
+ 7f:3e:7b:62:33:ec:5c:ae:ab:bc:c1:67:9c:8d:89:5d:4c:90:
+ 1c:a3:92:bd:ea:a4:71:4e:0f:53:c3:da:04:70:8c:44:65:77:
+ 03:ef:47:5e:47:3d:e2:a4:6e:2a:2a:8a:76:af:d3:b0:92:6a:
+ ca:b4:25:48:7c:07:28:40:f9:79:7f:18:e1:f4:4a:52:de:78:
+ e6:61:5c:1d:56:ad:3f:4b:17:8b:4d:b1:d9:90:38:24:81:05:
+ fb:77:d1:b6:64:ff:2b:40:67:f2:98:c1:8d:bd:9b:b7:af:c6:
+ 50:fe:fa:02:ef:d3:3d:a1:7a:0b:41:3c:08:ea:5f:71:c4:22:
+ a4:cc:f0:c8:8a:ff:58:9c:4d:40:fd:3b:51:ab:95:39:50:93:
+ c5:c4:4e:15
+-----BEGIN CERTIFICATE-----
+MIIDnzCCAoegAwIBAgIDAP7/MA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl
+Yi1wbGF0Zm9ybS10ZXN0czAeFw0xNzAzMjIxNjQ5NDVaFw0xNzA0MjExNjQ5NDVa
+MBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAMcIGgAVVuj7WJi7if0XsIuNB86odlbLSIZA0W2Ow97yo1hmOQHEllpX
+tLE2N1iLRhN3xUYe7Tc1bHwuWhFoPiurL1Yd5f5hCRSNuokPxTmN3C4oHhnZaDe6
+eWfkmvhElqr2HX4we+2BaXD2/dhnXxWrsQqAknztoqfjywtXENMtoU/QfYm8qW1I
+SWiXVmJfmROk6c3pz0FOLds62qhsaEFg3KMRrH9kWC4znKClhIQynyVRC/i/HBng
+u4iFpHj62HsaoB+L0MwV+xUd6xAsFN0OgS98jQDOq4zZzVAfUX+XweoeqeWZ7JiV
+6F7qkA+T9SFvAV8x0jigAhgxAYx+ExsCAwEAAaOB8DCB7TAJBgNVHRMEAjAAMB0G
+A1UdDgQWBBS7gkLMcDjYaMAfAjjBlQdUTBPINzAfBgNVHSMEGDAWgBQQFphXUgwg
+OAukX3Zr4AkHRAEAwDALBgNVHQ8EBAMCBeAwEwYDVR0lBAwwCgYIKwYBBQUHAwEw
+fgYDVR0RBHcwdYIJbG9jYWxob3N0gg13d3cubG9jYWxob3N0giF4bi0tbjhqNmRz
+NTNsd3drcnFodjI4YS5sb2NhbGhvc3SCFnhuLS1sdmUtNmxhZC5sb2NhbGhvc3SC
+Dnd3dzIubG9jYWxob3N0gg53d3cxLmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOC
+AQEAfnxHi2/DoryglScjLevUz7kWAHopCAtld1Nh7MECQmEKIyyYPzJo2eypPOES
+9ZKKOxQsTwtPJys1sMwIdNeL3dKjyIgxNbCr62nDpldfQMoGZW850xHi7Fje5fob
+YN/IECttSBpDOH6Wb/zBfz57YjPsXK6rvMFnnI2JXUyQHKOSveqkcU4PU8PaBHCM
+RGV3A+9HXkc94qRuKiqKdq/TsJJqyrQlSHwHKED5eX8Y4fRKUt545mFcHVatP0sX
+i02x2ZA4JIEF+3fRtmT/K0Bn8pjBjb2bt6/GUP76Au/TPaF6C0E8COpfccQipMzw
+yIr/WJxNQP07UauVOVCTxcROFQ==
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRcacertpem"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cacert.pem (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cacert.pem         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cacert.pem        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,83 @@
</span><ins>+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 65278 (0xfefe)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: CN=web-platform-tests
+ Validity
+ Not Before: Mar 22 16:49:45 2017 GMT
+ Not After : Apr 21 16:49:45 2017 GMT
+ Subject: CN=web-platform-tests
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:d9:21:52:23:45:b0:bf:b3:a8:65:b3:50:ea:06:
+ 4a:58:dc:0e:d6:04:ef:66:29:89:3e:29:f9:87:21:
+ 19:86:32:23:10:c9:f9:64:83:1b:f0:60:8f:8a:f1:
+ 09:11:01:bd:18:11:4e:f6:bd:ac:65:e7:19:45:97:
+ ac:e7:58:d3:7c:c4:79:04:47:04:89:d1:6c:96:f2:
+ 61:74:da:91:af:e9:bd:3e:5a:01:3b:b6:b0:29:91:
+ 68:f4:9f:7a:99:50:87:c2:fe:c0:94:3b:53:d7:16:
+ a4:dd:67:ef:56:50:3a:5d:e1:e7:11:b4:94:d0:e8:
+ f7:97:f4:65:8b:51:82:e0:af:c1:ab:59:5d:6a:29:
+ 88:07:76:15:bf:ca:d1:21:a2:72:c8:f0:5f:80:36:
+ 45:4d:b0:d8:f3:82:ec:82:49:f0:dd:1b:5f:58:c7:
+ 57:e2:d2:65:3a:26:07:4c:2b:aa:41:a0:a3:b9:48:
+ 62:75:19:d8:ab:a4:0e:64:38:b6:a5:96:a7:85:64:
+ 02:97:f5:23:1b:e8:5a:47:b8:41:bb:9d:77:9c:06:
+ b0:ef:ef:47:45:3a:df:2e:20:ce:b2:54:f0:dd:7e:
+ 4c:52:15:e5:38:54:dc:89:f8:f8:e6:82:5b:75:c2:
+ 0c:cc:41:80:f5:e4:0a:d7:80:eb:03:b6:1c:b8:68:
+ de:03
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:TRUE
+ X509v3 Subject Key Identifier:
+ 10:16:98:57:52:0C:20:38:0B:A4:5F:76:6B:E0:09:07:44:01:00:C0
+ X509v3 Authority Key Identifier:
+ keyid:10:16:98:57:52:0C:20:38:0B:A4:5F:76:6B:E0:09:07:44:01:00:C0
+ DirName:/CN=web-platform-tests
+ serial:FE:FE
+
+ X509v3 Key Usage:
+ Certificate Sign
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ Signature Algorithm: sha256WithRSAEncryption
+ d7:6c:3b:bc:33:ea:b2:0b:fc:57:a0:87:af:3c:a0:84:b0:18:
+ 75:f4:81:c2:32:0b:71:a6:9f:5d:a1:4f:41:ee:95:be:b5:d4:
+ 8a:c4:a2:77:63:f8:0a:74:ed:4a:f9:9a:f1:74:ed:7c:0d:52:
+ cc:d2:ff:25:d1:dc:81:dc:89:5b:1a:13:bf:d7:fd:1a:bf:dd:
+ ac:1d:09:69:1e:66:31:d2:38:f9:53:9f:ce:0d:c7:63:8c:46:
+ 42:08:92:cb:e4:a9:bc:95:79:6b:04:7a:94:b0:c1:b4:8a:2a:
+ 8c:51:61:43:90:59:2f:b2:79:9b:45:ce:b3:e9:9c:61:18:f2:
+ d1:90:97:c8:7c:db:a9:bf:6f:e4:b3:85:27:4c:c6:a1:da:cf:
+ 0d:43:af:25:83:0d:e5:fb:f7:de:54:3d:ac:f9:55:bf:f4:ed:
+ 91:ef:4f:1d:68:7a:e3:e1:b8:a6:39:35:88:f1:d4:35:33:8f:
+ 82:a0:08:63:c7:b9:b5:37:d2:4c:df:eb:4b:07:40:00:18:90:
+ 01:38:55:d6:64:c3:a3:c1:53:17:94:da:ed:b8:02:65:a5:c8:
+ 36:27:d8:e1:0a:8c:8a:f3:09:2f:5e:0b:01:d0:7e:6e:da:cd:
+ 13:1c:58:0a:7b:a3:47:74:0a:68:32:f5:e3:0f:15:2d:46:57:
+ a1:6b:f3:82
+-----BEGIN CERTIFICATE-----
+MIIDUzCCAjugAwIBAgIDAP7+MA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl
+Yi1wbGF0Zm9ybS10ZXN0czAeFw0xNzAzMjIxNjQ5NDVaFw0xNzA0MjExNjQ5NDVa
+MB0xGzAZBgNVBAMMEndlYi1wbGF0Zm9ybS10ZXN0czCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBANkhUiNFsL+zqGWzUOoGSljcDtYE72YpiT4p+YchGYYy
+IxDJ+WSDG/Bgj4rxCREBvRgRTva9rGXnGUWXrOdY03zEeQRHBInRbJbyYXTaka/p
+vT5aATu2sCmRaPSfeplQh8L+wJQ7U9cWpN1n71ZQOl3h5xG0lNDo95f0ZYtRguCv
+watZXWopiAd2Fb/K0SGicsjwX4A2RU2w2POC7IJJ8N0bX1jHV+LSZTomB0wrqkGg
+o7lIYnUZ2KukDmQ4tqWWp4VkApf1IxvoWke4Qbudd5wGsO/vR0U63y4gzrJU8N1+
+TFIV5ThU3In4+OaCW3XCDMxBgPXkCteA6wO2HLho3gMCAwEAAaOBmzCBmDAMBgNV
+HRMEBTADAQH/MB0GA1UdDgQWBBQQFphXUgwgOAukX3Zr4AkHRAEAwDBHBgNVHSME
+QDA+gBQQFphXUgwgOAukX3Zr4AkHRAEAwKEhpB8wHTEbMBkGA1UEAwwSd2ViLXBs
+YXRmb3JtLXRlc3RzggMA/v4wCwYDVR0PBAQDAgIEMBMGA1UdJQQMMAoGCCsGAQUF
+BwMBMA0GCSqGSIb3DQEBCwUAA4IBAQDXbDu8M+qyC/xXoIevPKCEsBh19IHCMgtx
+pp9doU9B7pW+tdSKxKJ3Y/gKdO1K+ZrxdO18DVLM0v8l0dyB3IlbGhO/1/0av92s
+HQlpHmYx0jj5U5/ODcdjjEZCCJLL5Km8lXlrBHqUsMG0iiqMUWFDkFkvsnmbRc6z
+6ZxhGPLRkJfIfNupv2/ks4UnTMah2s8NQ68lgw3l+/feVD2s+VW/9O2R708daHrj
+4bimOTWI8dQ1M4+CoAhjx7m1N9JM3+tLB0AAGJABOFXWZMOjwVMXlNrtuAJlpcg2
+J9jhCoyK8wkvXgsB0H5u2s0THFgKe6NHdApoMvXjDxUtRleha/OC
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRcakeypem"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cakey.pem (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cakey.pem         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cakey.pem        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,5F2A93194356E6B0
+
+l1mKFlUzVmRAt6+4YIwkCIou/yl6QpB/i9QWmvlJJ468Fp+L0sZVWfuoCKQ9Gu1r
+5W+R4K+zzgGyRIIbf/OYBScapUzbZhaKbzYJCqeoXe0jOi1XkYT9uwDKlYZ3ACxS
+xAOkp6H+nLup+hdqriuSf5+50FBW9deGBJA0pOIl/EvaeE1Y3jJl4VZcG3TyU8Rr
+5do0Kw5QCvXWoevFcj3CFtX8OZzuwUaMX4tMruMabKL7rcwLonHy8wNh2xBUeh0L
+f99I/pXpuLniYyjEFPDJzo5CkDPXUxspIKq+93XgZ5w+NmK/wPtmB2fWr2kva0fr
+dFi6O1Q768YColS5S46KSAVDdmvsMsK45WOEAk7qJQPO6PhKWA80zp+A5v6C7DLz
+GwD4R8SrPurKBB//QCiTKhFzcJ0vbzKOXNlAmIYjrp8ZOwSAxuXZ6ZsFkXfdj9EX
+tu0GifH9/i4QMhXdNzaGazdZJ+z6/aN7TzznDgkHPcIEuhAs1ulH94da+grGzdqD
+pCG4vx88vtNNNiWpg2/0D1mLfi3lqliVdU7pk3zgeUKbGttdChqfGaTe+JNqp6Ru
+DrPrkRa/pY+9gkd0cLuASoGqo0JIRjnWGoKTJz6MirNj/vEE/VUaXFtw53IsjZdB
+bMf9opeEFE2nKhdEzso2W3fyWYEZZNb6lxz+GvvQAz9IXV+DSWJHPGU57VgIhsH/
+wwQWjB+gmyA6xtGfMiDrIw/ZRo1eBW+B6rZCCjhwjZXWPnDuTfY4LPcFwZIhNrJz
+zQ30CWI0Z9vIeQnpv9kxFxC+t2k6coDH8Ny6+VUIq+cWT/klhTfCcq8JaV8Hj0ad
+EMYTGKon6QkjPOj4kzc6NH5gLQvd7GVBzg9KRF2e3jMrNeMwyFyY7Xh65yMiFEBE
+BwLVSXgoqkwAFjLNuFrZqT0S0HJ9jS+NRebzeCQiFgUD9Wmav6BsFzmao/pP+pNl
+j6fxSyzUmZzg7LCUbra7QIRwi0zU6T9Ku+gk0jAX854Ej1Av8Y/pZE84F4zl7+JQ
+vaXrPjMdXwCBAMdwaCUTjG48dSLH47OGtIi5y3SPY9LVNmf3q7cgqnW1VGax6DOw
+ug7pzpokNTXKLU3MknSV8ef2ZcAiCg/9748ztqcE4o2shL4irmzmoGXI63BhbseQ
+YNxv+89j60kqfUzbJ4lY0lvWGn4mEvFa6TwUCUlA+uMtxIdeGxzj+qdi3YvIhmvM
+FO+cWFe/rSFeJlaZ7+wtcEvI604heWwXjGcGSUN9kykxQ9SH4g0MJA8tdb/MEf0A
+xitKUvHQng0cJyi4tMkC7I2NvBNfwJPvzlUvj8NTQ7NNJxAf+eA/yMntznuZxts/
+AJG4DlMYzbjranPVNCx2c83pQfY9dwXBP1S6ATPnH/nKiJyj6iZwYIyqa5/VLlrJ
+QOx+NUXrV33l0DyLC4qu30s+C5DfaH2xpB2PJsAoqpEnTyqXKBS3KKlo2SNQr3gD
+OMXqeWsxbiFFwJd0et9KPOFYGV+9C/7PZIUYTg9i9TlABX2YHv71cHhUTBtLYJF8
+NZJcr5rr4UsLgfVQ7ULJupoDbtiRObGMcoxCwCMntkhWVStRSMhU4Q==
+-----END RSA PRIVATE KEY-----
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRindextxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+V        170421164945Z                FEFE        unknown        /CN=web-platform-tests
+V        170421164945Z                FEFF        unknown        /CN=localhost
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRindextxtattr"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+unique_subject = yes
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRindextxtattrold"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr.old (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr.old         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr.old        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+unique_subject = yes
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRindextxtold"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.old (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.old         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.old        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+V        170421164945Z                FEFE        unknown        /CN=web-platform-tests
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRlocalhostkey"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.key (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.key         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.key        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAxwgaABVW6PtYmLuJ/Rewi40Hzqh2VstIhkDRbY7D3vKjWGY5
+AcSWWle0sTY3WItGE3fFRh7tNzVsfC5aEWg+K6svVh3l/mEJFI26iQ/FOY3cLige
+GdloN7p5Z+Sa+ESWqvYdfjB77YFpcPb92GdfFauxCoCSfO2ip+PLC1cQ0y2hT9B9
+ibypbUhJaJdWYl+ZE6TpzenPQU4t2zraqGxoQWDcoxGsf2RYLjOcoKWEhDKfJVEL
++L8cGeC7iIWkePrYexqgH4vQzBX7FR3rECwU3Q6BL3yNAM6rjNnNUB9Rf5fB6h6p
+5ZnsmJXoXuqQD5P1IW8BXzHSOKACGDEBjH4TGwIDAQABAoIBADEXkXo1yUMcRAUg
+NPAFeNljBur1aIMODyx2LnIMhcmnJZ03UZZbDA7qlTokulAPwlAo+bLLDA3TEpgq
+wrKKeNNCnSFrrIArJRc5winuhuIkWIvV/1623lroluuGWqckG9m9bRbkFJ1Hj196
+vLA1ByIMQFXr0rYX00gACuQYLKE5r4xLTe8BfESfrOl6fcVil95iLpPiBjqGNo3S
+ymK+hK3vIRkXKE4EJ/8EOqfslJcME2NMywWyWsegP8z3u5Iz6+dqjz7FegCKoEqh
+8WTgc+3VucvBuz3texvQQ+Rg24HhmNA7j5vsKlnlX53NT1gNqkcpT74CG9kkTO6D
+X+IvNxkCgYEA7lwpslBkxperRFefBTcrVAprxGbKGuxk2aRi9J7cGG/01i83zNkR
+ich0ZowHx6iOV45SO91zLAFMLnqGloUEy8pVbx3yJJQefLp0VuFNSZBGoHEE59G6
+9OJxMkGySblbDDVxj+1iHjHotNcIZQ5zNobGXoKyip76bOimen+lk2UCgYEA1cLY
+X/kaY0zE+6w16vX0miiYSyP/mgi64PRKylirYsR0awsusEuWeefvzaq2ZzQIE1ay
+EDCfZ85KOQGGPmX+SG/dPKQWzU0ZSqzJqd3J9MWKfCRJ9NkKarVQbX/2iseQ1s6g
+ZyZisAqLCJAmwR1VONmp33qlCV+2v6GHWpqE5H8CgYEAzR8GyuqgLr6qpj95G3Xk
+lYf6QaPrXMv95cWvWq+y3FzMJ92ueVx72URl1zG+KDWHeRWC8v2ZdU8Qjhbm53VF
+MVLHvr3YeV319oRGRdXROvMrtDpObGhyKPcNTqB2mzclgRYkyiUQgMeWaLl8Aesz
+fsLwxrhWiTBSdZKoYVaj2HkCgYEAmChb0OUGTYzF4seQkbGF7X3b+hCjzsdMDviV
+jDdVt7ZTkCajk0Ya1KeuYN2VfRziarGZikCyFzgWSUG2hxAe0v0dpB7BRF4PFMKt
+wcZoDV3X18oVAr7D1XU+zNL7cYngpabrMsF2Gg1HLk895tS0ZwU5ECTC+UsyUHHw
+YSQAWI0CgYBX93FSIJy+cZgyHwHaYf6Qk5GT44G79VFabtCeK4LLo2NGSegyXn1E
+VvCfIpYrZtvHa2WKY0nuCq9+aN0FFOvUrwEoNygCXz6BrXOiuLDlMfT6apaLDF8I
+dn3stRTQC0tA+NrVf90V4ntlLKl4BQ80UxI9FDWz7gcRycIm0DRnow==
+-----END RSA PRIVATE KEY-----
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRlocalhostpem"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.pem (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.pem         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.pem        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,85 @@
</span><ins>+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 65279 (0xfeff)
+ Signature Algorithm: sha256WithRSAEncryption
+ Issuer: CN=web-platform-tests
+ Validity
+ Not Before: Mar 22 16:49:45 2017 GMT
+ Not After : Apr 21 16:49:45 2017 GMT
+ Subject: CN=localhost
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (2048 bit)
+ Modulus (2048 bit):
+ 00:c7:08:1a:00:15:56:e8:fb:58:98:bb:89:fd:17:
+ b0:8b:8d:07:ce:a8:76:56:cb:48:86:40:d1:6d:8e:
+ c3:de:f2:a3:58:66:39:01:c4:96:5a:57:b4:b1:36:
+ 37:58:8b:46:13:77:c5:46:1e:ed:37:35:6c:7c:2e:
+ 5a:11:68:3e:2b:ab:2f:56:1d:e5:fe:61:09:14:8d:
+ ba:89:0f:c5:39:8d:dc:2e:28:1e:19:d9:68:37:ba:
+ 79:67:e4:9a:f8:44:96:aa:f6:1d:7e:30:7b:ed:81:
+ 69:70:f6:fd:d8:67:5f:15:ab:b1:0a:80:92:7c:ed:
+ a2:a7:e3:cb:0b:57:10:d3:2d:a1:4f:d0:7d:89:bc:
+ a9:6d:48:49:68:97:56:62:5f:99:13:a4:e9:cd:e9:
+ cf:41:4e:2d:db:3a:da:a8:6c:68:41:60:dc:a3:11:
+ ac:7f:64:58:2e:33:9c:a0:a5:84:84:32:9f:25:51:
+ 0b:f8:bf:1c:19:e0:bb:88:85:a4:78:fa:d8:7b:1a:
+ a0:1f:8b:d0:cc:15:fb:15:1d:eb:10:2c:14:dd:0e:
+ 81:2f:7c:8d:00:ce:ab:8c:d9:cd:50:1f:51:7f:97:
+ c1:ea:1e:a9:e5:99:ec:98:95:e8:5e:ea:90:0f:93:
+ f5:21:6f:01:5f:31:d2:38:a0:02:18:31:01:8c:7e:
+ 13:1b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ X509v3 Subject Key Identifier:
+ BB:82:42:CC:70:38:D8:68:C0:1F:02:38:C1:95:07:54:4C:13:C8:37
+ X509v3 Authority Key Identifier:
+ keyid:10:16:98:57:52:0C:20:38:0B:A4:5F:76:6B:E0:09:07:44:01:00:C0
+
+ X509v3 Key Usage:
+ Digital Signature, Non Repudiation, Key Encipherment
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Subject Alternative Name:
+ DNS:localhost, DNS:www.localhost, DNS:xn--n8j6ds53lwwkrqhv28a.localhost, DNS:xn--lve-6lad.localhost, DNS:www2.localhost, DNS:www1.localhost
+ Signature Algorithm: sha256WithRSAEncryption
+ 7e:7c:47:8b:6f:c3:a2:bc:a0:95:27:23:2d:eb:d4:cf:b9:16:
+ 00:7a:29:08:0b:65:77:53:61:ec:c1:02:42:61:0a:23:2c:98:
+ 3f:32:68:d9:ec:a9:3c:e1:12:f5:92:8a:3b:14:2c:4f:0b:4f:
+ 27:2b:35:b0:cc:08:74:d7:8b:dd:d2:a3:c8:88:31:35:b0:ab:
+ eb:69:c3:a6:57:5f:40:ca:06:65:6f:39:d3:11:e2:ec:58:de:
+ e5:fa:1b:60:df:c8:10:2b:6d:48:1a:43:38:7e:96:6f:fc:c1:
+ 7f:3e:7b:62:33:ec:5c:ae:ab:bc:c1:67:9c:8d:89:5d:4c:90:
+ 1c:a3:92:bd:ea:a4:71:4e:0f:53:c3:da:04:70:8c:44:65:77:
+ 03:ef:47:5e:47:3d:e2:a4:6e:2a:2a:8a:76:af:d3:b0:92:6a:
+ ca:b4:25:48:7c:07:28:40:f9:79:7f:18:e1:f4:4a:52:de:78:
+ e6:61:5c:1d:56:ad:3f:4b:17:8b:4d:b1:d9:90:38:24:81:05:
+ fb:77:d1:b6:64:ff:2b:40:67:f2:98:c1:8d:bd:9b:b7:af:c6:
+ 50:fe:fa:02:ef:d3:3d:a1:7a:0b:41:3c:08:ea:5f:71:c4:22:
+ a4:cc:f0:c8:8a:ff:58:9c:4d:40:fd:3b:51:ab:95:39:50:93:
+ c5:c4:4e:15
+-----BEGIN CERTIFICATE-----
+MIIDnzCCAoegAwIBAgIDAP7/MA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMEndl
+Yi1wbGF0Zm9ybS10ZXN0czAeFw0xNzAzMjIxNjQ5NDVaFw0xNzA0MjExNjQ5NDVa
+MBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAMcIGgAVVuj7WJi7if0XsIuNB86odlbLSIZA0W2Ow97yo1hmOQHEllpX
+tLE2N1iLRhN3xUYe7Tc1bHwuWhFoPiurL1Yd5f5hCRSNuokPxTmN3C4oHhnZaDe6
+eWfkmvhElqr2HX4we+2BaXD2/dhnXxWrsQqAknztoqfjywtXENMtoU/QfYm8qW1I
+SWiXVmJfmROk6c3pz0FOLds62qhsaEFg3KMRrH9kWC4znKClhIQynyVRC/i/HBng
+u4iFpHj62HsaoB+L0MwV+xUd6xAsFN0OgS98jQDOq4zZzVAfUX+XweoeqeWZ7JiV
+6F7qkA+T9SFvAV8x0jigAhgxAYx+ExsCAwEAAaOB8DCB7TAJBgNVHRMEAjAAMB0G
+A1UdDgQWBBS7gkLMcDjYaMAfAjjBlQdUTBPINzAfBgNVHSMEGDAWgBQQFphXUgwg
+OAukX3Zr4AkHRAEAwDALBgNVHQ8EBAMCBeAwEwYDVR0lBAwwCgYIKwYBBQUHAwEw
+fgYDVR0RBHcwdYIJbG9jYWxob3N0gg13d3cubG9jYWxob3N0giF4bi0tbjhqNmRz
+NTNsd3drcnFodjI4YS5sb2NhbGhvc3SCFnhuLS1sdmUtNmxhZC5sb2NhbGhvc3SC
+Dnd3dzIubG9jYWxob3N0gg53d3cxLmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOC
+AQEAfnxHi2/DoryglScjLevUz7kWAHopCAtld1Nh7MECQmEKIyyYPzJo2eypPOES
+9ZKKOxQsTwtPJys1sMwIdNeL3dKjyIgxNbCr62nDpldfQMoGZW850xHi7Fje5fob
+YN/IECttSBpDOH6Wb/zBfz57YjPsXK6rvMFnnI2JXUyQHKOSveqkcU4PU8PaBHCM
+RGV3A+9HXkc94qRuKiqKdq/TsJJqyrQlSHwHKED5eX8Y4fRKUt545mFcHVatP0sX
+i02x2ZA4JIEF+3fRtmT/K0Bn8pjBjb2bt6/GUP76Au/TPaF6C0E8COpfccQipMzw
+yIr/WJxNQP07UauVOVCTxcROFQ==
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRserial"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+FF00
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRserialold"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial.old (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial.old         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial.old        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+FEFF
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCERTS_DIRw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+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/%CERTS_DIR%/FEFE.pem
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/FEFF.pem
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cacert.pem
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/cakey.pem
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.attr.old
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/index.txt.old
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.key
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/localhost.pem
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial
+/LayoutTests/imported/w3c/web-platform-tests/%CERTS_DIR%/serial.old
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsCONTRIBUTINGmd"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/CONTRIBUTING.md (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/CONTRIBUTING.md        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/CONTRIBUTING.md        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -27,3 +27,8 @@
</span><span class="cx"> suitable for any purpose. We make no representations, express or implied, that
</span><span class="cx"> the content of this repository or the use thereof indicates conformance to a
</span><span class="cx"> specification. All content is provided as-is to help reach interoperability.
</span><ins>+
+Documentation
+-------------
+
+See [web-platform-tests.org](http://web-platform-tests.org/).
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbcursordirectionindexkeyrangehtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,4 +1,5 @@
</span><span class="cx"> <!DOCTYPE html>
</span><ins>+<meta charset=utf-8>
</ins><span class="cx"> <title>IDBCursor direction - index with keyrange</title>
</span><span class="cx"> <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
</span><span class="cx"> <link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#cursor-iteration-operation">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbcursordirectionobjectstorekeyrangehtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,4 +1,5 @@
</span><span class="cx"> <!DOCTYPE html>
</span><ins>+<meta charset=utf-8>
</ins><span class="cx"> <title>IDBCursor direction - object store with keyrange</title>
</span><span class="cx"> <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
</span><span class="cx"> <link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#cursor-iteration-operation">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbdatabasetransactionexceptionorderexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx">
</span><span class="cx"> PASS IDBDatabase.transaction exception order: InvalidStateError vs. NotFoundError
</span><span class="cx"> PASS IDBDatabase.transaction exception order: InvalidStateError vs. InvalidAccessError
</span><del>-FAIL IDBDatabase.transaction exception order: NotFoundError vs. InvalidAccessError assert_throws: "No such store" check (NotFoundError) should precede "invalid mode" check (InvalidAccessError) function "() => {
</del><ins>+FAIL IDBDatabase.transaction exception order: NotFoundError vs. TypeError assert_throws: "No such store" check (NotFoundError) should precede "invalid mode" check (TypeError) function "() => {
</ins><span class="cx"> db.transaction('no-such-store', 'versionchange');
</span><span class="cx"> }" threw object "TypeError: Type error" that is not a DOMException NotFoundError: property "code" is equal to undefined, expected 8
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbdatabasetransactionexceptionorderhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase-transaction-exception-order.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -45,10 +45,10 @@
</span><span class="cx"> assert_throws('NotFoundError', () => {
</span><span class="cx"> db.transaction('no-such-store', 'versionchange');
</span><span class="cx"> }, '"No such store" check (NotFoundError) should precede ' +
</span><del>- '"invalid mode" check (InvalidAccessError)');
</del><ins>+ '"invalid mode" check (TypeError)');
</ins><span class="cx"> t.done();
</span><span class="cx"> },
</span><del>- 'IDBDatabase.transaction exception order: NotFoundError vs. InvalidAccessError'
</del><ins>+ 'IDBDatabase.transaction exception order: NotFoundError vs. TypeError'
</ins><span class="cx"> );
</span><span class="cx">
</span><span class="cx"> </script>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbdatabase_createObjectStore9invalidparametershtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -7,11 +7,11 @@
</span><span class="cx"> <script src=support.js></script>
</span><span class="cx">
</span><span class="cx"> <script>
</span><del>- function invalid_optionalParameters(desc, params) {
</del><ins>+ function invalid_optionalParameters(desc, params, exception = "InvalidAccessError") {
</ins><span class="cx"> var t = async_test(document.title + " - " + desc);
</span><span class="cx">
</span><span class="cx"> createdb(t).onupgradeneeded = function(e) {
</span><del>- assert_throws(null, function() {
</del><ins>+ assert_throws(exception, function() {
</ins><span class="cx"> e.target.result.createObjectStore("store", params);
</span><span class="cx"> });
</span><span class="cx">
</span><span class="lines">@@ -20,9 +20,9 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> invalid_optionalParameters("autoInc and empty keyPath", {autoIncrement: true, keyPath: ""});
</span><del>- invalid_optionalParameters("autoInc and keyPath array", {autoIncrement: true, keyPath: []});
</del><ins>+ invalid_optionalParameters("autoInc and keyPath array", {autoIncrement: true, keyPath: []}, "SyntaxError");
</ins><span class="cx"> invalid_optionalParameters("autoInc and keyPath array 2", {autoIncrement: true, keyPath: ["hey"]});
</span><del>- invalid_optionalParameters("autoInc and keyPath object", {autoIncrement: true, keyPath: {a:"hey", b:2}});
</del><ins>+ invalid_optionalParameters("autoInc and keyPath object", {autoIncrement: true, keyPath: {a:"hey", b:2}}, "SyntaxError");
</ins><span class="cx">
</span><span class="cx"> </script>
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbobjectstore_createIndex15autoincrementexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+PASS Explicit Primary Key
+PASS Auto-Increment Primary Key
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbobjectstore_createIndex15autoincrementhtm"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>IDBObjectStore.createIndex() - AutoIncrement in Compound Index</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support.js"></script>
+<script>
+ indexeddb_test(
+ function(t, db, txn) {
+ // No auto-increment
+ var store = db.createObjectStore("Store1", {keyPath: "id"});
+ store.createIndex("CompoundKey", ["num", "id"]);
+
+ // Add data
+ store.put({id: 1, num: 100});
+ },
+ function(t, db) {
+ var store = db.transaction("Store1", "readwrite").objectStore("Store1");
+
+ store.openCursor().onsuccess = t.step_func(function(e) {
+ var item = e.target.result.value;
+ store.index("CompoundKey").get([item.num, item.id]).onsuccess = t.step_func(function(e) {
+ assert_equals(e.target.result ? e.target.result.num : null, 100, 'Expected 100.');
+ t.done();
+ });
+ });
+ },
+ "Explicit Primary Key"
+ );
+
+ indexeddb_test(
+ function(t, db, txn) {
+ // Auto-increment
+ var store = db.createObjectStore("Store2", {keyPath: "id", autoIncrement: true});
+ store.createIndex("CompoundKey", ["num", "id"]);
+
+ // Add data
+ store.put({num: 100});
+ },
+ function(t, db) {
+ var store = db.transaction("Store2", "readwrite").objectStore("Store2");
+ store.openCursor().onsuccess = t.step_func(function(e) {
+ var item = e.target.result.value;
+ store.index("CompoundKey").get([item.num, item.id]).onsuccess = t.step_func(function(e) {
+ assert_equals(e.target.result ? e.target.result.num : null, 100, 'Expected 100.');
+ t.done();
+ });
+ });
+ },
+ "Auto-Increment Primary Key"
+ );
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBidbobjectstore_deletedhtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -28,16 +28,17 @@
</span><span class="cx"> db.deleteObjectStore("store");
</span><span class="cx"> assert_equals(db.objectStoreNames.length, 0, "objectStoreNames.length after delete");
</span><span class="cx">
</span><del>- assert_throws(null, function() { objStore.add(2); });
- assert_throws(null, function() { objStore.put(3); });
- assert_throws(null, function() { objStore.get(1); });
- assert_throws(null, function() { objStore.clear(); });
- assert_throws(null, function() { objStore.count(); });
- assert_throws(null, function() { objStore.delete(1); });
- assert_throws(null, function() { objStore.openCursor(); });
- assert_throws(null, function() { objStore.index("idx"); });
- assert_throws(null, function() { objStore.deleteIndex("idx"); });
- assert_throws(null, function() { objStore.createIndex("idx2", "a"); });
</del><ins>+ const exc = "InvalidStateError"
+ assert_throws(exc, function() { objStore.add(2); });
+ assert_throws(exc, function() { objStore.put(3); });
+ assert_throws(exc, function() { objStore.get(1); });
+ assert_throws(exc, function() { objStore.clear(); });
+ assert_throws(exc, function() { objStore.count(); });
+ assert_throws(exc, function() { objStore.delete(1); });
+ assert_throws(exc, function() { objStore.openCursor(); });
+ assert_throws(exc, function() { objStore.index("idx"); });
+ assert_throws(exc, function() { objStore.deleteIndex("idx"); });
+ assert_throws(exc, function() { objStore.createIndex("idx2", "a"); });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> open_rq.onsuccess = function() {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBinterleavedcursorsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+
+PASS 1 cursors
+PASS 10 cursors
+PASS 100 cursors
+PASS 500 cursors
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBinterleavedcursorshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,196 @@
</span><ins>+<!doctype html>
+<meta charset="utf-8">
+<meta name="timeout" content="long">
+<title>IndexedDB: Interleaved iteration of multiple cursors</title>
+<link rel="author" href="pwnall@chromium.org" title="Victor Costan">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support-promises.js"></script>
+<script>
+// Number of objects that each iterator goes over.
+const itemCount = 10;
+
+// Ratio of small objects to large objects.
+const largeObjectRatio = 5;
+
+// Size of large objects. This should exceed the size of a block in the storage
+// method underlying the browser's IndexedDB implementation. For example, this
+// needs to exceed the LevelDB block size on Chrome, and the SQLite block size
+// on Firefox.
+const largeObjectSize = 48 * 1024;
+
+function objectKey(cursorIndex, itemIndex) {
+ return `${cursorIndex}-key-${itemIndex}`;
+}
+
+function objectValue(cursorIndex, itemIndex) {
+ if ((cursorIndex * itemCount + itemIndex) % largeObjectRatio === 0) {
+ // We use a typed array (as opposed to a string) because IndexedDB
+ // implementations may serialize strings using UTF-8 or UTF-16, yielding
+ // larger IndexedDB entries than we'd expect. It's very unlikely that an
+ // IndexedDB implementation would use anything other than the raw buffer to
+ // serialize a typed array.
+ const buffer = new Uint8Array(largeObjectSize);
+
+ // Some IndexedDB implementations, like LevelDB, compress their data blocks
+ // before storing them to disk. We use a simple 32-bit xorshift PRNG, which
+ // should be sufficient to foil any fast generic-purpose compression scheme.
+
+ // 32-bit xorshift - the seed can't be zero
+ let state = 1000 + (cursorIndex * itemCount + itemIndex);
+
+ for (let i = 0; i < largeObjectSize; ++i) {
+ state ^= state << 13;
+ state ^= state >> 17;
+ state ^= state << 5;
+ buffer[i] = state & 0xff;
+ }
+
+ return buffer;
+ }
+ return [cursorIndex, 'small', itemIndex];
+}
+
+// Writes the objects to be read by one cursor. Returns a promise that resolves
+// when the write completes.
+//
+// We want to avoid creating a large transaction, because that is outside the
+// test's scope, and it's a bad practice. So we break up the writes across
+// multiple transactions. For simplicity, each transaction writes all the
+// objects that will be read by a cursor.
+function writeCursorObjects(database, cursorIndex) {
+ return new Promise((resolve, reject) => {
+ const transaction = database.transaction('cache', 'readwrite');
+ transaction.onabort = () => { reject(transaction.error); };
+
+ const store = transaction.objectStore('cache');
+ for (let i = 0; i < itemCount; ++i) {
+ store.put({
+ key: objectKey(cursorIndex, i), value: objectValue(cursorIndex, i)});
+ }
+ transaction.oncomplete = resolve;
+ });
+}
+
+// Returns a promise that resolves when the store has been populated.
+function populateTestStore(testCase, database, cursorCount) {
+ let promiseChain = Promise.resolve();
+
+ for (let i = 0; i < cursorCount; ++i)
+ promiseChain = promiseChain.then(() => writeCursorObjects(database, i));
+
+ return promiseChain;
+}
+
+// Reads cursors in an interleaved fashion, as shown below.
+//
+// Given N cursors, each of which points to the beginning of a K-item sequence,
+// the following accesses will be made.
+//
+// OC(i) = open cursor i
+// RD(i, j) = read result of cursor i, which should be at item j
+// CC(i) = continue cursor i
+// | = wait for onsuccess on the previous OC or CC
+//
+// OC(1) | RD(1, 1) OC(2) | RD(2, 1) OC(3) | ... | RD(n-1, 1) CC(n) |
+// RD(n, 1) CC(1) | RD(1, 2) CC(2) | RD(2, 2) CC(3) | ... | RD(n-1, 2) CC(n) |
+// RD(n, 2) CC(1) | RD(1, 3) CC(2) | RD(2, 3) CC(3) | ... | RD(n-1, 3) CC(n) |
+// ...
+// RD(n, k-1) CC(1) | RD(1, k) CC(2) | RD(2, k) CC(3) | ... | RD(n-1, k) CC(n) |
+// RD(n, k) done
+function interleaveCursors(testCase, store, cursorCount) {
+ return new Promise((resolve, reject) => {
+ // The cursors used for iteration are stored here so each cursor's onsuccess
+ // handler can call continue() on the next cursor.
+ const cursors = [];
+
+ // The results of IDBObjectStore.openCursor() calls are stored here so we
+ // we can change the requests' onsuccess handler after every
+ // IDBCursor.continue() call.
+ const requests = [];
+
+ const checkCursorState = (cursorIndex, itemIndex) => {
+ const cursor = cursors[cursorIndex];
+ assert_equals(cursor.key, objectKey(cursorIndex, itemIndex));
+ assert_equals(cursor.value.key, objectKey(cursorIndex, itemIndex));
+ assert_equals(
+ cursor.value.value.join('-'),
+ objectValue(cursorIndex, itemIndex).join('-'));
+ };
+
+ const openCursor = (cursorIndex, callback) => {
+ const request = store.openCursor(
+ IDBKeyRange.lowerBound(objectKey(cursorIndex, 0)));
+ requests[cursorIndex] = request;
+
+ request.onsuccess = testCase.step_func(() => {
+ const cursor = request.result;
+ cursors[cursorIndex] = cursor;
+ checkCursorState(cursorIndex, 0);
+ callback();
+ });
+ request.onerror = event => reject(request.error);
+ };
+
+ const readItemFromCursor = (cursorIndex, itemIndex, callback) => {
+ const request = requests[cursorIndex];
+ request.onsuccess = testCase.step_func(() => {
+ const cursor = request.result;
+ cursors[cursorIndex] = cursor;
+ checkCursorState(cursorIndex, itemIndex);
+ callback();
+ });
+
+ const cursor = cursors[cursorIndex];
+ cursor.continue();
+ };
+
+ // We open all the cursors one at a time, then cycle through the cursors and
+ // call continue() on each of them. This access pattern causes maximal
+ // trashing to an LRU cursor cache. Eviction scheme aside, any cache will
+ // have to evict some cursors, and this access pattern verifies that the
+ // cache correctly restores the state of evicted cursors.
+ const steps = [];
+ for (let cursorIndex = 0; cursorIndex < cursorCount; ++cursorIndex)
+ steps.push(openCursor.bind(null, cursorIndex));
+ for (let itemIndex = 1; itemIndex < itemCount; ++itemIndex) {
+ for (let cursorIndex = 0; cursorIndex < cursorCount; ++cursorIndex)
+ steps.push(readItemFromCursor.bind(null, cursorIndex, itemIndex));
+ }
+
+ const runStep = (stepIndex) => {
+ if (stepIndex === steps.length) {
+ resolve();
+ return;
+ }
+ steps[stepIndex](() => { runStep(stepIndex + 1); });
+ };
+ runStep(0);
+ });
+}
+
+for (let cursorCount of [1, 10, 100, 500]) {
+ promise_test(testCase => {
+ return createDatabase(testCase, (database, transaction) => {
+ const store = database.createObjectStore('cache',
+ { keyPath: 'key', autoIncrement: true });
+ }).then(database => {
+ return populateTestStore(testCase, database, cursorCount).then(
+ () => database);
+ }).then(database => {
+ database.close();
+ }).then(() => {
+ return openDatabase(testCase);
+ }).then(database => {
+ const transaction = database.transaction('cache', 'readonly');
+ transaction.onabort = () => { reject(transaction.error); };
+
+ const store = transaction.objectStore('cache');
+ return interleaveCursors(testCase, store, cursorCount).then(
+ () => database);
+ }).then(database => {
+ database.close();
+ });
+ }, `${cursorCount} cursors`);
+}
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBparallelcursorsupgradeexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,7 @@
</span><ins>+
+PASS 2 cursors
+PASS 10 cursors
+PASS 100 cursors
+PASS 1000 cursors
+PASS 10000 cursors
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBparallelcursorsupgradehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+<!doctype html>
+<meta charset="utf-8">
+<meta name="timeout" content="long">
+<title>IndexedDB: Parallel iteration of cursors in upgradeneeded</title>
+<link rel="author" href="pwnall@chromium.org" title="Victor Costan">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support-promises.js"></script>
+<script>
+'use strict';
+
+for (let cursorCount of [2, 10, 100, 1000, 10000]) {
+ promise_test(testCase => {
+ return createDatabase(testCase, (database, transaction) => {
+ const store = database.createObjectStore('cache', { keyPath: 'key' });
+ store.put({ key: '42' });
+
+ const promises = [];
+
+ for (let j = 0; j < 2; j += 1) {
+ const promise = new Promise((resolve, reject) => {
+ let request = null;
+ for (let i = 0; i < cursorCount / 2; i += 1) {
+ request = store.openCursor();
+ }
+
+ let continued = false;
+ request.onsuccess = testCase.step_func(() => {
+ const cursor = request.result;
+
+ if (!continued) {
+ assert_equals(cursor.key, '42');
+ assert_equals(cursor.value.key, '42');
+ continued = true;
+ cursor.continue();
+ } else {
+ assert_equals(cursor, null);
+ resolve();
+ }
+ });
+ request.onerror = () => reject(request.error);
+ });
+ promises.push(promise);
+ }
+ return Promise.all(promises);
+ }).then(database => {
+ database.close();
+ });
+ }, `${cursorCount} cursors`);
+}
+
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBsupportpromisesjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/support-promises.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/support-promises.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/support-promises.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx"> // open request.
</span><span class="cx"> //
</span><span class="cx"> // Returns a promise. If the versionchange transaction goes through, the promise
</span><del>-// resolves to an IndexedDB database that must be closed by the caller. If the
</del><ins>+// resolves to an IndexedDB database that should be closed by the caller. If the
</ins><span class="cx"> // versionchange transaction is aborted, the promise resolves to an error.
</span><span class="cx"> function migrateDatabase(testCase, newVersion, migrationCallback) {
</span><span class="cx"> return migrateNamedDatabase(
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> // open request.
</span><span class="cx"> //
</span><span class="cx"> // Returns a promise. If the versionchange transaction goes through, the promise
</span><del>-// resolves to an IndexedDB database that must be closed by the caller. If the
</del><ins>+// resolves to an IndexedDB database that should be closed by the caller. If the
</ins><span class="cx"> // versionchange transaction is aborted, the promise resolves to an error.
</span><span class="cx"> function migrateNamedDatabase(
</span><span class="cx"> testCase, databaseName, newVersion, migrationCallback) {
</span><span class="lines">@@ -88,10 +88,20 @@
</span><span class="cx"> resolve(Promise.resolve(callbackResult).then(() => requestEventPromise));
</span><span class="cx"> });
</span><span class="cx"> request.onerror = event => reject(event.target.error);
</span><del>- request.onsuccess = () => reject(new Error(
- 'indexedDB.open should not succeed without creating a ' +
- 'versionchange transaction'));
- }).then(event => event.target.result || event.target.error);
</del><ins>+ request.onsuccess = () => {
+ const database = request.result;
+ testCase.add_cleanup(() => { database.close(); });
+ reject(new Error(
+ 'indexedDB.open should not succeed without creating a ' +
+ 'versionchange transaction'));
+ };
+ }).then(event => {
+ const database = event.target.result;
+ if (database) {
+ testCase.add_cleanup(() => { database.close(); });
+ }
+ return database || event.target.error;
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Creates an IndexedDB database whose name is unique for the test case.
</span><span class="lines">@@ -100,7 +110,7 @@
</span><span class="cx"> // given the created database, the versionchange transaction, and the database
</span><span class="cx"> // open request.
</span><span class="cx"> //
</span><del>-// Returns a promise that resolves to an IndexedDB database. The caller must
</del><ins>+// Returns a promise that resolves to an IndexedDB database. The caller should
</ins><span class="cx"> // close the database.
</span><span class="cx"> function createDatabase(testCase, setupCallback) {
</span><span class="cx"> return createNamedDatabase(testCase, databaseName(testCase), setupCallback);
</span><span class="lines">@@ -112,14 +122,16 @@
</span><span class="cx"> // given the created database, the versionchange transaction, and the database
</span><span class="cx"> // open request.
</span><span class="cx"> //
</span><del>-// Returns a promise that resolves to an IndexedDB database. The caller must
</del><ins>+// Returns a promise that resolves to an IndexedDB database. The caller should
</ins><span class="cx"> // close the database.
</span><span class="cx"> function createNamedDatabase(testCase, databaseName, setupCallback) {
</span><span class="cx"> const request = indexedDB.deleteDatabase(databaseName);
</span><span class="cx"> const eventWatcher = requestWatcher(testCase, request);
</span><span class="cx">
</span><del>- return eventWatcher.wait_for('success').then(event =>
- migrateNamedDatabase(testCase, databaseName, 1, setupCallback));
</del><ins>+ return eventWatcher.wait_for('success').then(event => {
+ testCase.add_cleanup(() => { indexedDB.deleteDatabase(databaseName); });
+ return migrateNamedDatabase(testCase, databaseName, 1, setupCallback)
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Opens an IndexedDB database without performing schema changes.
</span><span class="lines">@@ -126,7 +138,7 @@
</span><span class="cx"> //
</span><span class="cx"> // The given version number must match the database's current version.
</span><span class="cx"> //
</span><del>-// Returns a promise that resolves to an IndexedDB database. The caller must
</del><ins>+// Returns a promise that resolves to an IndexedDB database. The caller should
</ins><span class="cx"> // close the database.
</span><span class="cx"> function openDatabase(testCase, version) {
</span><span class="cx"> return openNamedDatabase(testCase, databaseName(testCase), version);
</span><span class="lines">@@ -136,12 +148,16 @@
</span><span class="cx"> //
</span><span class="cx"> // The given version number must match the database's current version.
</span><span class="cx"> //
</span><del>-// Returns a promise that resolves to an IndexedDB database. The caller must
</del><ins>+// Returns a promise that resolves to an IndexedDB database. The caller should
</ins><span class="cx"> // close the database.
</span><span class="cx"> function openNamedDatabase(testCase, databaseName, version) {
</span><span class="cx"> const request = indexedDB.open(databaseName, version);
</span><span class="cx"> const eventWatcher = requestWatcher(testCase, request);
</span><del>- return eventWatcher.wait_for('success').then(event => event.target.result);
</del><ins>+ return eventWatcher.wait_for('success').then(() => {
+ const database = request.result;
+ testCase.add_cleanup(() => { database.close(); });
+ return database;
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // The data in the 'books' object store records in the first example of the
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsIndexedDBw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -245,6 +245,7 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex14-exception_order.htm
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex2.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex3-usable-right-away.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex4-deleteIndex-event_order.htm
</span><span class="lines">@@ -306,6 +307,7 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.idl
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.js
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/key-conversion-exceptions.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/key_invalid.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/key_valid.html
</span><span class="lines">@@ -324,6 +326,7 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/name-scopes.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/objectstore_keyorder.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/open-request-queue.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/parallel-cursors-upgrade.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/request_bubble-and-capture.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/string-list-ordering.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/IndexedDB/support-promises.js
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsLICENSEmd"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/LICENSE.md (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/LICENSE.md        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/LICENSE.md        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-#Dual-License for W3C Test Suites
</del><ins>+# Dual-License for W3C Test Suites
</ins><span class="cx">
</span><span class="cx"> All documents in this Repository are licensed by contributors to be distributed under both the [W3C Test Suite License](#w3c-test-suite-license) and the [W3C 3-clause BSD License](#w3c-3-clause-bsd-license), reproduced below. The choice of license is up to the licensee. For more information, see [Licenses for W3C Test Suites](https://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html)
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsREADMEmd"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/README.md (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/README.md        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/README.md        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -2,9 +2,7 @@
</span><span class="cx"> ==============================
</span><span class="cx">
</span><span class="cx"> The web-platform-tests Project is a W3C-coordinated attempt to build a
</span><del>-cross-browser testsuite for the Web-platform stack. However, for mainly
-historic reasons, the CSS WG testsuite is in a separate repository,
-[csswg-test](https://github.com/w3c/csswg-test). Writing tests in a way
</del><ins>+cross-browser testsuite for the Web-platform stack. Writing tests in a way
</ins><span class="cx"> that allows them to be run in all browsers gives browser projects
</span><span class="cx"> confidence that they are shipping software that is compatible with other
</span><span class="cx"> implementations, and that later implementations will be compatible with
</span><span class="lines">@@ -110,41 +108,23 @@
</span><span class="cx"> in the Windows 10 Anniversary Update build, then access your windows
</span><span class="cx"> partition from there to launch wptserve.
</span><span class="cx">
</span><del>-Test Runner
-===========
-
-There is a test runner that is designed to provide a
-convenient way to run the web-platform-tests in-browser. It will run
-testharness.js tests automatically but requires manual work for
-reftests and manual tests.
-
-The runner can be found at `/tools/runner/index.html` on the local
-server i.e.
-
-```
-http://web-platform.test:8000/tools/runner/index.html
-```
-
-in the default configuration. The first time you use this it has to
-generate a manifest of all tests. This may take some time, so please
-be patient.
-
</del><span class="cx"> Publication
</span><span class="cx"> ===========
</span><span class="cx">
</span><span class="cx"> The master branch is automatically synced to http://w3c-test.org/.
</span><span class="cx">
</span><del>-Pull requests are automatically mirrored to
-http://w3c-test.org/submissions/ a few minutes after someone with merge
-access has added a comment with "LGTM" (or "w3c-test:mirror") to indicate
-the PR has been checked.
</del><ins>+Pull requests are
+[automatically mirrored](http://w3c-test.org/submissions/) except those
+that modify sensitive resources (such as `.py`). The latter require
+someone with merge access to comment with "LGTM" or "w3c-test:mirror" to
+indicate the pull request has been checked.
</ins><span class="cx">
</span><span class="cx"> Finding Things
</span><span class="cx"> ==============
</span><span class="cx">
</span><del>-Each top-level directory represents a W3C specification: the name
-matches the shortname used after the canonical address of the said
-specification under http://www.w3.org/TR/ .
</del><ins>+Each top-level directory matches the shortname used by a standard, with
+some exceptions. (Typically the shortname is from the standard's
+corresponding GitHub repository.)
</ins><span class="cx">
</span><span class="cx"> For some of the specifications, the tree under the top-level directory
</span><span class="cx"> represents the sections of the respective documents, using the section
</span><span class="lines">@@ -185,6 +165,14 @@
</span><span class="cx"> * Commit locally and push that to your repo.
</span><span class="cx"> * Send in a pull request based on the above.
</span><span class="cx">
</span><ins>+Issues with web-platform-tests
+------------------------------
+
+If you spot an issue with a test and are not comfortable providing a
+pull request per above to fix it, please
+[file a new issue](https://github.com/w3c/web-platform-tests/issues/new).
+Thank you!
+
</ins><span class="cx"> Lint tool
</span><span class="cx"> ---------
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsWebIDLecmascriptbindingesexceptionsexceptionshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,4 +1,5 @@
</span><span class="cx"> <!doctype html>
</span><ins>+<meta charset=utf-8>
</ins><span class="cx"> <title>DOMException-throwing tests</title>
</span><span class="cx"> <link rel=author title="Aryeh Gregor" href=ayg@aryeh.name>
</span><span class="cx"> <div id=log></div>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequesteventreadystatechangeloadedhtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (client.readyState === 4) {
</span><del>- assert_equals(countedLoading, 10, "LOADING state change may be emitted multiple times");
</del><ins>+ assert_greater_than(countedLoading, 1, "LOADING state change may be emitted multiple times");
</ins><span class="cx">
</span><span class="cx"> test.done();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestresourcesauth2corsenabledpy"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/auth2/corsenabled.py        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -7,14 +7,8 @@
</span><span class="cx"> response.headers.set('Access-Control-Allow-Methods', 'GET');
</span><span class="cx"> response.headers.set('Access-Control-Allow-Headers', 'authorization, x-user, x-pass');
</span><span class="cx"> response.headers.set('Access-Control-Expose-Headers', 'x-challenge, xhr-user, ses-user');
</span><del>- auth = imp.load_source("", os.path.join(os.path.abspath(os.curdir),
- "XMLHttpRequest",
- "resources",
- "authentication.py"))
</del><ins>+ auth = imp.load_source("", os.path.abspath("XMLHttpRequest/resources/authentication.py"))
</ins><span class="cx"> if request.method == "OPTIONS":
</span><span class="cx"> return ""
</span><span class="cx"> else:
</span><span class="cx"> return auth.main(request, response)
</span><del>-
-
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestresourcesconditionalpy"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/conditional.py (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/conditional.py        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/resources/conditional.py        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -3,15 +3,27 @@
</span><span class="cx"> match = request.headers.get("If-None-Match", None)
</span><span class="cx"> date = request.GET.first("date", "")
</span><span class="cx"> modified = request.headers.get("If-Modified-Since", None)
</span><ins>+ cors = request.GET.first("cors", None)
+
+ if request.method == "OPTIONS":
+ response.headers.set("Access-Control-Allow-Origin", "*")
+ response.headers.set("Access-Control-Allow-Headers", "IF-NONE-MATCH")
+ return ""
+
</ins><span class="cx"> if tag:
</span><span class="cx"> response.headers.set("ETag", '"%s"' % tag)
</span><span class="cx"> elif date:
</span><span class="cx"> response.headers.set("Last-Modified", date)
</span><span class="cx">
</span><ins>+ if cors:
+ response.headers.set("Access-Control-Allow-Origin", "*")
+
</ins><span class="cx"> if ((match is not None and match == tag) or
</span><span class="cx"> (modified is not None and modified == date)):
</span><span class="cx"> response.status = (304, "SUPERCOOL")
</span><span class="cx"> return ""
</span><span class="cx"> else:
</span><ins>+ if not cors:
+ response.headers.set("Access-Control-Allow-Origin", "*")
</ins><span class="cx"> response.headers.set("Content-Type", "text/plain")
</span><span class="cx"> return "MAYBE NOT"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendauthenticationcorsbasicsetrequestheaderexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> Blocked access to external URL http://www1.localhost:8800/XMLHttpRequest/resources/auth2/corsenabled.py
</span><del>-CONSOLE MESSAGE: line 34: XMLHttpRequest cannot load http://www1.localhost:8800/XMLHttpRequest/resources/auth2/corsenabled.py due to access control checks.
</del><ins>+CONSOLE MESSAGE: line 26: XMLHttpRequest cannot load http://www1.localhost:8800/XMLHttpRequest/resources/auth2/corsenabled.py due to access control checks.
</ins><span class="cx">
</span><del>-FAIL XMLHttpRequest: send() - "Basic" authenticated CORS request using setRequestHeader() (expects to succeed) assert_true: responseText should contain the right user and password expected true got false
</del><ins>+FAIL XMLHttpRequest: send() - "Basic" authenticated CORS request using setRequestHeader() (expects to succeed) A network error occurred.
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendauthenticationcorsbasicsetrequestheaderhtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -5,15 +5,11 @@
</span><span class="cx"> <script src="/resources/testharness.js"></script>
</span><span class="cx"> <script src="/resources/testharnessreport.js"></script>
</span><span class="cx"> <script src="/common/utils.js"></script>
</span><del>- <!-- These spec references do not make much sense simply because the spec doesn't say very much about this.. -->
- <link rel="help" href="https://xhr.spec.whatwg.org/#the-setrequestheader()-method" data-tested-assertations="following::ol[1]/li[6]" />
- <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::code[contains(@title,'http-authorization')]/.." />
</del><span class="cx"> </head>
</span><span class="cx"> <body>
</span><span class="cx"> <div id="log"></div>
</span><span class="cx"> <script>
</span><del>- var test = async_test()
- test.step(function() {
</del><ins>+ async_test(test => {
</ins><span class="cx"> var client = new XMLHttpRequest(),
</span><span class="cx"> urlstart = location.host + location.pathname.replace(/\/[^\/]*$/, '/'),
</span><span class="cx"> user = token()
</span><span class="lines">@@ -22,15 +18,11 @@
</span><span class="cx"> client.setRequestHeader("x-user", user)
</span><span class="cx"> client.setRequestHeader("x-pass", 'pass')
</span><span class="cx"> client.setRequestHeader('Authorization', 'Basic ' + btoa(user + ":pass"))
</span><del>- client.onreadystatechange = function () {
- if (client.readyState < 4) {return}
- test.step( function () {
- assert_true(client.responseText == (user + '\npass'), 'responseText should contain the right user and password')
</del><ins>+ client.onload = test.step_func_done(() => {
+ assert_equals(client.responseText, user + '\npass', 'responseText should contain the right user and password')
</ins><span class="cx"> assert_equals(client.status, 200)
</span><span class="cx"> assert_equals(client.getResponseHeader('x-challenge'), 'DID-NOT')
</span><del>- test.done()
- } )
- }
</del><ins>+ })
</ins><span class="cx"> client.send(null)
</span><span class="cx"> })
</span><span class="cx"> </script>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendconditionalcorsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+Blocked access to external URL http://www1.localhost:8800/XMLHttpRequest/resources/conditional.py?tag=0.09154653510378963
+Blocked access to external URL http://www1.localhost:8800/XMLHttpRequest/resources/conditional.py?tag=0.25460048558200665&cors=yes
+
+Harness Error (TIMEOUT), message = null
+
+TIMEOUT 304 without appropriate CORS header Test timed out
+TIMEOUT 304 with appropriate CORS header Test timed out
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendconditionalcorshtm"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors.htm (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors.htm         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+<!doctype html>
+<title>XMLHttpRequest: send() - conditional cross-origin requests</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src=/cors/support.js?pipe=sub></script>
+<div id=log></div>
+<script>
+function request(withCORS, desc) {
+ async_test(t => {
+ const client = new XMLHttpRequest,
+ identifier = Math.random(),
+ cors = withCORS ? "&cors=yes" : "",
+ url = CROSSDOMAIN + "resources/conditional.py?tag=" + identifier + cors
+ client.onload = t.step_func(() => {
+ assert_equals(client.status, 200)
+ assert_equals(client.statusText, "OK")
+ assert_equals(client.responseText, "MAYBE NOT")
+
+ if(withCORS) {
+ client.onload = t.step_func_done(() => {
+ assert_equals(client.status, 304)
+ assert_equals(client.statusText, "SUPERCOOL")
+ assert_equals(client.responseText, "")
+ })
+ } else {
+ client.onload = null
+ client.onerror = t.step_func_done(() => {
+ assert_equals(client.status, 0)
+ assert_equals(client.statusText, "")
+ })
+ }
+ client.open("GET", url)
+ client.setRequestHeader("If-None-Match", identifier)
+ client.send()
+ })
+ client.open("GET", url)
+ client.send()
+ }, desc)
+}
+request(false, "304 without appropriate CORS header")
+request(true, "304 with appropriate CORS header")
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendentitybodydocumentbogusexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +1,6 @@
</span><span class="cx">
</span><del>-FAIL XMLHttpRequest: send() - unserializable Document assert_throws: function "function () { client.send(input) }" did not throw
</del><ins>+PASS Serializing documents through XMLHttpRequest: ''
+PASS Serializing documents through XMLHttpRequest: '<test:test/>'
+PASS Serializing documents through XMLHttpRequest: '<test:test test:test="gee"/>'
+FAIL Serializing documents through XMLHttpRequest: '<test:test test:test="gee" x="�"/>' assert_equals: expected "<test:test test:test=\"gee\" x=\"\ufffd\"/>" but got "<test:test test:test=\"gee\" x=\"\ufffd\ufffd\ufffd\"/>"
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendentitybodydocumentbogushtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,26 +1,26 @@
</span><span class="cx"> <!doctype html>
</span><del>-<html>
- <head>
- <title>XMLHttpRequest: send() - unserializable Document</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <link rel="help" href="https://xhr.spec.whatwg.org/#dom-XMLHttpRequest-send-document" data-tested-assertations="following::p[3]" />
- </head>
- <body>
- <div id="log"></div>
- <script>
- function request_throws(input) {
- test(function() {
- var client = new XMLHttpRequest()
- client.open("POST", "resources/content.py", false)
- assert_throws("InvalidStateError", function() { client.send(input) })
- })
- }
- var doc = document.implementation.createDocument(null, null, null)
- while(doc.childNodes.length) {
- doc.removeChild(doc.childNodes[0])
- }
- request_throws(doc)
- </script>
- </body>
-</html>
</del><ins>+<title>XMLHttpRequest: send() - Document with serialization errors</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+function serialize(input, output) {
+ async_test(t => {
+ const client = new XMLHttpRequest
+ client.open("POST", "resources/content.py")
+ client.send(input)
+ client.onload = t.step_func_done(() => {
+ assert_equals(client.responseText, output)
+ })
+ }, "Serializing documents through XMLHttpRequest: '" + output + "'")
+}
+
+var doc = document.implementation.createDocument(null, null, null)
+serialize(doc, "")
+doc.appendChild(doc.createElement("test:test"))
+serialize(doc, "<test:test/>")
+doc.childNodes[0].setAttribute("test:test", "gee")
+serialize(doc, "<test:test test:test=\"gee\"/>")
+doc.childNodes[0].setAttribute("x", "\uD800")
+serialize(doc, "<test:test test:test=\"gee\" x=\"\uFFFD\"/>")
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendnonsameoriginexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,8 +1,10 @@
</span><del>-CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load mailto:test@example.org. Cross origin requests are only supported for HTTP.
-CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load tel:+31600000000. Cross origin requests are only supported for HTTP.
-CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load http://127.0.0.1:8800/. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load javascript:alert('FAIL'). Cross origin requests are only supported for HTTP.
-CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load http://127.0.0.1:8800/folder.txt. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
</del><ins>+CONSOLE MESSAGE: line 21: XMLHttpRequest cannot load mailto:test@example.org. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 21: XMLHttpRequest cannot load tel:+31600000000. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 21: XMLHttpRequest cannot load http://127.0.0.1:8800/. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: line 21: XMLHttpRequest cannot load javascript:alert('FAIL'). Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 21: XMLHttpRequest cannot load http://127.0.0.1:8800/folder.txt. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: line 21: XMLHttpRequest cannot load about:blank. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 21: XMLHttpRequest cannot load blob:bogusidentifier. Cross origin requests are only supported for HTTP.
</ins><span class="cx">
</span><span class="cx"> PASS XMLHttpRequest: send() - non same-origin (mailto:test@example.org)
</span><span class="cx"> PASS XMLHttpRequest: send() - non same-origin (tel:+31600000000)
</span><span class="lines">@@ -9,4 +11,6 @@
</span><span class="cx"> PASS XMLHttpRequest: send() - non same-origin (http://127.0.0.1:8800)
</span><span class="cx"> PASS XMLHttpRequest: send() - non same-origin (javascript:alert('FAIL'))
</span><span class="cx"> PASS XMLHttpRequest: send() - non same-origin (folder.txt)
</span><ins>+PASS XMLHttpRequest: send() - non same-origin (about:blank)
+PASS XMLHttpRequest: send() - non same-origin (blob:bogusidentifier)
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsendnonsameoriginhtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -5,8 +5,6 @@
</span><span class="cx"> <script src="/resources/testharness.js"></script>
</span><span class="cx"> <script src="/resources/testharnessreport.js"></script>
</span><span class="cx"> <base>
</span><del>- <link rel="help" href="https://xhr.spec.whatwg.org/#cross-origin-request-steps" data-tested-assertations="/following::DL[2]/DT[1] /following::DL[2]/DD[1]" />
- <link rel="help" href="https://xhr.spec.whatwg.org/#cross-origin-request-event-rules" data-tested-assertations="/following::DL[1]/DT[2] /following::DL[1]/DD[2]" />
</del><span class="cx"> </head>
</span><span class="cx"> <body>
</span><span class="cx"> <div id="log"></div>
</span><span class="lines">@@ -28,6 +26,8 @@
</span><span class="cx"> url(host_info.HTTP_REMOTE_ORIGIN)
</span><span class="cx"> url("javascript:alert('FAIL')")
</span><span class="cx"> url("folder.txt")
</span><ins>+ url("about:blank")
+ url("blob:bogusidentifier")
</ins><span class="cx"> </script>
</span><span class="cx"> </body>
</span><span class="cx"> </html>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsenduspanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,131 @@
</span><ins>+
+PASS Overall fetch with URLSearchParams
+PASS XMLHttpRequest.send(URLSearchParams) (0)
+PASS XMLHttpRequest.send(URLSearchParams) (1)
+PASS XMLHttpRequest.send(URLSearchParams) (2)
+PASS XMLHttpRequest.send(URLSearchParams) (3)
+PASS XMLHttpRequest.send(URLSearchParams) (4)
+PASS XMLHttpRequest.send(URLSearchParams) (5)
+PASS XMLHttpRequest.send(URLSearchParams) (6)
+PASS XMLHttpRequest.send(URLSearchParams) (7)
+PASS XMLHttpRequest.send(URLSearchParams) (8)
+PASS XMLHttpRequest.send(URLSearchParams) (9)
+PASS XMLHttpRequest.send(URLSearchParams) (10)
+PASS XMLHttpRequest.send(URLSearchParams) (11)
+PASS XMLHttpRequest.send(URLSearchParams) (12)
+PASS XMLHttpRequest.send(URLSearchParams) (13)
+PASS XMLHttpRequest.send(URLSearchParams) (14)
+PASS XMLHttpRequest.send(URLSearchParams) (15)
+PASS XMLHttpRequest.send(URLSearchParams) (16)
+PASS XMLHttpRequest.send(URLSearchParams) (17)
+PASS XMLHttpRequest.send(URLSearchParams) (18)
+PASS XMLHttpRequest.send(URLSearchParams) (19)
+PASS XMLHttpRequest.send(URLSearchParams) (20)
+PASS XMLHttpRequest.send(URLSearchParams) (21)
+PASS XMLHttpRequest.send(URLSearchParams) (22)
+PASS XMLHttpRequest.send(URLSearchParams) (23)
+PASS XMLHttpRequest.send(URLSearchParams) (24)
+PASS XMLHttpRequest.send(URLSearchParams) (25)
+PASS XMLHttpRequest.send(URLSearchParams) (26)
+PASS XMLHttpRequest.send(URLSearchParams) (27)
+PASS XMLHttpRequest.send(URLSearchParams) (28)
+PASS XMLHttpRequest.send(URLSearchParams) (29)
+PASS XMLHttpRequest.send(URLSearchParams) (30)
+PASS XMLHttpRequest.send(URLSearchParams) (31)
+PASS XMLHttpRequest.send(URLSearchParams) (32)
+PASS XMLHttpRequest.send(URLSearchParams) (33)
+PASS XMLHttpRequest.send(URLSearchParams) (34)
+PASS XMLHttpRequest.send(URLSearchParams) (35)
+PASS XMLHttpRequest.send(URLSearchParams) (36)
+PASS XMLHttpRequest.send(URLSearchParams) (37)
+PASS XMLHttpRequest.send(URLSearchParams) (38)
+PASS XMLHttpRequest.send(URLSearchParams) (39)
+PASS XMLHttpRequest.send(URLSearchParams) (40)
+PASS XMLHttpRequest.send(URLSearchParams) (41)
+PASS XMLHttpRequest.send(URLSearchParams) (42)
+PASS XMLHttpRequest.send(URLSearchParams) (43)
+PASS XMLHttpRequest.send(URLSearchParams) (44)
+PASS XMLHttpRequest.send(URLSearchParams) (45)
+PASS XMLHttpRequest.send(URLSearchParams) (46)
+PASS XMLHttpRequest.send(URLSearchParams) (47)
+PASS XMLHttpRequest.send(URLSearchParams) (48)
+PASS XMLHttpRequest.send(URLSearchParams) (49)
+PASS XMLHttpRequest.send(URLSearchParams) (50)
+PASS XMLHttpRequest.send(URLSearchParams) (51)
+PASS XMLHttpRequest.send(URLSearchParams) (52)
+PASS XMLHttpRequest.send(URLSearchParams) (53)
+PASS XMLHttpRequest.send(URLSearchParams) (54)
+PASS XMLHttpRequest.send(URLSearchParams) (55)
+PASS XMLHttpRequest.send(URLSearchParams) (56)
+PASS XMLHttpRequest.send(URLSearchParams) (57)
+PASS XMLHttpRequest.send(URLSearchParams) (58)
+PASS XMLHttpRequest.send(URLSearchParams) (59)
+PASS XMLHttpRequest.send(URLSearchParams) (60)
+PASS XMLHttpRequest.send(URLSearchParams) (61)
+PASS XMLHttpRequest.send(URLSearchParams) (62)
+PASS XMLHttpRequest.send(URLSearchParams) (63)
+PASS XMLHttpRequest.send(URLSearchParams) (64)
+PASS XMLHttpRequest.send(URLSearchParams) (65)
+PASS XMLHttpRequest.send(URLSearchParams) (66)
+PASS XMLHttpRequest.send(URLSearchParams) (67)
+PASS XMLHttpRequest.send(URLSearchParams) (68)
+PASS XMLHttpRequest.send(URLSearchParams) (69)
+PASS XMLHttpRequest.send(URLSearchParams) (70)
+PASS XMLHttpRequest.send(URLSearchParams) (71)
+PASS XMLHttpRequest.send(URLSearchParams) (72)
+PASS XMLHttpRequest.send(URLSearchParams) (73)
+PASS XMLHttpRequest.send(URLSearchParams) (74)
+PASS XMLHttpRequest.send(URLSearchParams) (75)
+PASS XMLHttpRequest.send(URLSearchParams) (76)
+PASS XMLHttpRequest.send(URLSearchParams) (77)
+PASS XMLHttpRequest.send(URLSearchParams) (78)
+PASS XMLHttpRequest.send(URLSearchParams) (79)
+PASS XMLHttpRequest.send(URLSearchParams) (80)
+PASS XMLHttpRequest.send(URLSearchParams) (81)
+PASS XMLHttpRequest.send(URLSearchParams) (82)
+PASS XMLHttpRequest.send(URLSearchParams) (83)
+PASS XMLHttpRequest.send(URLSearchParams) (84)
+PASS XMLHttpRequest.send(URLSearchParams) (85)
+PASS XMLHttpRequest.send(URLSearchParams) (86)
+PASS XMLHttpRequest.send(URLSearchParams) (87)
+PASS XMLHttpRequest.send(URLSearchParams) (88)
+PASS XMLHttpRequest.send(URLSearchParams) (89)
+PASS XMLHttpRequest.send(URLSearchParams) (90)
+PASS XMLHttpRequest.send(URLSearchParams) (91)
+PASS XMLHttpRequest.send(URLSearchParams) (92)
+PASS XMLHttpRequest.send(URLSearchParams) (93)
+PASS XMLHttpRequest.send(URLSearchParams) (94)
+PASS XMLHttpRequest.send(URLSearchParams) (95)
+PASS XMLHttpRequest.send(URLSearchParams) (96)
+PASS XMLHttpRequest.send(URLSearchParams) (97)
+PASS XMLHttpRequest.send(URLSearchParams) (98)
+PASS XMLHttpRequest.send(URLSearchParams) (99)
+PASS XMLHttpRequest.send(URLSearchParams) (100)
+PASS XMLHttpRequest.send(URLSearchParams) (101)
+PASS XMLHttpRequest.send(URLSearchParams) (102)
+PASS XMLHttpRequest.send(URLSearchParams) (103)
+PASS XMLHttpRequest.send(URLSearchParams) (104)
+PASS XMLHttpRequest.send(URLSearchParams) (105)
+PASS XMLHttpRequest.send(URLSearchParams) (106)
+PASS XMLHttpRequest.send(URLSearchParams) (107)
+PASS XMLHttpRequest.send(URLSearchParams) (108)
+PASS XMLHttpRequest.send(URLSearchParams) (109)
+PASS XMLHttpRequest.send(URLSearchParams) (110)
+PASS XMLHttpRequest.send(URLSearchParams) (111)
+PASS XMLHttpRequest.send(URLSearchParams) (112)
+PASS XMLHttpRequest.send(URLSearchParams) (113)
+PASS XMLHttpRequest.send(URLSearchParams) (114)
+PASS XMLHttpRequest.send(URLSearchParams) (115)
+PASS XMLHttpRequest.send(URLSearchParams) (116)
+PASS XMLHttpRequest.send(URLSearchParams) (117)
+PASS XMLHttpRequest.send(URLSearchParams) (118)
+PASS XMLHttpRequest.send(URLSearchParams) (119)
+PASS XMLHttpRequest.send(URLSearchParams) (120)
+PASS XMLHttpRequest.send(URLSearchParams) (121)
+PASS XMLHttpRequest.send(URLSearchParams) (122)
+PASS XMLHttpRequest.send(URLSearchParams) (123)
+PASS XMLHttpRequest.send(URLSearchParams) (124)
+PASS XMLHttpRequest.send(URLSearchParams) (125)
+PASS XMLHttpRequest.send(URLSearchParams) (126)
+PASS XMLHttpRequest.send(URLSearchParams) (127)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsenduspanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestsenduspanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+const NUM_TESTS = 128;
+
+function encode(n) {
+ if (n === 0x20) {
+ return "\x2B";
+ }
+
+ if (n === 0x2A || n === 0x2D || n === 0x2E ||
+ (0x30 <= n && n <= 0x39) || (0x41 <= n && n <= 0x5A) ||
+ n === 0x5F || (0x61 <= n && n <= 0x7A)) {
+ return String.fromCharCode(n);
+ }
+
+ var s = n.toString(16).toUpperCase();
+ return "%" + (s.length === 2 ? s : '0' + s);
+}
+
+ var tests = [];
+ var overall_test = async_test("Overall fetch with URLSearchParams");
+ for (var i = 0; i < NUM_TESTS; i++) {
+ // Multiple subtests so that failures can be fine-grained
+ tests[i] = async_test("XMLHttpRequest.send(URLSearchParams) (" + i + ")");
+ }
+
+ // We use a single XHR since this test tends to time out
+ // with 128 consecutive fetches when run in parallel
+ // with many other WPT tests.
+ var x = new XMLHttpRequest();
+ x.onload = overall_test.step_func(function() {
+ var response_split = x.response.split("&");
+ overall_test.done();
+ for (var i = 0; i < NUM_TESTS; i++) {
+ tests[i].step(function() {
+ assert_equals(response_split[i], "a" + i + "="+encode(i));
+ tests[i].done();
+ });
+ }
+ });
+ x.onerror = overall_test.unreached_func();
+
+ x.open("POST", "resources/content.py");
+ var usp = new URLSearchParams();
+ for (var i = 0; i < NUM_TESTS; i++) {
+ usp.append("a" + i, String.fromCharCode(i));
+ }
+ x.send(usp)
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsXMLHttpRequestw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -138,6 +138,7 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-basic-setrequestheader.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-cors-setrequestheader-no-cred.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional-cors.htm
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-conditional.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-content-type-charset.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-content-type-string.htm
</span><span class="lines">@@ -181,9 +182,7 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-sync-response-event-order.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-sync-timeout.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-timeout-events.htm
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.html
-/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.js
-/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.worker.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-usp.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-after-send.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value.htm
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-allow-whitespace-in-value.htm
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchOWNERS"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/OWNERS (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/OWNERS         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/OWNERS        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+@beverloo
+@jakearchibald
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+idlharness test
+
+This test validates the WebIDL included in the Background Fetch API (Documents).
+
+
+PASS Exposed interfaces in a Document.
+FAIL ServiceWorkerRegistration interface: attribute backgroundFetch assert_own_property: self does not have own property "ServiceWorkerRegistration" expected property "ServiceWorkerRegistration" missing
+PASS ServiceWorkerGlobalScope interface: existence and properties of interface object
+FAIL BackgroundFetchManager interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface object length assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface object name assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: operation fetch(DOMString,[object Object],[object Object],BackgroundFetchOptions) assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: operation get(DOMString) assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: operation getTags() assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchRegistration interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface object length assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface object name assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute tag assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute icons assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute totalDownloadSize assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute title assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute fetches assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: operation abort() assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchFetches interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface object length assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface object name assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface: attribute request assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchActiveFetches interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface object length assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface object name assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface: attribute responseReady assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+PASS BackgroundFetchEvent interface: existence and properties of interface object
+PASS BackgroundFetchEndEvent interface: existence and properties of interface object
+PASS BackgroundFetchSettledFetches interface: existence and properties of interface object
+PASS BackgroundFetchFailEvent interface: existence and properties of interface object
+PASS BackgroundFetchClickEvent interface: existence and properties of interface object
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerhttpsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,7 @@
</span><ins>+idlharness test
+
+This test validates the WebIDL included in the Background Fetch API (Service Workers).
+
+
+FAIL Service Worker-scoped tests. undefined is not an object (evaluating 'navigator.serviceWorker.getRegistration')
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerhttpshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+<!doctype html>
+<meta charset="utf-8">
+<title>Background Fetch API IDL tests</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
+
+<h1>idlharness test</h1>
+<p>This test validates the WebIDL included in the Background Fetch API (Service Workers).</p>
+
+<script>
+'use strict';
+
+service_worker_test('interfaces.worker.js', 'Service Worker-scoped tests.');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfaceshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+<!doctype html>
+<meta charset="utf-8">
+<title>Background Fetch API IDL tests</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/WebIDLParser.js"></script>
+<script src="/resources/idlharness.js"></script>
+
+<h1>idlharness test</h1>
+<p>This test validates the WebIDL included in the Background Fetch API (Documents).</p>
+
+<script>
+'use strict';
+
+promise_test(function() {
+ return fetch('interfaces.idl')
+ .then(response => response.text())
+ .then(idls => {
+ var idlArray = new IdlArray();
+ idlArray.add_untested_idls('interface ServiceWorkerRegistration {};');
+ idlArray.add_untested_idls('[Exposed=ServiceWorker] interface ServiceWorkerGlobalScope {};');
+ idlArray.add_idls(idls);
+ idlArray.test();
+ });
+}, 'Exposed interfaces in a Document.');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesidl"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.idl (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.idl         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.idl        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,115 @@
</span><ins>+// 3.1. Extensions to ServiceWorkerRegistration
+
+partial interface ServiceWorkerRegistration {
+ readonly attribute BackgroundFetchManager backgroundFetch;
+};
+
+// 3.2. BackgroundFetchManager
+
+[Exposed=(Window,Worker)]
+interface BackgroundFetchManager {
+ Promise<BackgroundFetchRegistration> fetch(DOMString tag, (RequestInfo or sequence<RequestInfo>) requests, optional BackgroundFetchOptions options);
+ Promise<BackgroundFetchRegistration?> get(DOMString tag);
+ Promise<FrozenArray<DOMString>> getTags();
+ // TODO: in future this should become an async iterator for BackgroundFetchRegistration objects
+};
+
+dictionary BackgroundFetchOptions {
+ sequence<IconDefinition> icons;
+ DOMString title;
+ long totalDownloadSize;
+};
+
+// This is taken from https://w3c.github.io/manifest/#icons-member.
+// This definition should probably be moved somewhere more general.
+dictionary IconDefinition {
+ DOMString src;
+ DOMString sizes;
+ DOMString type;
+};
+
+// 3.3. BackgroundFetchRegistration
+
+[Exposed=(Window,Worker)]
+interface BackgroundFetchRegistration {
+ readonly attribute DOMString tag;
+ readonly attribute FrozenArray<IconDefinition> icons;
+ readonly attribute long totalDownloadSize;
+ readonly attribute DOMString title;
+ readonly attribute FrozenArray<BackgroundFetchActiveFetches> fetches;
+
+ void abort();
+};
+
+[Exposed=(Window,Worker)]
+interface BackgroundFetchFetches {
+ readonly attribute Request request;
+};
+
+[Exposed=(Window,Worker)]
+interface BackgroundFetchActiveFetches : BackgroundFetchFetches {
+ readonly attribute Promise<Response> responseReady;
+ // TODO: this will include fetch controller/observer objects
+};
+
+// 3.4. Events
+
+partial interface ServiceWorkerGlobalScope {
+ attribute EventHandler onbackgroundfetched;
+ attribute EventHandler onbackgroundfetchfail;
+ attribute EventHandler onbackgroundfetchabort;
+ attribute EventHandler onbackgroundfetchclick;
+};
+
+// 3.4.1. BackgroundFetchEvent
+
+[Constructor(DOMString type, BackgroundFetchEventInit init), Exposed=ServiceWorker]
+interface BackgroundFetchEvent : ExtendableEvent {
+ readonly attribute DOMString tag;
+};
+
+dictionary BackgroundFetchEventInit : ExtendableEventInit {
+ required DOMString tag;
+};
+
+// 3.4.2. BackgroundFetchEndEvent
+
+[Constructor(DOMString type, BackgroundFetchEndEventInit init), Exposed=ServiceWorker]
+interface BackgroundFetchEndEvent : BackgroundFetchEvent {
+ readonly attribute FrozenArray<BackgroundFetchSettledFetches> completeFetches;
+
+ Promise<void> updateUI(DOMString title);
+};
+
+dictionary BackgroundFetchEndEventInit : BackgroundFetchEventInit {
+ required BackgroundFetchSettledFetches completeFetches;
+};
+
+[Exposed=ServiceWorker]
+interface BackgroundFetchSettledFetches : BackgroundFetchFetches {
+ readonly attribute Response? response;
+};
+
+// 3.4.3. BackgroundFetchFailEvent
+
+[Constructor(DOMString type, BackgroundFetchEndEventInit init), Exposed=ServiceWorker]
+interface BackgroundFetchFailEvent : BackgroundFetchEndEvent {
+ readonly attribute FrozenArray<BackgroundFetchSettledFetches> failedFetches;
+};
+
+dictionary BackgroundFetchFailEventInit : BackgroundFetchEndEventInit {
+ required BackgroundFetchSettledFetches failedFetches;
+};
+
+// 3.4.4. BackgroundFetchClickEvent
+
+[Constructor(DOMString type, BackgroundFetchEndEventInit init), Exposed=ServiceWorker]
+interface BackgroundFetchClickEvent : BackgroundFetchEvent {
+ readonly attribute BackgroundFetchState state;
+};
+
+dictionary BackgroundFetchClickEventInit : BackgroundFetchEventInit {
+ required BackgroundFetchState state;
+};
+
+enum BackgroundFetchState { "pending", "succeeded", "failed" };
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,72 @@
</span><ins>+
+Harness Error (TIMEOUT), message = null
+
+PASS Exposed interfaces in a Service Worker.
+PASS ServiceWorkerRegistration interface: existence and properties of interface object
+FAIL ServiceWorkerGlobalScope interface: attribute onbackgroundfetched assert_own_property: self does not have own property "ServiceWorkerGlobalScope" expected property "ServiceWorkerGlobalScope" missing
+FAIL ServiceWorkerGlobalScope interface: attribute onbackgroundfetchfail assert_own_property: self does not have own property "ServiceWorkerGlobalScope" expected property "ServiceWorkerGlobalScope" missing
+FAIL ServiceWorkerGlobalScope interface: attribute onbackgroundfetchabort assert_own_property: self does not have own property "ServiceWorkerGlobalScope" expected property "ServiceWorkerGlobalScope" missing
+FAIL ServiceWorkerGlobalScope interface: attribute onbackgroundfetchclick assert_own_property: self does not have own property "ServiceWorkerGlobalScope" expected property "ServiceWorkerGlobalScope" missing
+FAIL BackgroundFetchManager interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface object length assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface object name assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: operation fetch(DOMString,[object Object],[object Object],BackgroundFetchOptions) assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: operation get(DOMString) assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchManager interface: operation getTags() assert_own_property: self does not have own property "BackgroundFetchManager" expected property "BackgroundFetchManager" missing
+FAIL BackgroundFetchRegistration interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface object length assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface object name assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute tag assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute icons assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute totalDownloadSize assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute title assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: attribute fetches assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchRegistration interface: operation abort() assert_own_property: self does not have own property "BackgroundFetchRegistration" expected property "BackgroundFetchRegistration" missing
+FAIL BackgroundFetchFetches interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface object length assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface object name assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchFetches interface: attribute request assert_own_property: self does not have own property "BackgroundFetchFetches" expected property "BackgroundFetchFetches" missing
+FAIL BackgroundFetchActiveFetches interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface object length assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface object name assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchActiveFetches interface: attribute responseReady assert_own_property: self does not have own property "BackgroundFetchActiveFetches" expected property "BackgroundFetchActiveFetches" missing
+FAIL BackgroundFetchEvent interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchEvent" expected property "BackgroundFetchEvent" missing
+FAIL BackgroundFetchEvent interface object length assert_own_property: self does not have own property "BackgroundFetchEvent" expected property "BackgroundFetchEvent" missing
+FAIL BackgroundFetchEvent interface object name assert_own_property: self does not have own property "BackgroundFetchEvent" expected property "BackgroundFetchEvent" missing
+FAIL BackgroundFetchEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchEvent" expected property "BackgroundFetchEvent" missing
+FAIL BackgroundFetchEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchEvent" expected property "BackgroundFetchEvent" missing
+FAIL BackgroundFetchEvent interface: attribute tag assert_own_property: self does not have own property "BackgroundFetchEvent" expected property "BackgroundFetchEvent" missing
+FAIL BackgroundFetchEndEvent interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchEndEvent" expected property "BackgroundFetchEndEvent" missing
+FAIL BackgroundFetchEndEvent interface object length assert_own_property: self does not have own property "BackgroundFetchEndEvent" expected property "BackgroundFetchEndEvent" missing
+FAIL BackgroundFetchEndEvent interface object name assert_own_property: self does not have own property "BackgroundFetchEndEvent" expected property "BackgroundFetchEndEvent" missing
+FAIL BackgroundFetchEndEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchEndEvent" expected property "BackgroundFetchEndEvent" missing
+FAIL BackgroundFetchEndEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchEndEvent" expected property "BackgroundFetchEndEvent" missing
+FAIL BackgroundFetchEndEvent interface: attribute completeFetches assert_own_property: self does not have own property "BackgroundFetchEndEvent" expected property "BackgroundFetchEndEvent" missing
+FAIL BackgroundFetchEndEvent interface: operation updateUI(DOMString) assert_own_property: self does not have own property "BackgroundFetchEndEvent" expected property "BackgroundFetchEndEvent" missing
+FAIL BackgroundFetchSettledFetches interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchSettledFetches" expected property "BackgroundFetchSettledFetches" missing
+FAIL BackgroundFetchSettledFetches interface object length assert_own_property: self does not have own property "BackgroundFetchSettledFetches" expected property "BackgroundFetchSettledFetches" missing
+FAIL BackgroundFetchSettledFetches interface object name assert_own_property: self does not have own property "BackgroundFetchSettledFetches" expected property "BackgroundFetchSettledFetches" missing
+FAIL BackgroundFetchSettledFetches interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchSettledFetches" expected property "BackgroundFetchSettledFetches" missing
+FAIL BackgroundFetchSettledFetches interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchSettledFetches" expected property "BackgroundFetchSettledFetches" missing
+FAIL BackgroundFetchSettledFetches interface: attribute response assert_own_property: self does not have own property "BackgroundFetchSettledFetches" expected property "BackgroundFetchSettledFetches" missing
+FAIL BackgroundFetchFailEvent interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchFailEvent" expected property "BackgroundFetchFailEvent" missing
+FAIL BackgroundFetchFailEvent interface object length assert_own_property: self does not have own property "BackgroundFetchFailEvent" expected property "BackgroundFetchFailEvent" missing
+FAIL BackgroundFetchFailEvent interface object name assert_own_property: self does not have own property "BackgroundFetchFailEvent" expected property "BackgroundFetchFailEvent" missing
+FAIL BackgroundFetchFailEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchFailEvent" expected property "BackgroundFetchFailEvent" missing
+FAIL BackgroundFetchFailEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchFailEvent" expected property "BackgroundFetchFailEvent" missing
+FAIL BackgroundFetchFailEvent interface: attribute failedFetches assert_own_property: self does not have own property "BackgroundFetchFailEvent" expected property "BackgroundFetchFailEvent" missing
+FAIL BackgroundFetchClickEvent interface: existence and properties of interface object assert_own_property: self does not have own property "BackgroundFetchClickEvent" expected property "BackgroundFetchClickEvent" missing
+FAIL BackgroundFetchClickEvent interface object length assert_own_property: self does not have own property "BackgroundFetchClickEvent" expected property "BackgroundFetchClickEvent" missing
+FAIL BackgroundFetchClickEvent interface object name assert_own_property: self does not have own property "BackgroundFetchClickEvent" expected property "BackgroundFetchClickEvent" missing
+FAIL BackgroundFetchClickEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BackgroundFetchClickEvent" expected property "BackgroundFetchClickEvent" missing
+FAIL BackgroundFetchClickEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BackgroundFetchClickEvent" expected property "BackgroundFetchClickEvent" missing
+FAIL BackgroundFetchClickEvent interface: attribute state assert_own_property: self does not have own property "BackgroundFetchClickEvent" expected property "BackgroundFetchClickEvent" missing
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchinterfacesworkerjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+'use strict';
+
+importScripts('/resources/testharness.js');
+importScripts('/resources/WebIDLParser.js', '/resources/idlharness.js');
+
+promise_test(function() {
+ return fetch('interfaces.idl')
+ .then(response => response.text())
+ .then(idls => {
+ var idlArray = new IdlArray();
+ idlArray.add_untested_idls('interface ServiceWorkerRegistration {};');
+ idlArray.add_untested_idls('[Exposed=ServiceWorker] interface ServiceWorkerGlobalScope {};');
+ idlArray.add_idls(idls);
+ idlArray.test();
+ });
+}, 'Exposed interfaces in a Service Worker.');
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbackgroundfetchw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/background-fetch/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+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/background-fetch/OWNERS
+/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https.html
+/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.html
+/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.idl
+/LayoutTests/imported/w3c/web-platform-tests/background-fetch/interfaces.worker.js
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrernoreferrerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+FAIL Test referer header /beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrernoreferrerwhendowngradehttpsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+FAIL Test referer header https://localhost:9443/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+FAIL Test referer header http://localhost:8800/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrernoreferrerwhendowngradehttpshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>SendBeacon Referrer Header No Referrer When Downgrade Policy</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <meta name='referrer' content='no-referrer-when-downgrade'>
+ </head>
+ <body>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="/beacon/headers/header-referrer.js"></script>
+ <script>
+ var testBase = get_host_info().HTTPS_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, referrerUrl);
+ testBase = get_host_info().HTTP_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, "");
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrernoreferrerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>SendBeacon Referrer Header No Referrer Policy</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <meta name='referrer' content='no-referrer'>
+ </head>
+ <body>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="header-referrer.js"></script>
+ <script>
+ var testBase = RESOURCES_DIR;
+ testReferrerHeader(testBase, "");
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferreroriginexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+FAIL Test referer header http://127.0.0.1:8800/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferreroriginwhencrossoriginexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 8: Failed to set referrer policy: The value 'origin-when-cross-origin' is not one of 'no-referrer', 'origin', 'no-referrer-when-downgrade', or 'unsafe-url'. Defaulting to 'no-referrer'.
+
+FAIL Test referer header http://localhost:8800/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+FAIL Test referer header http://127.0.0.1:8800/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferreroriginwhencrossoriginhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>SendBeacon Referrer Header Origin When Cross Origin Policy</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <meta name='referrer' content='origin-when-cross-origin'>
+ </head>
+ <body>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="header-referrer.js"></script>
+ <script>
+ var testBase = get_host_info().HTTP_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, referrerUrl);
+ testBase = get_host_info().HTTP_REMOTE_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, referrerOrigin);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferreroriginhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>SendBeacon Referrer Header Origin Policy</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <meta name='referrer' content='origin'>
+ </head>
+ <body>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="header-referrer.js"></script>
+ <script>
+ var testBase = get_host_info().HTTP_REMOTE_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, referrerOrigin);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrersameoriginexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 8: Failed to set referrer policy: The value 'same-origin' is not one of 'no-referrer', 'origin', 'no-referrer-when-downgrade', or 'unsafe-url'. Defaulting to 'no-referrer'.
+
+FAIL Test referer header /beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+FAIL Test referer header http://127.0.0.1:8800/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrersameoriginhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>SendBeacon Referrer Header Same Origin Policy</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <meta name='referrer' content='same-origin'>
+ </head>
+ <body>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="header-referrer.js"></script>
+ <script>
+ var testBase = RESOURCES_DIR;
+ testReferrerHeader(testBase, referrerUrl);
+ testBase = get_host_info().HTTP_REMOTE_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, "");
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerstrictoriginwhencrossoriginhttpsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 8: Failed to set referrer policy: The value 'strict-origin' is not one of 'no-referrer', 'origin', 'no-referrer-when-downgrade', or 'unsafe-url'. Defaulting to 'no-referrer'.
+
+FAIL Test referer header https://localhost:9443/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+FAIL Test referer header http://localhost:8800/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerstrictoriginwhencrossoriginhttpshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>SendBeacon Referrer Header Strict Origin Policy</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <meta name='referrer' content='strict-origin'>
+ </head>
+ <body>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="/beacon/headers/header-referrer.js"></script>
+ <script>
+ var testBase = get_host_info().HTTPS_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, referrerOrigin);
+ testBase = get_host_info().HTTP_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, "");
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerstrictoriginhttpsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 8: Failed to set referrer policy: The value 'strict-origin' is not one of 'no-referrer', 'origin', 'no-referrer-when-downgrade', or 'unsafe-url'. Defaulting to 'no-referrer'.
+
+FAIL Test referer header https://localhost:9443/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+FAIL Test referer header http://localhost:8800/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerstrictoriginhttpshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>SendBeacon Referrer Header Strict Origin Policy</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <meta name='referrer' content='strict-origin'>
+ </head>
+ <body>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="/beacon/headers/header-referrer.js"></script>
+ <script>
+ var testBase = get_host_info().HTTPS_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, referrerOrigin);
+ testBase = get_host_info().HTTP_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, "");
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerunsafeurlhttpsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+FAIL Test referer header http://localhost:8800/beacon/resources/ navigator.sendBeacon is not a function. (In 'navigator.sendBeacon(testUrl)', 'navigator.sendBeacon' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerunsafeurlhttpshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>SendBeacon Referrer Header Unsafe Url Policy</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <meta name='referrer' content='unsafe-url'>
+ </head>
+ <body>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="/beacon/headers/header-referrer.js"></script>
+ <script>
+ var testBase = get_host_info().HTTP_ORIGIN + RESOURCES_DIR;
+ testReferrerHeader(testBase, referrerUrl);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersheaderreferrerjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+var RESOURCES_DIR = "/beacon/resources/";
+
+var referrerOrigin = self.location.origin + '/';
+var referrerUrl = self.location.href;
+
+function testReferrerHeader(testBase, expectedReferrer) {
+ var id = self.token();
+ var testUrl = testBase + "inspect-header.py?header=referer&cmd=put&id=" + id;
+
+ promise_test(function(test) {
+ assert_true(navigator.sendBeacon(testUrl), "SendBeacon Succeeded");
+ return pollResult(expectedReferrer, id) .then(result => {
+ assert_equals(result, expectedReferrer, "Correct referrer header result");
+ });
+ }, "Test referer header " + testBase);
+}
+
+// SendBeacon is an asynchronous and non-blocking request to a web server.
+// We may have to create a poll loop to get result from server
+function pollResult(expectedReferrer, id) {
+ var checkUrl = RESOURCES_DIR + "inspect-header.py?header=referer&cmd=get&id=" + id;
+
+ return new Promise(resolve => {
+ function checkResult() {
+ fetch(checkUrl).then(
+ function(response) {
+ assert_equals(response.status, 200, "Inspect header response's status is 200");
+ let result = response.headers.get("x-request-referer");
+
+ if (result != undefined) {
+ resolve(result);
+ } else {
+ step_timeout(checkResult.bind(this), 100);
+ }
+ });
+ }
+
+ checkResult();
+ });
+
+}
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconheadersw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+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/beacon/headers/header-referrer-no-referrer-when-downgrade.https.html
+/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-no-referrer.html
+/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin-when-cross-origin.html
+/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-origin.html
+/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-same-origin.html
+/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin-when-cross-origin.https.html
+/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-strict-origin.https.html
+/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer-unsafe-url.https.html
+/LayoutTests/imported/w3c/web-platform-tests/beacon/headers/header-referrer.js
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconresourcesinspectheaderpy"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/inspect-header.py (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/inspect-header.py         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/inspect-header.py        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+def main(request, response):
+ headers = [("Content-Type", "text/plain")]
+ command = request.GET.first("cmd").lower();
+ test_id = request.GET.first("id")
+ header = request.GET.first("header")
+ if command == "put":
+ request.server.stash.put(test_id, request.headers.get(header, ""))
+
+ elif command == "get":
+ stashed_header = request.server.stash.take(test_id)
+ if stashed_header is not None:
+ headers.append(("x-request-" + header, stashed_header ))
+
+ else:
+ response.set_error(400, "Bad Command")
+ return "ERROR: Bad Command!"
+
+ return headers, ""
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsbeaconresourcesw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/beacon/resources/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+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/beacon/resources/inspect-header.py
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscheck_stabilitypy"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/check_stability.py (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/check_stability.py        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/check_stability.py        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -311,7 +311,8 @@
</span><span class="cx"> def git(cmd, *args):
</span><span class="cx"> full_cmd = ["git", cmd] + list(args)
</span><span class="cx"> try:
</span><del>- return subprocess.check_output(full_cmd, cwd=repo_path, stderr=subprocess.STDOUT)
</del><ins>+ logger.debug(" ".join(full_cmd))
+ return subprocess.check_output(full_cmd, cwd=repo_path, stderr=subprocess.STDOUT).strip()
</ins><span class="cx"> except subprocess.CalledProcessError as e:
</span><span class="cx"> logger.error("Git command exited with status %i" % e.returncode)
</span><span class="cx"> logger.error(e.output)
</span><span class="lines">@@ -363,10 +364,9 @@
</span><span class="cx"> self.old_dir = None
</span><span class="cx">
</span><span class="cx">
</span><del>-def fetch_wpt_master(user):
- """Fetch the master branch via git."""
</del><ins>+def fetch_wpt(user, *args):
</ins><span class="cx"> git = get_git_cmd(wpt_root)
</span><del>- git("fetch", "https://github.com/%s/web-platform-tests.git" % user, "master:master")
</del><ins>+ git("fetch", "https://github.com/%s/web-platform-tests.git" % user, *args)
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> def get_sha1():
</span><span class="lines">@@ -390,13 +390,60 @@
</span><span class="cx"> call("pip", "install", wptrunner_root)
</span><span class="cx">
</span><span class="cx">
</span><del>-def get_files_changed():
</del><ins>+def get_branch_point(user):
+ git = get_git_cmd(wpt_root)
+ if os.environ.get("TRAVIS_PULL_REQUEST", "false") != "false":
+ # This is a PR, so the base branch is in TRAVIS_BRANCH
+ travis_branch = os.environ.get("TRAVIS_BRANCH")
+ assert travis_branch, "TRAVIS_BRANCH environment variable is defined"
+ branch_point = git("rev-parse", travis_branch)
+ else:
+ # Otherwise we aren't on a PR, so we try to find commits that are only in the
+ # current branch c.f.
+ # http://stackoverflow.com/questions/13460152/find-first-ancestor-commit-in-another-branch
+ head = git("rev-parse", "HEAD")
+ # To do this we need all the commits in the local copy
+ fetch_args = [user, "+refs/heads/*:refs/remotes/origin/*"]
+ if os.path.exists(os.path.join(wpt_root, ".git", "shallow")):
+ fetch_args.insert(1, "--unshallow")
+ fetch_wpt(*fetch_args)
+ not_heads = [item for item in git("rev-parse", "--not", "--all").split("\n")
+ if item.strip() and not head in item]
+ commits = git("rev-list", "HEAD", *not_heads).split("\n")
+ branch_point = None
+ if len(commits):
+ first_commit = commits[-1]
+ if first_commit:
+ branch_point = git("rev-parse", first_commit + "^")
+
+ # The above heuristic will fail in the following cases:
+ #
+ # - The current branch has fallen behind the version retrieved via the above
+ # `fetch` invocation
+ # - Changes on the current branch were rebased and therefore do not exist on any
+ # other branch. This will result in the selection of a commit that is earlier
+ # in the history than desired (as determined by calculating the later of the
+ # branch point and the merge base)
+ #
+ # In either case, fall back to using the merge base as the branch point.
+ merge_base = git("merge-base", "HEAD", "origin/master")
+ if (branch_point is None or
+ (branch_point != merge_base and
+ not git("log", "--oneline", "%s..%s" % (merge_base, branch_point)).strip())):
+ logger.debug("Using merge-base as the branch point")
+ branch_point = merge_base
+ else:
+ logger.debug("Using first commit on another branch as the branch point")
+
+ logger.debug("Branch point from master: %s" % branch_point)
+ return branch_point
+
+
+def get_files_changed(branch_point):
</ins><span class="cx"> """Get and return files changed since current branch diverged from master."""
</span><span class="cx"> root = os.path.abspath(os.curdir)
</span><span class="cx"> git = get_git_cmd(wpt_root)
</span><del>- branch_point = git("merge-base", "HEAD", "master").strip()
- logger.debug("Branch point from master: %s" % branch_point)
- files = git("diff", "--name-only", "-z", "%s.." % branch_point)
</del><ins>+ files = git("diff", "--name-only", "-z", "%s..." % branch_point)
</ins><span class="cx"> if not files:
</span><span class="cx"> return []
</span><span class="cx"> assert files[-1] == "\0"
</span><span class="lines">@@ -557,7 +604,7 @@
</span><span class="cx"> results = handler.results
</span><span class="cx"> for test_name, test in results.iteritems():
</span><span class="cx"> if is_inconsistent(test["status"], iterations):
</span><del>- inconsistent.append((test_name, None, test["status"], None))
</del><ins>+ inconsistent.append((test_name, None, test["status"], []))
</ins><span class="cx"> for subtest_name, subtest in test["subtests"].iteritems():
</span><span class="cx"> if is_inconsistent(subtest["status"], iterations):
</span><span class="cx"> inconsistent.append((test_name, subtest_name, subtest["status"], subtest["messages"]))
</span><span class="lines">@@ -584,7 +631,7 @@
</span><span class="cx"> s = s.replace('\t', u'\\t')
</span><span class="cx"> s = s.replace('\n', u'\\n')
</span><span class="cx"> s = s.replace('\r', u'\\r')
</span><del>- s = s.replace('`', u'\\`')
</del><ins>+ s = s.replace('`', u'')
</ins><span class="cx"> return s
</span><span class="cx">
</span><span class="cx">
</span><span class="lines">@@ -677,7 +724,7 @@
</span><span class="cx"> action="store",
</span><span class="cx"> # Travis docs say do not depend on USER env variable.
</span><span class="cx"> # This is a workaround to get what should be the same value
</span><del>- default=os.environ.get("TRAVIS_REPO_SLUG").split('/')[0],
</del><ins>+ default=os.environ.get("TRAVIS_REPO_SLUG", "w3c").split('/')[0],
</ins><span class="cx"> help="Travis user name")
</span><span class="cx"> parser.add_argument("--output-bytes",
</span><span class="cx"> action="store",
</span><span class="lines">@@ -726,14 +773,16 @@
</span><span class="cx"> logger.critical("Unrecognised browser %s" % browser_name)
</span><span class="cx"> return 1
</span><span class="cx">
</span><del>- fetch_wpt_master(args.user)
</del><ins>+ fetch_wpt(args.user, "master:master")
</ins><span class="cx">
</span><span class="cx"> head_sha1 = get_sha1()
</span><span class="cx"> logger.info("Testing web-platform-tests at revision %s" % head_sha1)
</span><span class="cx">
</span><ins>+ branch_point = get_branch_point(args.user)
+
</ins><span class="cx"> # For now just pass the whole list of changed files to wptrunner and
</span><span class="cx"> # assume that it will run everything that's actually a test
</span><del>- files_changed = get_files_changed()
</del><ins>+ files_changed = get_files_changed(branch_point)
</ins><span class="cx">
</span><span class="cx"> if not files_changed:
</span><span class="cx"> logger.info("No files changed")
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsci_lintsh"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/ci_lint.sh (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/ci_lint.sh        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/ci_lint.sh        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -2,4 +2,3 @@
</span><span class="cx">
</span><span class="cx"> ./manifest
</span><span class="cx"> ./lint
</span><del>-./diff-manifest.py
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscorsallowheadersexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -52,41 +52,41 @@
</span><span class="cx"> FAIL Allow origin: _http://localhost:8800 The operation was aborted.
</span><span class="cx"> FAIL Allow origin: _http://localhost:8800___[tab]_ The operation was aborted.
</span><span class="cx"> FAIL Allow origin: [tab]http://localhost:8800 The operation was aborted.
</span><del>-PASS Disallow origin: http://www1.localhost:8800
-PASS Disallow origin: //localhost:8800
-PASS Disallow origin: ://localhost:8800
-PASS Disallow origin: ftp://localhost:8800
-PASS Disallow origin: http:://localhost:8800
-PASS Disallow origin: http:/localhost:8800
-PASS Disallow origin: http:localhost:8800
-PASS Disallow origin: localhost:8800
-PASS Disallow origin: http://localhost:8800?
-PASS Disallow origin: http://localhost:8800/
-PASS Disallow origin: http://localhost:8800 /
-PASS Disallow origin: http://localhost:8800#
-PASS Disallow origin: http://localhost:8800%23
-PASS Disallow origin: http://localhost:8800:80
-PASS Disallow origin: http://localhost:8800, *
-PASS Disallow origin: http://localhost:8800\0
-PASS Disallow origin: HTTP://LOCALHOST:8800
-PASS Disallow origin: HTTP://localhost:8800
-PASS Disallow origin: -
-PASS Disallow origin: **
-PASS Disallow origin: \0*
-PASS Disallow origin: *\0
-PASS Disallow origin: '*'
-PASS Disallow origin: "*"
-PASS Disallow origin: * *
-PASS Disallow origin: *http://*
-PASS Disallow origin: *http://localhost:8800
-PASS Disallow origin: * http://localhost:8800
-PASS Disallow origin: *, http://localhost:8800
-PASS Disallow origin: \0http://localhost:8800
-PASS Disallow origin: null http://localhost:8800
-PASS Disallow origin: http://example.net
-PASS Disallow origin: null
-PASS Disallow origin:
-PASS Disallow origin: http://localhost:8800/cors/allow-headers.htm
-PASS Disallow origin: http://localhost:8800/cors/
-PASS Disallow origin: http://www1.localhost:8800/cors/
</del><ins>+FAIL Disallow origin: http://www1.localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: //localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: ://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: ftp://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http:://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http:/localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http:localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800? assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800/ assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800 / assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800# assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800%23 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800:80 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800, * assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800\0 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: HTTP://LOCALHOST:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: HTTP://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: - assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: ** assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: \0* assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *\0 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: '*' assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: "*" assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: * * assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *http://* assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: * http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *, http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: \0http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: null http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://example.net assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: null assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800/cors/allow-headers.htm assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800/cors/ assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://www1.localhost:8800/cors/ assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscorsallowheadershtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/cors/allow-headers.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> + '/resources/cors-makeheader.py?origin='
</span><span class="cx"> + encodeURIComponent(origin),
</span><span class="cx"> false)
</span><del>- assert_throws(null, function() { client.send() }, 'send')
</del><ins>+ assert_throws("NetworkError", function() { client.send() }, 'send')
</ins><span class="cx"> }, 'Disallow origin: ' + origin.replace('\0', '\\0'));
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscorsoriginexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/cors/origin-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -66,55 +66,55 @@
</span><span class="cx"> FAIL Allow origin: _http://localhost:8800 The operation was aborted.
</span><span class="cx"> FAIL Allow origin: _http://localhost:8800___[tab]_ The operation was aborted.
</span><span class="cx"> FAIL Allow origin: [tab]http://localhost:8800 The operation was aborted.
</span><del>-PASS Disallow origin: http://www1.localhost:8800
-PASS Disallow origin: //localhost:8800
-PASS Disallow origin: ://localhost:8800
-PASS Disallow origin: ftp://localhost:8800
-PASS Disallow origin: http:://localhost:8800
-PASS Disallow origin: http:/localhost:8800
-PASS Disallow origin: http:localhost:8800
-PASS Disallow origin: localhost:8800
-PASS Disallow origin: http://localhost:8800?
-PASS Disallow origin: http://localhost:8800/
-PASS Disallow origin: http://localhost:8800 /
-PASS Disallow origin: http://localhost:8800#
-PASS Disallow origin: http://localhost:8800%23
-PASS Disallow origin: http://localhost:8800:80
-PASS Disallow origin: http://localhost:8800, *
-PASS Disallow origin: http://localhost:8800\0
-PASS Disallow origin: HTTP://LOCALHOST:8800
-PASS Disallow origin: HTTP://localhost:8800
-PASS Disallow origin: -
-PASS Disallow origin: **
-PASS Disallow origin: \0*
-PASS Disallow origin: *\0
-PASS Disallow origin: '*'
-PASS Disallow origin: "*"
-PASS Disallow origin: * *
-PASS Disallow origin: * null
-PASS Disallow origin: *http://*
-PASS Disallow origin: *http://localhost:8800
-PASS Disallow origin: * http://localhost:8800
-PASS Disallow origin: *, http://localhost:8800
-PASS Disallow origin: \0http://localhost:8800
-PASS Disallow origin: null http://localhost:8800
-PASS Disallow origin: http://example.net
-PASS Disallow origin: null
-PASS Disallow origin: null *
-PASS Disallow origin:
-PASS Disallow origin: http://localhost:8800/cors/origin.htm
-PASS Disallow origin: http://localhost:8800/cors/
-PASS Disallow origin: http://www1.localhost:8800/cors/
-PASS Disallow origin: localhost:8800
-PASS Disallow origin: .localhost:8800
-PASS Disallow origin: *.localhost:8800
-PASS Disallow origin: http://localhost:8800
-PASS Disallow origin: http://.localhost:8800
-PASS Disallow origin: http://*.localhost:8800
-PASS Disallow multiple headers (, *)
-PASS Disallow multiple headers (*, )
-PASS Disallow multiple headers (*, *)
-PASS Disallow multiple headers (, http://localhost:8800)
-PASS Disallow multiple headers (*, http://localhost:8800)
-PASS Disallow multiple headers (http://localhost:8800, http://localhost:8800)
</del><ins>+FAIL Disallow origin: http://www1.localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: //localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: ://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: ftp://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http:://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http:/localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http:localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800? assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800/ assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800 / assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800# assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800%23 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800:80 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800, * assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800\0 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: HTTP://LOCALHOST:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: HTTP://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: - assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: ** assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: \0* assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *\0 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: '*' assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: "*" assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: * * assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: * null assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *http://* assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: * http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *, http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: \0http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: null http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://example.net assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: null assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: null * assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800/cors/origin.htm assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800/cors/ assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://www1.localhost:8800/cors/ assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: .localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: *.localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://.localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow origin: http://*.localhost:8800 assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow multiple headers (, *) assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow multiple headers (*, ) assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow multiple headers (*, *) assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow multiple headers (, http://localhost:8800) assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow multiple headers (*, http://localhost:8800) assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
+FAIL Disallow multiple headers (http://localhost:8800, http://localhost:8800) assert_throws: send function "function () { client.send() }" threw object "AbortError (DOM Exception 20): The operation was aborted." that is not a DOMException NetworkError: property "code" is equal to 20, expected 19
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscorsoriginhtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/cors/origin.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/cors/origin.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/cors/origin.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> + '/resources/cors-makeheader.py?origin='
</span><span class="cx"> + encodeURIComponent(origin),
</span><span class="cx"> false)
</span><del>- assert_throws(null, function() { client.send() }, 'send')
</del><ins>+ assert_throws("NetworkError", function() { client.send() }, 'send')
</ins><span class="cx"> }, 'Disallow origin: ' + origin.replace(/\0/g, "\\0"));
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx"> + encodeURIComponent(origin)
</span><span class="cx"> + '&origin2=' + encodeURIComponent(origin2),
</span><span class="cx"> false)
</span><del>- assert_throws(null, function() { client.send() }, 'send')
</del><ins>+ assert_throws("NetworkError", function() { client.send() }, 'send')
</ins><span class="cx"> }, 'Disallow multiple headers (' + origin + ', ' + origin2 + ')');
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscorspreflightfailurehtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/cors/preflight-failure.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/cors/preflight-failure.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/cors/preflight-failure.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx">
</span><span class="cx"> <script src=/resources/testharness.js></script>
</span><span class="cx"> <script src=/resources/testharnessreport.js></script>
</span><del>-<script src=support.js?pipe=sub></script>
</del><ins>+<script src=/common/get-host-info.sub.js></script>
</ins><span class="cx">
</span><span class="cx"> <h1>Preflight responds with non-2XX status code</h1>
</span><span class="cx">
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx"> // analyzer.
</span><span class="cx"> var req_c = 0;
</span><span class="cx">
</span><del>-var CROSSDOMAIN_URL = CROSSDOMAIN + 'resources/cors-makeheader.py?';
</del><ins>+var CROSSDOMAIN_URL = get_host_info().HTTP_REMOTE_ORIGIN + '/cors/resources/cors-makeheader.py?';
</ins><span class="cx">
</span><span class="cx"> /*
</span><span class="cx"> * Redirection with preflights.
</span><span class="lines">@@ -28,6 +28,8 @@
</span><span class="cx"> var redirect =
</span><span class="cx"> encodeURIComponent(CROSSDOMAIN_URL + 'headers=x-test&' + req_c++);
</span><span class="cx">
</span><ins>+ var isCodeOK = code >= 200 && code <= 299;
+
</ins><span class="cx"> client.open('GET',
</span><span class="cx"> CROSSDOMAIN_URL + 'headers=x-test&location=' + redirect
</span><span class="cx"> + '&code=' + code + '&preflight=' + code
</span><span class="lines">@@ -35,20 +37,25 @@
</span><span class="cx"> true /* async */);
</span><span class="cx"> client.setRequestHeader('x-test', 'test');
</span><span class="cx"> client.onerror = this.step_func(function() {
</span><ins>+ assert_false(isCodeOK);
</ins><span class="cx"> this.done();
</span><span class="cx"> });
</span><span class="cx"> client.onreadystatechange = this.step_func(function() {
</span><del>- assert_equals(client.status, 0);
</del><ins>+ if (!isCodeOK)
+ assert_equals(client.status, 0);
</ins><span class="cx"> });
</span><span class="cx"> client.onload = this.step_func(function() {
</span><del>- assert_unreached('Unexpected onload');
</del><ins>+ assert_true(isCodeOK);
+ this.done();
</ins><span class="cx"> });
</span><span class="cx"> client.send(null);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx"> [100, 101,
</span><ins>+ 200,
</ins><span class="cx"> 300, 301, 302, 303, 304, 305, 306, 307, 308,
</span><span class="cx"> 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
</span><del>- 500, 501, 502, 503, 504, 505].forEach(preflight_failure);
</del><ins>+ 500, 501, 502, 503, 504, 505
+].forEach(preflight_failure);
</ins><span class="cx">
</span><span class="cx"> </script>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscorsredirectuserinfoexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-userinfo-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-userinfo-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-userinfo-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,22 +1,22 @@
</span><span class="cx"> Blocked access to external URL http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Ftest%3Atest%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%260_1&0_0
</span><del>-CONSOLE MESSAGE: line 61: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Ftest%3Atest%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%260_1&0_0 due to access control checks.
</del><ins>+CONSOLE MESSAGE: line 57: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Ftest%3Atest%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%260_1&0_0 due to access control checks.
</ins><span class="cx"> Blocked access to external URL http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Fuser%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%261_1&1_0
</span><del>-CONSOLE MESSAGE: line 61: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Fuser%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%261_1&1_0 due to access control checks.
</del><ins>+CONSOLE MESSAGE: line 57: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Fuser%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%261_1&1_0 due to access control checks.
</ins><span class="cx"> Blocked access to external URL http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Fuser%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%262_1&2_0
</span><del>-CONSOLE MESSAGE: line 61: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Fuser%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%262_1&2_0 due to access control checks.
</del><ins>+CONSOLE MESSAGE: line 57: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2Fuser%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%262_1&2_0 due to access control checks.
</ins><span class="cx"> Blocked access to external URL http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%263_1&3_0
</span><del>-CONSOLE MESSAGE: line 61: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%263_1&3_0 due to access control checks.
</del><ins>+CONSOLE MESSAGE: line 77: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%3A%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%263_1&3_0 due to access control checks.
</ins><span class="cx"> Blocked access to external URL http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%3Apass%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%264_1&4_0
</span><del>-CONSOLE MESSAGE: line 61: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%3Apass%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%264_1&4_0 due to access control checks.
</del><ins>+CONSOLE MESSAGE: line 57: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%3Apass%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%264_1&4_0 due to access control checks.
</ins><span class="cx"> Blocked access to external URL http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%265_1&5_0
</span><del>-CONSOLE MESSAGE: line 84: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%265_1&5_0 due to access control checks.
</del><ins>+CONSOLE MESSAGE: line 77: XMLHttpRequest cannot load http://www1.localhost:8800/cors/resources/cors-makeheader.py?&location=http%3A%2F%2F%40www1.localhost%3A8800%2Fcors%2Fresources%2Fcors-makeheader.py%3F%26get_value%3Dlast%265_1&5_0 due to access control checks.
</ins><span class="cx"> CORS userinfo redirect handling
</span><span class="cx">
</span><span class="cx">
</span><del>-PASS Disallow redirect with userinfo (//user:pass@)
-PASS Disallow redirect with userinfo (//user:@)
-PASS Disallow redirect with userinfo (//user@)
-PASS Disallow redirect with userinfo (//:@)
-PASS Disallow redirect with userinfo (//:pass@)
-FAIL Allow redirect with userinfo (//@) assert_true: Got response expected true got false
</del><ins>+PASS Disallow redirect with userinfo (user:pass@)
+PASS Disallow redirect with userinfo (user:@)
+PASS Disallow redirect with userinfo (user@)
+FAIL Allow redirect without userinfo (:@ is trimmed during URL parsing) assert_unreached: Reached unreachable code
+PASS Disallow redirect with userinfo (:pass@)
+FAIL Allow redirect without userinfo (@ is trimmed during URL parsing) assert_unreached: Reached unreachable code
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscorsredirectuserinfohtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-userinfo.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-userinfo.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/cors/redirect-userinfo.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -16,27 +16,27 @@
</span><span class="cx"> // Test count for cache busting and easy identifying of request in traffic analyzer
</span><span class="cx"> var num_test = 0
</span><span class="cx">
</span><del>- shouldFail("Disallow redirect with userinfo (//user:pass@)", [
</del><ins>+ shouldFail("Disallow redirect with userinfo (user:pass@)", [
</ins><span class="cx"> CROSSDOMAIN + "resources/cors-makeheader.py?",
</span><span class="cx"> CROSSDOMAIN.replace("http://", "http://test:test@") + "resources/cors-makeheader.py?"]);
</span><span class="cx">
</span><del>- shouldFail("Disallow redirect with userinfo (//user:@)", [
</del><ins>+ shouldFail("Disallow redirect with userinfo (user:@)", [
</ins><span class="cx"> CROSSDOMAIN + "resources/cors-makeheader.py?",
</span><span class="cx"> CROSSDOMAIN.replace("http://", "http://user:@") + "resources/cors-makeheader.py?"]);
</span><span class="cx">
</span><del>- shouldFail("Disallow redirect with userinfo (//user@)", [
</del><ins>+ shouldFail("Disallow redirect with userinfo (user@)", [
</ins><span class="cx"> CROSSDOMAIN + "resources/cors-makeheader.py?",
</span><span class="cx"> CROSSDOMAIN.replace("http://", "http://user:@") + "resources/cors-makeheader.py?"]);
</span><span class="cx">
</span><del>- shouldFail("Disallow redirect with userinfo (//:@)", [
</del><ins>+ shouldPass("Allow redirect without userinfo (:@ is trimmed during URL parsing)", [
</ins><span class="cx"> CROSSDOMAIN + "resources/cors-makeheader.py?",
</span><span class="cx"> CROSSDOMAIN.replace("http://", "http://:@") + "resources/cors-makeheader.py?"]);
</span><span class="cx">
</span><del>- shouldFail("Disallow redirect with userinfo (//:pass@)", [
</del><ins>+ shouldFail("Disallow redirect with userinfo (:pass@)", [
</ins><span class="cx"> CROSSDOMAIN + "resources/cors-makeheader.py?",
</span><span class="cx"> CROSSDOMAIN.replace("http://", "http://:pass@") + "resources/cors-makeheader.py?"]);
</span><span class="cx">
</span><del>- shouldPass("Allow redirect with userinfo (//@)", [
</del><ins>+ shouldPass("Allow redirect without userinfo (@ is trimmed during URL parsing)", [
</ins><span class="cx"> CROSSDOMAIN + "resources/cors-makeheader.py?",
</span><span class="cx"> CROSSDOMAIN.replace("http://", "http://@") + "resources/cors-makeheader.py?"]);
</span><span class="cx">
</span><span class="lines">@@ -51,12 +51,8 @@
</span><span class="cx">
</span><span class="cx"> client.open('GET', buildURL(urls, test_id));
</span><span class="cx">
</span><del>- client.onload = t.step_func(function() {
- assert_false(!!client.response, "Got response");
- });
- client.onerror = t.step_func(function(e) {
- t.done();
- });
</del><ins>+ client.onload = t.unreached_func();
+ client.onerror = t.step_func_done();
</ins><span class="cx">
</span><span class="cx"> client.send(null)
</span><span class="cx"> });
</span><span class="lines">@@ -73,14 +69,11 @@
</span><span class="cx">
</span><span class="cx"> client.open('GET', buildURL(urls, test_id));
</span><span class="cx">
</span><del>- client.onreadystatechange = t.step_func(function() {
- if (client.readyState != client.DONE)
- return;
- assert_true(!!client.response, "Got response");
</del><ins>+ client.onload = t.step_func_done(function() {
</ins><span class="cx"> r = JSON.parse(client.response)
</span><span class="cx"> assert_equals(r['get_value'], 'last', 'get_value')
</span><del>- t.done();
</del><span class="cx"> });
</span><ins>+ client.onerror = t.unreached_func()
</ins><span class="cx"> client.send(null)
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -88,10 +81,6 @@
</span><span class="cx"> function buildURL(urls, id) {
</span><span class="cx"> var tmp_url;
</span><span class="cx">
</span><del>- if (typeof(urls) == "string") {
- return urls + "&" + id + "_0";
- }
-
</del><span class="cx"> for (var i = urls.length; i--; ) {
</span><span class="cx"> if (!tmp_url)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscorsrequestheadershtm"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/cors/request-headers.htm (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/cors/request-headers.htm        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/cors/request-headers.htm        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> client.open('GET', CROSSDOMAIN + 'resources/cors-makeheader.py?headers=x-print', false)
</span><span class="cx"> client.setRequestHeader('x-print', 'unicorn')
</span><span class="cx"> client.setRequestHeader('y-print', 'unicorn')
</span><del>- assert_throws(null, function() { client.send(null) })
</del><ins>+ assert_throws("NetworkError", function() { client.send(null) })
</ins><span class="cx"> }, 'Unspecified request headers are disallowed')
</span><span class="cx">
</span><span class="cx"> test(function() {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsshtaccess"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/.htaccess (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/.htaccess         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/.htaccess        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+HeaderName README.md
+ReadmeName none
+
+# README is returned as text/plain anyway, but this is needed to
+# make it show up.
+
+<Files "README.md">
+ForceType text/plain
+</Files>
+
+# Define some types
+AddType application/xhtml+xml .xht
+AddType text/html .htm
+AddType text/css .css
+AddType image/png .png
+
+# Set the default character set
+AddDefaultCharset utf-8
+
+# Set up useful directory indexes
+# Indexing Options
+Options +Indexes +MultiViews
+IndexOptions DescriptionWidth=* NameWidth=* FancyIndexing FoldersFirst ScanHTMLTitles
+IndexIgnore .htaccess *~ .#* #*# CVS README.md .svn
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscssOWNERS"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/OWNERS (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/OWNERS         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/OWNERS        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+@gsnedders
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscssREADMEmd"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/README.md (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/README.md         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/README.md        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+Introduction
+------------
+
+This directory contains all testsuites for all CSS specifications still using
+the [CSS test harness][harness].
+
+As the test harness relies on the largely undocumented(!) old CSS build system,
+this directory has a number of test requirements specific to it:
+
+ * support files for a given test must live in an adjacent `support` directory;
+
+ * tests must have a [`<link rel=help>`][spec-link] pointing to what they are
+ testing;
+
+ * for each spec so linked, test filenames must be unique; and
+
+ * support and reference files must have unique filenames within the entire
+ `css` directory.
+
+
+Odd Directories
+---------------
+
+There are a few special directories that do not map to specifications:
+
+vendor-imports/ is a legacy directory where third parties historically imported
+their tests that originate and are maintained in an external repo. Files in
+this directory should never be modified in this repo, but should go through the
+vendor's process to be imported here.
+
+work-in-progress/ is a legacy directory that contains all the work that was
+once submitted to the repo, but was not yet ready for review. As pull requests
+are now used, no new files should be added here. The subdirectories here are
+named by test author or contributing organization.
+
+
+Importing Old Branches
+----------------------
+
+Given an old branch in git based against the old csswg-test
+repository, it can be moved over to the merged repo in one of two
+ways:
+
+ * (Recommended:) Rebasing on top of web-platform-tests: with the old
+ branch checked out, run `git rebase -Xsubtree=css/ origin/master`
+ (or similar, depending on the name of the upstream remote).
+
+ * Merging to web-platform-tests: with web-platform-tests' master
+ branch checked out, run `git merge -Xsubtree=css/ my_shiny_branch`
+ (or similar, depending on the name of your branch).
+
+If you have a branch/bookmark in Mercurial, the process is more
+complicated:
+
+ 1. From the Mercurial repo, run `hg export --git -r 'outgoing()' >
+ foo.patch`. This will export all the changeset shown in `hg log -r
+ 'outgoing()'`; it's recommended you check this is the right set of
+ changesets before continuing!
+
+ 2. Move to the git repo, and create a new branch based on
+ web-platform-tests' master; e.g., `git checkout -b hg-import
+ origin/master` (or similar, depending on the name of the upstream
+ remote).
+
+ 3. Download [hg-patch-to-git-patch][] and run `python2
+ hg-patch-to-git-patch < foo.patch > bar.patch` (where `foo.patch`
+ is the path to the `foo.patch` you exported above).
+
+ 4. Run `git am --directory=css/ < bar.patch`.
+
+
+[harness]: https://test.csswg.org/harness/
+[spec-link]: http://web-platform-tests.org/writing-tests/css-metadata.html#specification-links
+[hg-patch-to-git-patch]: https://raw.githubusercontent.com/mozilla/moz-git-tools/master/hg-patch-to-git-patch
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscssbuildcsstestsuitessh"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/build-css-testsuites.sh (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/build-css-testsuites.sh         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/build-css-testsuites.sh        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,49 @@
</span><ins>+#!/usr/bin/env sh
+set -ex
+
+cd "`dirname $0`"
+
+if [ -z $VENV ]; then
+ VENV=tools/_virtualenv
+fi
+
+# Create the virtualenv
+if [ ! -d $VENV ]; then
+ if [ -z $PYTHON ]; then
+ command -v python
+ if [ $? -eq 0 ]; then
+ if [ `python -c 'import sys; print(sys.version[0:3])'` == "2.7" ]; then
+ PYTHON=python
+ fi
+ fi
+ fi
+
+ if [ -z $PYTHON ]; then
+ command -v python2
+ if [ $? -eq 0 ]; then
+ PYTHON=python2
+ fi
+ fi
+
+ if [ -z $PYTHON ]; then
+ echo "Please ensure Python 2.7 is installed"
+ exit 1
+ fi
+
+ virtualenv -p $PYTHON $VENV || { echo "Please ensure virtualenv is installed"; exit 2; }
+fi
+
+# Install dependencies
+$VENV/bin/pip install -r requirements.txt
+
+# Fetch hg submodules if they're not there
+if [ ! -d tools/apiclient ]; then
+ $VENV/bin/hg clone https://hg.csswg.org/dev/apiclient tools/apiclient
+fi
+
+if [ ! -d tools/w3ctestlib ]; then
+ $VENV/bin/hg clone https://hg.csswg.org/dev/w3ctestlib tools/w3ctestlib
+fi
+
+# Run the build script
+$VENV/bin/python tools/build.py "$@"
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportflexiblelengths001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-flexible-lengths-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#fr-unit" title="5.1.3 Flexible Lengths: the fr unit" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid-template-columns' and 'grid-template-rows' properties support flexible lengths (the 'fr' unit) within an inline grid, so you can use it to represent a fraction of the free space in the grid container." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .inline-grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportgridtemplateareas001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-areas-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#grid-template-areas-property" title="5.2 Named Areas: the 'grid-template-areas' property" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid-template-areas' is supported in an inline grid. So you can define the grid structure." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> #grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportgridtemplatecolumnsrows001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-grid-template-columns-rows-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#track-sizing" title="5.1 Track Sizing: the 'grid-template-rows' and 'grid-template-columns' properties" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid-template-columns' and 'grid-template-rows' properties are supported in an inline grid. So you can use the different syntax options to define the trak list." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .inline-grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportnamedgridlines001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-named-grid-lines-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#named-lines" title="5.1.1. Named Grid Lines: the '(&lt;custom-ident\&gt;*)' syntax" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that grid lines can be explicitly named in 'grid-template-columns' and 'grid-template-rows' properties within an inline grid." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .inline-grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinesupportrepeat001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-support-repeat-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#repeat-notation" title="5.1.2 Repeating Rows and Columns: the 'repeat()' notation" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid-template-columns' and 'grid-template-rows' properties support 'repeat()' notation within an inline grid, so you can use it to represents a repeated fragment of the track list." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .inline-grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridinlinetemplatecolumnsrowsresolvedvalues001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-inline-template-columns-rows-resolved-values-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#resolved-track-list" title="5.1.5. Resolved Values" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that resolved values for 'grid-template-columns' and 'grid-template-rows' list tracks implicitly created in an inline grid." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .inline-grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportflexiblelengths001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-flexible-lengths-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#fr-unit" title="5.1.3 Flexible Lengths: the fr unit" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid-template-columns' and 'grid-template-rows' properties support flexible lengths (the 'fr' unit), so you can use it to represent a fraction of the free space in the grid container." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportgridtemplateareas001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-areas-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#grid-template-areas-property" title="5.2 Named Areas: the 'grid-template-areas' property" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid-template-areas' is supported in a grid. So you can define the grid structure." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> #grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportgridtemplatecolumnsrows001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-grid-template-columns-rows-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#track-sizing" title="5.1 Track Sizing: the 'grid-template-rows' and 'grid-template-columns' properties" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid-template-columns' and 'grid-template-rows' properties are supported in a grid. So you can use the different syntax options to define the trak list." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportnamedgridlines001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-named-grid-lines-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#named-lines" title="5.1.1. Named Grid Lines: the '(&lt;custom-ident\&gt;*)' syntax" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that grid lines can be explicitly named in 'grid-template-columns' and 'grid-template-rows' properties." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridsupportrepeat001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-support-repeat-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#repeat-notation" title="5.1.2 Repeating Rows and Columns: the 'repeat()' notation" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid-template-columns' and 'grid-template-rows' properties support 'repeat()' notation, so you can use it to represents a repeated fragment of the track list." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griddefinitiongridtemplatecolumnsrowsresolvedvalues001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-template-columns-rows-resolved-values-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#resolved-track-list" title="5.1.5. Resolved Values" />
</span><span class="cx"> <meta name="flags" content="ahem dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that resolved values for 'grid-template-columns' and 'grid-template-rows' list tracks implicitly created." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <script src="support/testing-utils.js" type="text/javascript"></script>
</span><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .grid {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1griditemsw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,13 +15,9 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-002-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-002.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-003-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-inline-blocks-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-items-inline-blocks-001.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-001-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-001.xht
</span><span class="lines">@@ -33,25 +29,15 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-004.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-005-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-auto-placement-005.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-002-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-002.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-003-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-004-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-004.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-005-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-order-property-painting-005.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-002-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-002.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-003-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-004-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-004.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-005-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-005.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-001-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-001.xht
</span><span class="lines">@@ -65,21 +51,13 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-005.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-006-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-inline-z-axis-ordering-overlapped-items-006.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-001.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-002-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-002.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-003-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-003.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-004-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-item-containing-block-004.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-002-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-002.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-003-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-inline-blocks-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-inline-blocks-001.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-sizing-alignment-001-expected.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-items-sizing-alignment-001.html
</span><span class="lines">@@ -89,13 +67,9 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-layout-z-order-a.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-layout-z-order-b-expected.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-layout-z-order-b.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-002-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-002.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-003-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-004-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-004.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-005-expected.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-005.xht
</span><span class="lines">@@ -107,27 +81,16 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-008.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-009-expected.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-009.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-010-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-010.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-011-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-011.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-012-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-012.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-013-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-013.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-014-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-014.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-015-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-015.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-016-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-016.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-017-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-017.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-018-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-018.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-019-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-019.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-020-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-020.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-001-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-001.xht
</span><span class="lines">@@ -139,25 +102,15 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-004.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-005-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-auto-placement-005.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-002-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-002.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-003-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-004-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-004.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-005-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-order-property-painting-005.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-002-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-002.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-003-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-004-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-004.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-005-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-005.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-001-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-items/grid-z-axis-ordering-overlapped-items-001.xht
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1gridmodelgridcomputedvaluedisplayfloateditems001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#grid-containers" title="3.1 Establishing Grid Containers" />
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/CSS2/visuren.html#dis-pos-flo" title="9.7 Relationships between 'display', 'position', and 'float'" />
</span><span class="cx"> <meta name="flags" content="dom" />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> #grid {
</span><span class="cx"> display: grid;
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1gridmodelgridsupportdisplay001xht"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -7,8 +7,8 @@
</span><span class="cx"> <link rel="help" href="http://www.w3.org/TR/css-grid-1/#grid-containers" title="3.1 Establishing Grid Containers" />
</span><span class="cx"> <meta name="flags" content="dom" />
</span><span class="cx"> <meta name="assert" content="This test checks that 'grid' and 'inline-grid' values for 'display' property are supported so that DOM methods, specifically getComputedValue(), and its associated CSS2Properties interface, can fetch such 'display' values." />
</span><del>- <script src="../../../../../../resources/testharness.js" type="text/javascript"></script>
- <script src="../../../../../../resources/testharnessreport.js" type="text/javascript"></script>
</del><ins>+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
</ins><span class="cx"> <style type="text/css"><![CDATA[
</span><span class="cx"> .grid {
</span><span class="cx"> display: grid;
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsscssgrid1gridmodelw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -20,9 +20,7 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/display-inline-grid-expected.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/display-inline-grid.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-computed-value-display-floated-items-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-display-grid-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-display-grid-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-display-inline-grid-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-display-inline-grid-001.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-first-letter-001-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-first-letter-001.xht
</span><span class="lines">@@ -36,9 +34,7 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-first-line-002.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-first-line-003-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-first-line-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-float-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-float-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-floats-no-intrude-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-floats-no-intrude-001.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-letter-001-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-letter-001.xht
</span><span class="lines">@@ -52,20 +48,14 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-002.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-003-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-first-line-003.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-float-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-float-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-floats-no-intrude-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-floats-no-intrude-001.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-margins-no-collapse-001-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-margins-no-collapse-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-multicol-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-multicol-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-vertical-align-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-inline-vertical-align-001.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-margins-no-collapse-001-expected.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-margins-no-collapse-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-multicol-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-multicol-001.xht
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.xht
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-vertical-align-001-expected.xht
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-model/grid-vertical-align-001.xht
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscssrequirementstxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/requirements.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/requirements.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/requirements.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+six==1.10.0
+Template-Python==0.1.post1
+html5lib==0.9999999
+lxml==3.7.3
+mercurial==4.1
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscssw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+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/css/.htaccess
+/LayoutTests/imported/w3c/web-platform-tests/css/OWNERS
+/LayoutTests/imported/w3c/web-platform-tests/css/README.md
+/LayoutTests/imported/w3c/web-platform-tests/css/build-css-testsuites.sh
+/LayoutTests/imported/w3c/web-platform-tests/css/requirements.txt
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1OWNERS"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/OWNERS (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/OWNERS         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/OWNERS        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+@birtles
+@BorisChiou
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1cubicbeziertimingfunctionsoutputexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+
+FAIL cubic-bezier easing with input progress greater than 1 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL cubic-bezier easing with input progress greater than 1 and where the tangent on the upper boundary is infinity target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL cubic-bezier easing with input progress less than 0 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL cubic-bezier easing with input progress less than 0 and where the tangent on the lower boundary is infinity target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1cubicbeziertimingfunctionsoutputhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,221 @@
</span><ins>+<!DOCTYPE html>
+<meta charset=utf-8>
+<meta name="assert"
+content="This test checks the output of Cubic Bézier functions" />
+<title>Tests for the output of Cubic Bézier timing functions</title>
+<link rel="help"
+href="https://drafts.csswg.org/css-timing/#cubic-bezier-timing-functions">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="testcommon.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+function assert_style_left_at(animation, time, easingFunction) {
+ animation.currentTime = time;
+ var portion = time / animation.effect.timing.duration;
+ assert_approx_equals(pxToNum(getComputedStyle(animation.effect.target).left),
+ easingFunction(portion) * 100,
+ 0.01,
+ 'The left of the animation should be approximately ' +
+ easingFunction(portion) * 100 + ' at ' + time + 'ms');
+}
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate(
+ // http://cubic-bezier.com/#.5,1,.5,0
+ [ { left: '0px', easing: 'cubic-bezier(0.5, 1, 0.5, 0)' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, 1.5, 1, 1.5)' });
+ var keyframeEasing = function(x) {
+ assert_greater_than_equal(x, 0.0,
+ 'This function should be called in [0, 1.0] range');
+ assert_less_than_equal(x, 1.0,
+ 'This function should be called in [0, 1.0] range');
+ return cubicBezier(0.5, 1, 0.5, 0)(x);
+ }
+ var keyframeEasingExtrapolated = function(x) {
+ assert_greater_than(x, 1.0,
+ 'This function should be called in (1.0, infinity) range');
+ // p3x + (p2y - p3y) / (p2x - p3x) * (x - p3x)
+ return 1.0 + (0 - 1) / (0.5 - 1) * (x - 1.0);
+ }
+ var effectEasing = function(x) {
+ return cubicBezier(0, 1.5, 1, 1.5)(x);
+ }
+
+ // The effect-easing produces values greater than 1 in (0.23368794, 1)
+ assert_style_left_at(anim, 0, function(x) {
+ return keyframeEasing(effectEasing(x));
+ });
+ assert_style_left_at(anim, 230, function(x) {
+ return keyframeEasing(effectEasing(x));
+ });
+ assert_style_left_at(anim, 240, function(x) {
+ return keyframeEasingExtrapolated(effectEasing(x));
+ });
+ // Near the extreme point of the effect-easing function
+ assert_style_left_at(anim, 700, function(x) {
+ return keyframeEasingExtrapolated(effectEasing(x));
+ });
+ assert_style_left_at(anim, 990, function(x) {
+ return keyframeEasingExtrapolated(effectEasing(x));
+ });
+ assert_style_left_at(anim, 1000, function(x) {
+ return keyframeEasing(effectEasing(x));
+ });
+}, 'cubic-bezier easing with input progress greater than 1');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate(
+ // http://cubic-bezier.com/#0,1.5,1,1.5
+ [ { left: '0px', easing: 'cubic-bezier(0, 1.5, 1, 1.5)' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, 1.5, 1, 1.5)' });
+ var easing = function(x) {
+ assert_greater_than_equal(x, 0.0,
+ 'This function should be called in [0, 1.0] range');
+ assert_less_than_equal(x, 1.0,
+ 'This function should be called in [0, 1.0] range');
+ return cubicBezier(0, 1.5, 1, 1.5)(x);
+ }
+ var easingExtrapolated = function(x) {
+ assert_greater_than(x, 1.0,
+ 'This function should be called in negative range');
+ // For cubic-bezier(0, 1.5, 1, 1.5), the tangent at the
+ // endpoint (x = 1.0) is infinity so we should just return 1.0.
+ return 1.0;
+ }
+
+ // The effect-easing produces values greater than 1 in (0.23368794, 1)
+ assert_style_left_at(anim, 0, function(x) {
+ return easing(easing(x))
+ });
+ assert_style_left_at(anim, 230, function(x) {
+ return easing(easing(x))
+ });
+ assert_style_left_at(anim, 240, function(x) {
+ return easingExtrapolated(easing(x));
+ });
+ // Near the extreme point of the effect-easing function
+ assert_style_left_at(anim, 700, function(x) {
+ return easingExtrapolated(easing(x));
+ });
+ assert_style_left_at(anim, 990, function(x) {
+ return easingExtrapolated(easing(x));
+ });
+ assert_style_left_at(anim, 1000, function(x) {
+ return easing(easing(x))
+ });
+}, 'cubic-bezier easing with input progress greater than 1 and where the ' +
+ 'tangent on the upper boundary is infinity');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate(
+ // http://cubic-bezier.com/#.5,1,.5,0
+ [ { left: '0px', easing: 'cubic-bezier(0.5, 1, 0.5, 0)' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, -0.5, 1, -0.5)' });
+ var keyframeEasing = function(x) {
+ assert_greater_than_equal(x, 0.0,
+ 'This function should be called in [0, 1.0] range');
+ assert_less_than_equal(x, 1.0,
+ 'This function should be called in [0, 1.0] range');
+ return cubicBezier(0.5, 1, 0.5, 0)(x);
+ }
+ var keyframeEasingExtrapolated = function(x) {
+ assert_less_than(x, 0.0,
+ 'This function should be called in negative range');
+ // p0x + (p1y - p0y) / (p1x - p0x) * (x - p0x)
+ return (1 / 0.5) * x;
+ }
+ var effectEasing = function(x) {
+ return cubicBezier(0, -0.5, 1, -0.5)(x);
+ }
+
+ // The effect-easing produces negative values in (0, 0.766312060)
+ assert_style_left_at(anim, 0, function(x) {
+ return keyframeEasing(effectEasing(x));
+ });
+ assert_style_left_at(anim, 10, function(x) {
+ return keyframeEasingExtrapolated(effectEasing(x));
+ });
+ // Near the extreme point of the effect-easing function
+ assert_style_left_at(anim, 300, function(x) {
+ return keyframeEasingExtrapolated(effectEasing(x));
+ });
+ assert_style_left_at(anim, 750, function(x) {
+ return keyframeEasingExtrapolated(effectEasing(x));
+ });
+ assert_style_left_at(anim, 770, function(x) {
+ return keyframeEasing(effectEasing(x));
+ });
+ assert_style_left_at(anim, 1000, function(x) {
+ return keyframeEasing(effectEasing(x));
+ });
+}, 'cubic-bezier easing with input progress less than 0');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate(
+ // http://cubic-bezier.com/#0,-0.5,1,-0.5
+ [ { left: '0px', easing: 'cubic-bezier(0, -0.5, 1, -0.5)' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, -0.5, 1, -0.5)' });
+ var easing = function(x) {
+ assert_greater_than_equal(x, 0.0,
+ 'This function should be called in [0, 1.0] range');
+ assert_less_than_equal(x, 1.0,
+ 'This function should be called in [0, 1.0] range');
+ return cubicBezier(0, -0.5, 1, -0.5)(x);
+ }
+ var easingExtrapolated = function(x) {
+ assert_less_than(x, 0.0,
+ 'This function should be called in negative range');
+ // For cubic-bezier(0, -0.5, 1, -0.5), the tangent at the
+ // endpoint (x = 0.0) is infinity so we should just return 0.0.
+ return 0.0;
+ }
+
+ // The effect-easing produces negative values in (0, 0.766312060)
+ assert_style_left_at(anim, 0, function(x) {
+ return easing(easing(x))
+ });
+ assert_style_left_at(anim, 10, function(x) {
+ return easingExtrapolated(easing(x));
+ });
+ // Near the extreme point of the effect-easing function
+ assert_style_left_at(anim, 300, function(x) {
+ return easingExtrapolated(easing(x));
+ });
+ assert_style_left_at(anim, 750, function(x) {
+ return easingExtrapolated(easing(x));
+ });
+ assert_style_left_at(anim, 770, function(x) {
+ return easing(easing(x))
+ });
+ assert_style_left_at(anim, 1000, function(x) {
+ return easing(easing(x))
+ });
+}, 'cubic-bezier easing with input progress less than 0 and where the ' +
+ 'tangent on the lower boundary is infinity');
+
+</script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1framestimingfunctionsoutputexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+
+FAIL For an input progress of 0.0, the output of a frames timing function is the first frame assert_equals: expected "0px" but got "auto"
+FAIL At a frame boundary, the output of a frames timing function is the next frame assert_equals: expected "0px" but got "auto"
+FAIL For an input progress of 1.0, the output of a frames timing function is the final frame assert_equals: expected "100px" but got "auto"
+FAIL The number of frames is correctly reflected in the frames timing function output assert_equals: expected "0px" but got "auto"
+FAIL The number of frames is correctly reflected in the frames timing function output on CSS Transitions assert_equals: expected "0px" but got "auto"
+FAIL frames easing with input progress greater than 1 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL frames easing with input progress greater than 1.5 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL frames easing with input progress less than 0 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1framestimingfunctionsoutputhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,152 @@
</span><ins>+<!DOCTYPE html>
+<meta charset=utf-8>
+<meta name="assert"
+content="This test checks the output of frame timing functions with different frame numbers" />
+<title>Frames timing function output tests</title>
+<link rel="help"
+href="https://drafts.csswg.org/css-timing/#frames-timing-functions">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="testcommon.js"></script>
+<style>
+@keyframes anim {
+ from { left: 0px; }
+ to { left: 100px; }
+}
+</style>
+<body>
+<div id="log"></div>
+<script>
+"use strict";
+
+test(function(t) {
+ const div = createDiv(t);
+ div.style.animation = 'anim 10s frames(2) forwards';
+ assert_equals(getComputedStyle(div).left, '0px');
+}, 'For an input progress of 0.0, the output of a frames timing function is ' +
+ 'the first frame');
+
+test(function(t) {
+ const div = createDiv(t);
+ div.style.animation = 'anim 10s frames(2) forwards';
+
+ div.style.animationDelay = '-4999ms';
+ assert_equals(getComputedStyle(div).left, '0px');
+ div.style.animationDelay = '-5000ms';
+ assert_equals(getComputedStyle(div).left, '100px');
+}, 'At a frame boundary, the output of a frames timing function is the next ' +
+ 'frame');
+
+test(function(t) {
+ const div = createDiv(t);
+ div.style.animation = 'anim 10s frames(2) forwards';
+
+ div.style.animationDelay = '-10s';
+ assert_equals(getComputedStyle(div).left, '100px');
+}, 'For an input progress of 1.0, the output of a frames timing function is ' +
+ 'the final frame');
+
+test(function(t) {
+ const div = createDiv(t);
+ div.style.animation = 'anim 11s frames(11) forwards';
+
+ // We have 11 frames in 11s, so the first step happens at 1.0.
+ div.style.animationDelay = '-999ms';
+ assert_equals(getComputedStyle(div).left, '0px');
+ div.style.animationDelay = '-1000ms';
+ assert_equals(getComputedStyle(div).left, '10px');
+}, 'The number of frames is correctly reflected in the frames timing ' +
+ 'function output');
+
+test(function(t) {
+ const div = createDiv(t);
+ div.style.transition = 'left 11s frames(11)';
+
+ // We have 11 frames in 11s, so the first step happens at 1.0.
+ div.style.left = '0px';
+ div.style.transitionDelay = '-999ms';
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+ assert_equals(getComputedStyle(div).left, '0px');
+
+ div.style.left = '0px';
+ div.style.transitionDelay = '-1000ms';
+ getComputedStyle(div).left;
+ div.style.left = '100px';
+ assert_equals(getComputedStyle(div).left, '10px');
+}, 'The number of frames is correctly reflected in the frames timing ' +
+ 'function output on CSS Transitions');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'frames(2)' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, 1.5, 1, 1.5)' });
+
+ // The bezier function produces values between 0.5 and 1 in
+ // (~0.0442, 0.23368), and values between 1 and 2 in (0.23368794, 1).
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 45;
+ assert_equals(getComputedStyle(target).left, '100px');
+ anim.currentTime = 230;
+ assert_equals(getComputedStyle(target).left, '100px');
+ anim.currentTime = 250;
+ assert_equals(getComputedStyle(target).left, '200px');
+ anim.currentTime = 1000;
+ assert_equals(getComputedStyle(target).left, '100px');
+}, 'frames easing with input progress greater than 1');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'frames(2)' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, 3, 1, 3)' });
+
+ // The bezier funciton produces values:
+ // Input -> Output
+ // 0.0 0.0
+ // 0.114 ~ 0.245 1.5~2.0, so frames(2) is 3.0
+ // 0.245 ~ 0.6 2.0~2.4, so frames(2) is 4.0
+ // 0.6 ~ 0.882 2.4~2.0, so frames(2) is 4.0
+ // 0.882 ~ 0.976 2.0~1.5, so frames(2) is 3.0
+ // 1.0 1.0
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 114;
+ assert_equals(getComputedStyle(target).left, '300px');
+ anim.currentTime = 500;
+ assert_equals(getComputedStyle(target).left, '400px');
+ anim.currentTime = 900;
+ assert_equals(getComputedStyle(target).left, '300px');
+}, 'frames easing with input progress greater than 1.5');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'frames(2)' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, -0.5, 1, -0.5)' });
+
+ // The bezier function produces negative values (but always greater than -0.5)
+ // in (0, 0.766312060).
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 750;
+ assert_equals(getComputedStyle(target).left, '-100px');
+ anim.currentTime = 800;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 1000;
+ assert_equals(getComputedStyle(target).left, '100px');
+}, 'frames easing with input progress less than 0');
+
+</script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1framestimingfunctionssyntaxexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+PASS The number of frames must be a positive integer greater than 1, or we fallback to the previously-set easing
+FAIL The serialization of frames is 'frames(n)', n is the number of frames assert_equals: expected "frames(2)" but got "ease"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1framestimingfunctionssyntaxhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+<!DOCTYPE html>
+<meta charset=utf-8>
+<meta name="assert"
+content="This test checks the syntax output of frame timing functions" />
+<title>Frames timing function syntax tests</title>
+<link rel="help"
+href="https://drafts.csswg.org/css-timing/#frames-timing-functions">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="testcommon.js"></script>
+<body>
+<div id="log"></div>
+<script>
+"use strict";
+
+test(function(t) {
+ const div = createDiv(t);
+ div.style.animation = 'abc 1s ease-in';
+ div.style.animationTimingFunction = 'frames(1)';
+ assert_equals(getComputedStyle(div).animationTimingFunction, 'ease-in');
+}, 'The number of frames must be a positive integer greater than 1, or we ' +
+ 'fallback to the previously-set easing');
+
+test(function(t) {
+ const div = createDiv(t);
+ div.style.animation = 'abc 1s frames( 2 )';
+ assert_equals(getComputedStyle(div).animationTimingFunction, 'frames(2)');
+}, 'The serialization of frames is \'frames(n)\', n is the number of frames');
+
+</script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1steptimingfunctionsoutputexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+
+FAIL step-start easing with input progress greater than 1 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL step-end easing with input progress greater than 1 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL step-end easing with input progress greater than 2 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL step-start easing with input progress less than 0 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL step-start easing with input progress less than -1 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+FAIL step-end easing with input progress less than 0 target.animate is not a function. (In 'target.animate', 'target.animate' is undefined)
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1steptimingfunctionsoutputhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,141 @@
</span><ins>+<!DOCTYPE html>
+<meta charset=utf-8>
+<meta name="assert"
+content="This test checks the output of step timing functions" />
+<title>Tests for the output of step timing functions</title>
+<link rel="help"
+href="https://drafts.csswg.org/css-timing/#step-timing-functions">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="testcommon.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'step-start' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, 1.5, 1, 1.5)' });
+
+ // The bezier function produces values greater than 1 (but always less than 2)
+ // in (0.23368794, 1)
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '100px');
+ anim.currentTime = 230;
+ assert_equals(getComputedStyle(target).left, '100px');
+ anim.currentTime = 250;
+ assert_equals(getComputedStyle(target).left, '200px');
+ anim.currentTime = 1000;
+ assert_equals(getComputedStyle(target).left, '100px');
+}, 'step-start easing with input progress greater than 1');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'step-end' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, 1.5, 1, 1.5)' });
+
+ // The bezier function produces values greater than 1 (but always less than 2)
+ // in (0.23368794, 1)
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 230;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 250;
+ assert_equals(getComputedStyle(target).left, '100px');
+ anim.currentTime = 1000;
+ assert_equals(getComputedStyle(target).left, '100px');
+}, 'step-end easing with input progress greater than 1');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'step-end' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, 3, 1, 3)' });
+
+ // The bezier function produces values greater than 2 (but always less than 3)
+ // in the range (~0.245, ~0.882)
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 500;
+ assert_equals(getComputedStyle(target).left, '200px');
+ anim.currentTime = 900;
+ assert_equals(getComputedStyle(target).left, '100px');
+}, 'step-end easing with input progress greater than 2');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'step-start' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, -0.5, 1, -0.5)' });
+
+ // The bezier function produces negative values (but always greater than -1)
+ // in (0, 0.766312060)
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '100px');
+ anim.currentTime = 750;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 800;
+ assert_equals(getComputedStyle(target).left, '100px');
+ anim.currentTime = 1000;
+ assert_equals(getComputedStyle(target).left, '100px');
+}, 'step-start easing with input progress less than 0');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'step-start' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, -2, 1, -2)' });
+
+ // The bezier function produces values less than -1 (but always greater than
+ // -2) in the range (~0.118, ~0.755)
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '100px');
+ anim.currentTime = 100;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 500;
+ assert_equals(getComputedStyle(target).left, '-100px');
+ anim.currentTime = 1000;
+ assert_equals(getComputedStyle(target).left, '100px');
+}, 'step-start easing with input progress less than -1');
+
+test(function(t) {
+ var target = createDiv(t);
+ target.style.position = 'absolute';
+ var anim = target.animate([ { left: '0px', easing: 'step-end' },
+ { left: '100px' } ],
+ { duration: 1000,
+ fill: 'forwards',
+ easing: 'cubic-bezier(0, -0.5, 1, -0.5)' });
+
+ // The bezier function produces negative values (but always greater than -1)
+ // in (0, 0.766312060)
+ anim.currentTime = 0;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 750;
+ assert_equals(getComputedStyle(target).left, '-100px');
+ anim.currentTime = 800;
+ assert_equals(getComputedStyle(target).left, '0px');
+ anim.currentTime = 1000;
+ assert_equals(getComputedStyle(target).left, '100px');
+}, 'step-end easing with input progress less than 0');
+
+</script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1testcommonjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/testcommon.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/testcommon.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/testcommon.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,65 @@
</span><ins>+'use strict';
+
+// Creates a <div> element, appends it to the document body and
+// removes the created element during test cleanup.
+function createDiv(test, doc) {
+ return createElement(test, 'div', doc);
+}
+
+// Creates an element with the given |tagName|, appends it to the document body
+// and removes the created element during test cleanup.
+// If |tagName| is null or undefined, creates a <div> element.
+function createElement(test, tagName, doc) {
+ if (!doc) {
+ doc = document;
+ }
+ var element = doc.createElement(tagName || 'div');
+ doc.body.appendChild(element);
+ test.add_cleanup(function() {
+ element.remove();
+ });
+ return element;
+}
+
+// Convert px unit value to a Number
+function pxToNum(str) {
+ return Number(String(str).match(/^(-?[\d.]+)px$/)[1]);
+}
+
+// Cubic bezier with control points (0, 0), (x1, y1), (x2, y2), and (1, 1).
+function cubicBezier(x1, y1, x2, y2) {
+ function xForT(t) {
+ var omt = 1-t;
+ return 3 * omt * omt * t * x1 + 3 * omt * t * t * x2 + t * t * t;
+ }
+
+ function yForT(t) {
+ var omt = 1-t;
+ return 3 * omt * omt * t * y1 + 3 * omt * t * t * y2 + t * t * t;
+ }
+
+ function tForX(x) {
+ // Binary subdivision.
+ var mint = 0, maxt = 1;
+ for (var i = 0; i < 30; ++i) {
+ var guesst = (mint + maxt) / 2;
+ var guessx = xForT(guesst);
+ if (x < guessx) {
+ maxt = guesst;
+ } else {
+ mint = guesst;
+ }
+ }
+ return (mint + maxt) / 2;
+ }
+
+ return function bezierClosure(x) {
+ if (x == 0) {
+ return 0;
+ }
+ if (x == 1) {
+ return 1;
+ }
+ return yForT(tForX(x));
+ }
+}
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestscsstiming1w3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+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/css-timing-1/OWNERS
+/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/cubic-bezier-timing-functions-output.html
+/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html
+/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax.html
+/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/step-timing-functions-output.html
+/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/testcommon.js
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomeventsEventTargetdispatchEventexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -22,7 +22,6 @@
</span><span class="cx"> PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (MouseEvents).
</span><span class="cx"> FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (PageTransitionEvent). The operation is not supported.
</span><span class="cx"> PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (PopStateEvent).
</span><del>-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (ProgressEvent). The operation is not supported.
</del><span class="cx"> PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (StorageEvent).
</span><span class="cx"> FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (SVGEvents). The operation is not supported.
</span><span class="cx"> PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (TextEvent).
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomlistsDOMTokenListiterationexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +1,8 @@
</span><span class="cx">
</span><del>-PASS DOMTokenList iteration: keys, values, etc.
</del><ins>+PASS classList
+PASS classList.keys
+PASS classList.values
+PASS classList.entries
+PASS classList.forEach
+PASS classList inheritance from Array.prototype
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomlistsDOMTokenListiterationhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -5,46 +5,67 @@
</span><span class="cx"> <script src=/resources/testharnessreport.js></script>
</span><span class="cx"> <span class=" a a b "></span>
</span><span class="cx"> <script>
</span><del>- test(function() {
</del><ins>+ test(() => {
</ins><span class="cx"> var list = document.querySelector("span").classList;
</span><span class="cx"> assert_array_equals([...list], ["a", "b"]);
</span><ins>+ }, "classList");
</ins><span class="cx">
</span><del>- var keys = list.keys();
- assert_false(keys instanceof Array);
</del><ins>+ test(() => {
+ var keys = document.querySelector("span").classList.keys();
+ assert_false(keys instanceof Array, "must not be Array");
</ins><span class="cx"> keys = [...keys];
</span><span class="cx"> assert_array_equals(keys, [0, 1]);
</span><ins>+ }, "classList.keys");
</ins><span class="cx">
</span><del>- var values = list.values();
- assert_false(values instanceof Array);
</del><ins>+ test(() => {
+ var values = document.querySelector("span").classList.values();
+ assert_false(values instanceof Array, "must not be Array");
</ins><span class="cx"> values = [...values];
</span><span class="cx"> assert_array_equals(values, ["a", "b"]);
</span><ins>+ }, "classList.values");
</ins><span class="cx">
</span><del>- var entries = list.entries();
- assert_false(entries instanceof Array);
</del><ins>+ test(() => {
+ var entries = document.querySelector("span").classList.entries();
+ assert_false(entries instanceof Array, "must not be Array");
</ins><span class="cx"> entries = [...entries];
</span><del>- assert_equals(entries.length, keys.length);
- assert_equals(entries.length, values.length);
</del><ins>+ var keys = [...document.querySelector("span").classList.keys()];
+ var values = [...document.querySelector("span").classList.values()];
+ assert_equals(entries.length, keys.length, "entries.length == keys.length");
+ assert_equals(entries.length, values.length,
+ "entries.length == values.length");
</ins><span class="cx"> for (var i = 0; i < entries.length; ++i) {
</span><del>- assert_array_equals(entries[i], [keys[i], values[i]]);
</del><ins>+ assert_array_equals(entries[i], [keys[i], values[i]],
+ "entries[" + i + "]");
</ins><span class="cx"> }
</span><ins>+ }, "classList.entries");
</ins><span class="cx">
</span><ins>+ test(() => {
+ var list = document.querySelector("span").classList;
+ var values = [...list.values()];
+ var keys = [...list.keys()];
+ var entries = [...list.entries()];
+
</ins><span class="cx"> var cur = 0;
</span><span class="cx"> var thisObj = {};
</span><span class="cx"> list.forEach(function(value, key, listObj) {
</span><del>- assert_equals(listObj, list);
- assert_equals(this, thisObj);
- assert_equals(value, values[cur]);
- assert_equals(key, keys[cur]);
</del><ins>+ assert_equals(listObj, list, "Entry " + cur + " listObj");
+ assert_equals(this, thisObj, "Entry " + cur + " this");
+ assert_equals(value, values[cur], "Entry " + cur + " value");
+ assert_equals(key, keys[cur], "Entry " + cur + " key");
</ins><span class="cx"> cur++;
</span><span class="cx"> }, thisObj);
</span><del>- assert_equals(cur, entries.length);
</del><ins>+ assert_equals(cur, entries.length, "length");
+ }, "classList.forEach");
</ins><span class="cx">
</span><del>- assert_equals(list[Symbol.iterator], Array.prototype[Symbol.iterator]);
- assert_equals(list.keys, Array.prototype.keys);
</del><ins>+ test(() => {
+ var list = document.querySelector("span").classList;
+ assert_equals(list[Symbol.iterator], Array.prototype[Symbol.iterator],
+ "[Symbol.iterator]");
+ assert_equals(list.keys, Array.prototype.keys, ".keys");
</ins><span class="cx"> if (Array.prototype.values) {
</span><del>- assert_equals(list.values, Array.prototype.values);
</del><ins>+ assert_equals(list.values, Array.prototype.values, ".values");
</ins><span class="cx"> }
</span><del>- assert_equals(list.entries, Array.prototype.entries);
- assert_equals(list.forEach, Array.prototype.forEach);
- });
</del><ins>+ assert_equals(list.entries, Array.prototype.entries, ".entries");
+ assert_equals(list.forEach, Array.prototype.forEach, ".forEach");
+ }, "classList inheritance from Array.prototype");
</ins><span class="cx"> </script>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomlistsREADMEmd"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/README.md (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/README.md         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/README.md        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+See `../nodes/Element-classlist.html` for more DOMTokenList tests.
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomlistsw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/lists/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -20,3 +20,4 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-iteration.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-stringifier.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/dom/lists/DOMTokenList-value.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/dom/lists/README.md
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomnodesDocumentcreateEventexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -143,13 +143,6 @@
</span><span class="cx"> PASS POPSTATEEVENT should be an alias for PopStateEvent.
</span><span class="cx"> PASS createEvent('POPSTATEEVENT') should be initialized correctly.
</span><span class="cx"> PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "PopStateEvents"
</span><del>-FAIL ProgressEvent should be an alias for ProgressEvent. The operation is not supported.
-FAIL createEvent('ProgressEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL progressevent should be an alias for ProgressEvent. The operation is not supported.
-FAIL createEvent('progressevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL PROGRESSEVENT should be an alias for ProgressEvent. The operation is not supported.
-FAIL createEvent('PROGRESSEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "ProgressEvents"
</del><span class="cx"> PASS StorageEvent should be an alias for StorageEvent.
</span><span class="cx"> PASS createEvent('StorageEvent') should be initialized correctly.
</span><span class="cx"> PASS storageevent should be an alias for StorageEvent.
</span><span class="lines">@@ -298,6 +291,8 @@
</span><span class="cx"> PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PresentationConnectionAvailableEvents"
</span><span class="cx"> PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PresentationConnectionCloseEvent"
</span><span class="cx"> PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PresentationConnectionCloseEvents"
</span><ins>+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "ProgressEvent"
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "ProgressEvents"
</ins><span class="cx"> PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PromiseRejectionEvent"
</span><span class="cx"> PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PromiseRejectionEvents"
</span><span class="cx"> PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PushEvent"
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomnodesDocumentcreateEventhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -109,6 +109,7 @@
</span><span class="cx"> "PopUpEvent",
</span><span class="cx"> "PresentationConnectionAvailableEvent",
</span><span class="cx"> "PresentationConnectionCloseEvent",
</span><ins>+ "ProgressEvent",
</ins><span class="cx"> "PromiseRejectionEvent",
</span><span class="cx"> "PushEvent",
</span><span class="cx"> "RTCDTMFToneChangeEvent",
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsdomnodesDocumentcreateEventjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -20,7 +20,6 @@
</span><span class="cx"> "MouseEvents": "MouseEvent",
</span><span class="cx"> "PageTransitionEvent": "PageTransitionEvent",
</span><span class="cx"> "PopStateEvent": "PopStateEvent",
</span><del>- "ProgressEvent": "ProgressEvent",
</del><span class="cx"> "StorageEvent": "StorageEvent",
</span><span class="cx"> "SVGEvents": "Event",
</span><span class="cx"> "TextEvent": "CompositionEvent",
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsencryptedmediacontentcontentmetadatajs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/content-metadata.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/content-metadata.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/content-metadata.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -81,29 +81,6 @@
</span><span class="cx"> initDataType: 'cenc',
</span><span class="cx"> initData: 'AAAAjXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAG0IARIQ7nNWTsiokPB472hx+kvhixoIY2FzdGxhYnMiRGV5SmhjM05sZEVsa0lqb2laVzFsTFhSbGMzUXRNbk5sYzNOcGIyNGlMQ0oyWVhKcFlXNTBTV1FpT2lKclpYa3lJbjA9MgdkZWZhdWx0AAADwnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAA6KiAwAAAQABAJgDPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBUAGwAWgB6ADcAcQBqAEkAOABKAEIANAA3ADIAaAB4ACsAawB2AGgAaQB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AcwB0AGEAZwBpAG4AZwAuAGQAcgBtAHQAbwBkAGEAeQAuAGMAbwBtAC8AbABpAGMAZQBuAHMAZQAtAHAAcgBvAH
gAeQAtAGgAZQBhAGQAZQByAGEAdQB0AGgALwBkAHIAbQB0AG8AZABhAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AbABpAGMALgBzAHQAYQBnAGkAbgBnAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAFUASQBfAFUAUgBMAD4APABDAEgARQBDAEsAUwBVAE0APgB4AEQASwBBAFkAMAB2AFoAaABVAFUAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=' } ] },
</span><span class="cx">
</span><del>- 'mp4-basic-key1' : { assetId: 'mp4-multikey-sequential',
- variantId: 'key1',
- initDataType: 'cenc',
- audio: { type: 'audio/mp4;codecs="mp4a.40.2"',
- path: '/encrypted-media/content/audio_aac-lc_128k_dashinit.mp4' },
- video: { type: 'video/mp4;codecs="avc1.4d401e"',
- path: '/encrypted-media/content/video_512x288_h264-360k_multikey_key1_dashinit.mp4' },
- keys: [ { kid: [0x8a, 0x0d, 0x85, 0x45, 0x21, 0x05, 0xd4, 0x15, 0x35, 0x8f, 0xea, 0x8f, 0x68, 0xe6, 0xc1, 0x91],
- key: [0x76, 0x6f, 0xab, 0xc1, 0x68, 0x3f, 0xf8, 0xef, 0x4e, 0x76, 0x00, 0x24, 0xc5, 0x23, 0x8f, 0x10],
- initDataType: 'cenc',
- initData: 'AAAAlXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHUIARIQig2FRSEF1BU1j+qPaObBkRoIY2FzdGxhYnMiTGV5SmhjM05sZEVsa0lqb2liWEEwTFcxMWJIUnBhMlY1TFhObGNYVmxiblJwWVd3aUxDSjJZWEpwWVc1MFNXUWlPaUpyWlhreEluMD0yB2RlZmF1bHQAAANYcHNzaAAAAACaBPB5mEBChquS5lvgiF+VAAADODgDAAABAAEALgM8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAwAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEUAWQBMAEUATgA+ADEANgA8AC8ASwBFAFkATABFAE4APgA8AEEATABHAEkARAA+AEEARQBTAEMAVABSADwALwBBAEwARwBJAEQAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARAA+AFIAWQBVAE4AaQBnAFUAaABGAGQAUQAxAGoAKwBxAFAAYQBPAGIAQgBrAFEAPQA9ADwALwBLAEkARAA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AbABpAGMALgBzAHQAYQBnAGkAbgBnAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC
0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AcQBOAEkAZQBiAFQAWABzAG8AcgBnAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A' } ]
- },
- 'mp4-basic-key2' : { assetId: 'mp4-multikey-sequential',
- variantId: 'key2',
- initDataType: 'cenc',
- audio: { type: 'audio/mp4;codecs="mp4a.40.2"',
- path: '/encrypted-media/content/audio_aac-lc_128k_dashinit.mp4' },
- video: { type: 'video/mp4;codecs="avc1.4d401e"',
- path: '/encrypted-media/content/video_512x288_h264-360k_multikey_key2_dashinit.mp4' },
- keys: [ { kid: [0xfb, 0xb4, 0xb7, 0xf3, 0x4a, 0xbd, 0x31, 0x87, 0x34, 0x4b, 0xce, 0xc4, 0x5f, 0x96, 0x68, 0x88],
- key: [0x26, 0x52, 0xc3, 0x1d, 0xf7, 0x92, 0xd1, 0x7b, 0x08, 0xa6, 0xfa, 0xd3, 0x7c, 0xb6, 0x25, 0x60],
- initDataType: 'cenc',
- initData: 'AAAAlXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAHUIARIQ+7S380q9MYc0S87EX5ZoiBoIY2FzdGxhYnMiTGV5SmhjM05sZEVsa0lqb2liWEEwTFcxMWJIUnBhMlY1TFhObGNYVmxiblJwWVd3aUxDSjJZWEpwWVc1MFNXUWlPaUpyWlhreUluMD0yB2RlZmF1bHQAAANYcHNzaAAAAACaBPB5mEBChquS5lvgiF+VAAADODgDAAABAAEALgM8AFcAUgBNAEgARQBBAEQARQBSACAAeABtAGwAbgBzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8ARABSAE0ALwAyADAAMAA3AC8AMAAzAC8AUABsAGEAeQBSAGUAYQBkAHkASABlAGEAZABlAHIAIgAgAHYAZQByAHMAaQBvAG4APQAiADQALgAwAC4AMAAuADAAIgA+ADwARABBAFQAQQA+ADwAUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEUAWQBMAEUATgA+ADEANgA8AC8ASwBFAFkATABFAE4APgA8AEEATABHAEkARAA+AEEARQBTAEMAVABSADwALwBBAEwARwBJAEQAPgA8AC8AUABSAE8AVABFAEMAVABJAE4ARgBPAD4APABLAEkARAA+ADgANwBlADAAKwA3ADEASwBoAHoARQAwAFMAOAA3AEUAWAA1AFoAbwBpAEEAPQA9ADwALwBLAEkARAA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AbABpAGMALgBzAHQAYQBnAGkAbgBnAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC
0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4ARgB0AGkASQBoADYAUwBKAG0AcABZAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A' } ] },
</del><span class="cx">
</span><span class="cx"> 'mp4-multikey-sequential' : { assetId: 'mp4-multikey-sequential',
</span><span class="cx"> initDataType: 'cenc',
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsencryptedmediacontentw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -26,5 +26,3 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/video_512x288_h264-360k_enc_clear_dashinit.mp4
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/video_512x288_h264-360k_enc_dashinit.mp4
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/video_512x288_h264-360k_multikey_dashinit.mp4
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/video_512x288_h264-360k_multikey_key1_dashinit.mp4
-/LayoutTests/imported/w3c/web-platform-tests/encrypted-media/content/video_512x288_h264-360k_multikey_key2_dashinit.mp4
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchOWNERS"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/OWNERS (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/OWNERS        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/OWNERS        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +1,4 @@
</span><span class="cx"> @jdm
</span><span class="cx"> @youennf
</span><span class="cx"> @annevk
</span><ins>+@mnot
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,6 +0,0 @@
</span><del>-
-PASS Request through fetch should have 'accept' header with value '*/*'
-PASS Request through fetch should have 'accept' header with value 'custom/*'
-PASS Request through fetch should have a 'accept-language' header
-PASS Request through fetch should have 'accept-language' header with value 'bzh'
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,6 +0,0 @@
</span><del>-
-PASS Request through fetch should have 'accept' header with value '*/*'
-PASS Request through fetch should have 'accept' header with value 'custom/*'
-PASS Request through fetch should have a 'accept-language' header
-PASS Request through fetch should have 'accept-language' header with value 'bzh'
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: accept header</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#fetching">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("accept-header.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+
+FAIL Request through fetch should have 'accept' header with value '*/*' Can't find variable: RESOURCES_DIR
+FAIL Request through fetch should have 'accept' header with value 'custom/*' Can't find variable: RESOURCES_DIR
+FAIL Request through fetch should have a 'accept-language' header Can't find variable: RESOURCES_DIR
+FAIL Request through fetch should have 'accept-language' header with value 'bzh' Can't find variable: RESOURCES_DIR
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// META: script=../resources/utils.js
+
+promise_test(function() {
+ return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept").then(function(response) {
+ assert_equals(response.status, 200, "HTTP status is 200");
+ assert_equals(response.type , "basic", "Response's type is basic");
+ assert_equals(response.headers.get("x-request-accept"), "*/*", "Request has accept header with value '*/*'");
+ });
+}, "Request through fetch should have 'accept' header with value '*/*'");
+
+promise_test(function() {
+ return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept", {"headers": [["Accept", "custom/*"]]}).then(function(response) {
+ assert_equals(response.status, 200, "HTTP status is 200");
+ assert_equals(response.type , "basic", "Response's type is basic");
+ assert_equals(response.headers.get("x-request-accept"), "custom/*", "Request has accept header with value 'custom/*'");
+ });
+}, "Request through fetch should have 'accept' header with value 'custom/*'");
+
+promise_test(function() {
+ return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept-Language").then(function(response) {
+ assert_equals(response.status, 200, "HTTP status is 200");
+ assert_equals(response.type , "basic", "Response's type is basic");
+ assert_true(response.headers.has("x-request-accept-language"));
+ });
+}, "Request through fetch should have a 'accept-language' header");
+
+promise_test(function() {
+ return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept-Language", {"headers": [["Accept-Language", "bzh"]]}).then(function(response) {
+ assert_equals(response.status, 200, "HTTP status is 200");
+ assert_equals(response.type , "basic", "Response's type is basic");
+ assert_equals(response.headers.get("x-request-accept-language"), "bzh", "Request has accept header with value 'bzh'");
+ });
+}, "Request through fetch should have 'accept-language' header with value 'bzh'");
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,15 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: accept header</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#fetching">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="accept-header.js"></script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,38 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept").then(function(response) {
- assert_equals(response.status, 200, "HTTP status is 200");
- assert_equals(response.type , "basic", "Response's type is basic");
- assert_equals(response.headers.get("x-request-accept"), "*/*", "Request has accept header with value '*/*'");
- });
-}, "Request through fetch should have 'accept' header with value '*/*'");
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept", {"headers": [["Accept", "custom/*"]]}).then(function(response) {
- assert_equals(response.status, 200, "HTTP status is 200");
- assert_equals(response.type , "basic", "Response's type is basic");
- assert_equals(response.headers.get("x-request-accept"), "custom/*", "Request has accept header with value 'custom/*'");
- });
-}, "Request through fetch should have 'accept' header with value 'custom/*'");
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept-Language").then(function(response) {
- assert_equals(response.status, 200, "HTTP status is 200");
- assert_equals(response.type , "basic", "Response's type is basic");
- assert_true(response.headers.has("x-request-accept-language"));
- });
-}, "Request through fetch should have a 'accept-language' header");
-
-promise_test(function() {
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=Accept-Language", {"headers": [["Accept-Language", "bzh"]]}).then(function(response) {
- assert_equals(response.status, 200, "HTTP status is 200");
- assert_equals(response.type , "basic", "Response's type is basic");
- assert_equals(response.headers.get("x-request-accept-language"), "bzh", "Request has accept header with value 'bzh'");
- });
-}, "Request through fetch should have 'accept-language' header with value 'bzh'");
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicacceptheaderworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-CONSOLE MESSAGE: line 1: Fetch API cannot load https://localhost:9443/fetch/api/resources/top.txt. Cross origin requests are not allowed when using same-origin fetch mode.
-CONSOLE MESSAGE: line 1: Fetch API cannot load http://127.0.0.1:8800/fetch/api/resources/top.txt. Cross origin requests are not allowed when using same-origin fetch mode.
-CONSOLE MESSAGE: Unsafe attempt to load URL https://localhost:9443/fetch/api/resources/top.txt?location=https%3A%2F%2Flocalhost%3A9443%2Ffetch%2Fapi%2Fresources%2Ftop.txt&count=1 from frame with URL http://localhost:8800/fetch/api/basic/mode-same-origin.html. Domains, protocols and ports must match.
-
-CONSOLE MESSAGE: Unsafe attempt to load URL http://127.0.0.1:8800/fetch/api/resources/top.txt?location=http%3A%2F%2F127.0.0.1%3A8800%2Ffetch%2Fapi%2Fresources%2Ftop.txt&count=1 from frame with URL http://localhost:8800/fetch/api/basic/mode-same-origin.html. Domains, protocols and ports must match.
-
-
-PASS Fetch ../resources/top.txt with same-origin mode
-PASS Fetch http://localhost:8800/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch https://localhost:9443/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch http://127.0.0.1:8800/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch /fetch/api/basic/../resources/redirect.py?location=../resources/top.txt with same-origin mode
-PASS Fetch /fetch/api/basic/../resources/redirect.py?location=http://localhost:8800/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch /fetch/api/basic/../resources/redirect.py?location=https://localhost:9443/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch /fetch/api/basic/../resources/redirect.py?location=http://127.0.0.1:8800/fetch/api/resources/top.txt with same-origin mode
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-CONSOLE MESSAGE: Unsafe attempt to load URL https://localhost:9443/fetch/api/resources/top.txt?location=https%3A%2F%2Flocalhost%3A9443%2Ffetch%2Fapi%2Fresources%2Ftop.txt&count=1 from frame with URL http://localhost:8800/fetch/api/basic/mode-same-origin-worker.html. Domains, protocols and ports must match.
-
-CONSOLE MESSAGE: Unsafe attempt to load URL http://127.0.0.1:8800/fetch/api/resources/top.txt?location=http%3A%2F%2F127.0.0.1%3A8800%2Ffetch%2Fapi%2Fresources%2Ftop.txt&count=1 from frame with URL http://localhost:8800/fetch/api/basic/mode-same-origin-worker.html. Domains, protocols and ports must match.
-
-
-PASS Fetch ../resources/top.txt with same-origin mode
-PASS Fetch http://localhost:8800/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch https://localhost:9443/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch http://127.0.0.1:8800/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch /fetch/api/basic/../resources/redirect.py?location=../resources/top.txt with same-origin mode
-PASS Fetch /fetch/api/basic/../resources/redirect.py?location=http://localhost:8800/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch /fetch/api/basic/../resources/redirect.py?location=https://localhost:9443/fetch/api/resources/top.txt with same-origin mode
-PASS Fetch /fetch/api/basic/../resources/redirect.py?location=http://127.0.0.1:8800/fetch/api/resources/top.txt with same-origin mode
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: same-origin mode</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("mode-same-origin.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 16: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function fetchSameOrigin(url, shouldPass) {
+ promise_test(function(test) {
+ if (shouldPass)
+ return fetch(url , {"mode": "same-origin"}).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.type, "basic", "response type is basic");
+ });
+ else
+ return promise_rejects(test, new TypeError, fetch(url, {mode: "same-origin"}));
+ }, "Fetch "+ url + " with same-origin mode");
+}
+
+var host_info = get_host_info();
+
+fetchSameOrigin(RESOURCES_DIR + "top.txt", true);
+fetchSameOrigin(host_info.HTTP_ORIGIN + "/fetch/api/resources/top.txt", true);
+fetchSameOrigin(host_info.HTTPS_ORIGIN + "/fetch/api/resources/top.txt", false);
+fetchSameOrigin(host_info.HTTP_REMOTE_ORIGIN + "/fetch/api/resources/top.txt", false);
+
+var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py?location=";
+
+fetchSameOrigin(redirPath + RESOURCES_DIR + "top.txt", true);
+fetchSameOrigin(redirPath + host_info.HTTP_ORIGIN + "/fetch/api/resources/top.txt", true);
+fetchSameOrigin(redirPath + host_info.HTTPS_ORIGIN + "/fetch/api/resources/top.txt", false);
+fetchSameOrigin(redirPath + host_info.HTTP_REMOTE_ORIGIN + "/fetch/api/resources/top.txt", false);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: same-origin mode</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="mode-same-origin.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function fetchSameOrigin(url, shouldPass) {
- promise_test(function(test) {
- if (shouldPass)
- return fetch(url , {"mode": "same-origin"}).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type, "basic", "response type is basic");
- });
- else
- return promise_rejects(test, new TypeError, fetch(url, {mode: "same-origin"}));
- }, "Fetch "+ url + " with same-origin mode");
-}
-
-var host_info = get_host_info();
-
-fetchSameOrigin(RESOURCES_DIR + "top.txt", true);
-fetchSameOrigin(host_info.HTTP_ORIGIN + "/fetch/api/resources/top.txt", true);
-fetchSameOrigin(host_info.HTTPS_ORIGIN + "/fetch/api/resources/top.txt", false);
-fetchSameOrigin(host_info.HTTP_REMOTE_ORIGIN + "/fetch/api/resources/top.txt", false);
-
-var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py?location=";
-
-fetchSameOrigin(redirPath + RESOURCES_DIR + "top.txt", true);
-fetchSameOrigin(redirPath + host_info.HTTP_ORIGIN + "/fetch/api/resources/top.txt", true);
-fetchSameOrigin(redirPath + host_info.HTTPS_ORIGIN + "/fetch/api/resources/top.txt", false);
-fetchSameOrigin(redirPath + host_info.HTTP_REMOTE_ORIGIN + "/fetch/api/resources/top.txt", false);
-
-done();
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicmodesameoriginworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,8 +0,0 @@
</span><del>-
-PASS origin-when-cross-origin policy on a same-origin URL
-PASS origin-when-cross-origin policy on a cross-origin URL
-FAIL origin-when-cross-origin policy on a cross-origin URL after same-origin redirection assert_equals: Request's referrer is correct expected (string) "http://localhost:8800/" but got (object) null
-PASS origin-when-cross-origin policy on a same-origin URL after cross-origin redirection
-PASS Referrer with credentials should be stripped
-PASS Referrer with fragment ID should be stripped
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,8 +0,0 @@
</span><del>-
-PASS origin-when-cross-origin policy on a same-origin URL
-PASS origin-when-cross-origin policy on a cross-origin URL
-FAIL origin-when-cross-origin policy on a cross-origin URL after same-origin redirection assert_equals: Request's referrer is correct expected (string) "http://localhost:8800/" but got (object) null
-PASS origin-when-cross-origin policy on a same-origin URL after cross-origin redirection
-PASS Referrer with credentials should be stripped
-PASS Referrer with fragment ID should be stripped
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: same-origin mode</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("referrer.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferreranyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 15: ReferenceError: Can't find variable: RESOURCES_DIR
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: RESOURCES_DIR
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferreranyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferreranyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function runTest(url, init, expectedReferrer, title) {
+ promise_test(function(test) {
+ url += (url.indexOf('?') !== -1 ? '&' : '?') + "headers=referer&cors";
+
+ return fetch(url , init).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.headers.get("x-request-referer"), expectedReferrer, "Request's referrer is correct");
+ });
+ }, title);
+}
+
+var fetchedUrl = RESOURCES_DIR + "inspect-headers.py";
+var corsFetchedUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py";
+var redirectUrl = RESOURCES_DIR + "redirect.py?location=" ;
+var corsRedirectUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "redirect.py?location=";
+
+runTest(fetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, location.toString(), "origin-when-cross-origin policy on a same-origin URL");
+runTest(corsFetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a cross-origin URL");
+runTest(redirectUrl + corsFetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a cross-origin URL after same-origin redirection");
+runTest(corsRedirectUrl + fetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a same-origin URL after cross-origin redirection");
+
+
+var referrerUrlWithCredentials = get_host_info().HTTP_ORIGIN.replace("http://", "http://username:password@");
+runTest(fetchedUrl, {referrer: referrerUrlWithCredentials}, get_host_info().HTTP_ORIGIN + "/", "Referrer with credentials should be stripped");
+var referrerUrlWithFragmentIdentifier = get_host_info().HTTP_ORIGIN + "#fragmentIdentifier";
+runTest(fetchedUrl, {referrer: referrerUrlWithFragmentIdentifier}, get_host_info().HTTP_ORIGIN + "/", "Referrer with fragment ID should be stripped");
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: same-origin mode</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="referrer.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function runTest(url, init, expectedReferrer, title) {
- promise_test(function(test) {
- url += (url.indexOf('?') !== -1 ? '&' : '?') + "headers=referer&cors";
-
- return fetch(url , init).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.headers.get("x-request-referer"), expectedReferrer, "Request's referrer is correct");
- });
- }, title);
-}
-
-var fetchedUrl = RESOURCES_DIR + "inspect-headers.py";
-var corsFetchedUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py";
-var redirectUrl = RESOURCES_DIR + "redirect.py?location=" ;
-var corsRedirectUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "redirect.py?location=";
-
-runTest(fetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, location.toString(), "origin-when-cross-origin policy on a same-origin URL");
-runTest(corsFetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a cross-origin URL");
-runTest(redirectUrl + corsFetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a cross-origin URL after same-origin redirection");
-runTest(corsRedirectUrl + fetchedUrl, { referrerPolicy: "origin-when-cross-origin"}, get_host_info().HTTP_ORIGIN + "/", "origin-when-cross-origin policy on a same-origin URL after cross-origin redirection");
-
-
-var referrerUrlWithCredentials = get_host_info().HTTP_ORIGIN.replace("http://", "http://username:password@");
-runTest(fetchedUrl, {referrer: referrerUrlWithCredentials}, get_host_info().HTTP_ORIGIN + "/", "Referrer with credentials should be stripped");
-var referrerUrlWithFragmentIdentifier = get_host_info().HTTP_ORIGIN + "#fragmentIdentifier";
-runTest(fetchedUrl, {referrer: referrerUrlWithFragmentIdentifier}, get_host_info().HTTP_ORIGIN + "/", "Referrer with fragment ID should be stripped");
-
-done();
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicreferrerworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,26 +0,0 @@
</span><del>-
-PASS Accept-Charset is a forbidden request header
-PASS Accept-Encoding is a forbidden request header
-PASS Access-Control-Request-Headers is a forbidden request header
-PASS Access-Control-Request-Method is a forbidden request header
-PASS Connection is a forbidden request header
-PASS Content-Length is a forbidden request header
-PASS Cookie is a forbidden request header
-PASS Cookie2 is a forbidden request header
-PASS Date is a forbidden request header
-PASS DNT is a forbidden request header
-PASS Expect is a forbidden request header
-PASS Host is a forbidden request header
-PASS Keep-Alive is a forbidden request header
-PASS Origin is a forbidden request header
-PASS Referer is a forbidden request header
-PASS TE is a forbidden request header
-PASS Trailer is a forbidden request header
-PASS Transfer-Encoding is a forbidden request header
-PASS Upgrade is a forbidden request header
-PASS Via is a forbidden request header
-PASS Proxy- is a forbidden request header
-PASS Proxy-Test is a forbidden request header
-PASS Sec- is a forbidden request header
-PASS Sec-Test is a forbidden request header
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,26 +0,0 @@
</span><del>-
-PASS Accept-Charset is a forbidden request header
-PASS Accept-Encoding is a forbidden request header
-PASS Access-Control-Request-Headers is a forbidden request header
-PASS Access-Control-Request-Method is a forbidden request header
-PASS Connection is a forbidden request header
-PASS Content-Length is a forbidden request header
-PASS Cookie is a forbidden request header
-PASS Cookie2 is a forbidden request header
-PASS Date is a forbidden request header
-PASS DNT is a forbidden request header
-PASS Expect is a forbidden request header
-PASS Host is a forbidden request header
-PASS Keep-Alive is a forbidden request header
-PASS Origin is a forbidden request header
-PASS Referer is a forbidden request header
-PASS TE is a forbidden request header
-PASS Trailer is a forbidden request header
-PASS Transfer-Encoding is a forbidden request header
-PASS Upgrade is a forbidden request header
-PASS Via is a forbidden request header
-PASS Proxy- is a forbidden request header
-PASS Proxy-Test is a forbidden request header
-PASS Sec- is a forbidden request header
-PASS Sec-Test is a forbidden request header
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: forbidden request header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#forbidden-header-name">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("request-forbidden-headers.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 4: ReferenceError: Can't find variable: RESOURCES_DIR
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: RESOURCES_DIR
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+// META: script=../resources/utils.js
+
+function requestForbiddenHeaders(desc, forbiddenHeaders) {
+ var url = RESOURCES_DIR + "inspect-headers.py";
+ var requestInit = {"headers": forbiddenHeaders}
+ var urlParameters = "?headers=" + Object.keys(forbiddenHeaders).join("|");
+
+ promise_test(function(test){
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.type , "basic", "Response's type is basic");
+ for (var header in forbiddenHeaders)
+ assert_not_equals(resp.headers.get("x-request-" + header), forbiddenHeaders[header], header + " does not have the value we defined");
+ });
+ }, desc);
+}
+
+requestForbiddenHeaders("Accept-Charset is a forbidden request header", {"Accept-Charset": "utf-8"});
+requestForbiddenHeaders("Accept-Encoding is a forbidden request header", {"Accept-Encoding": ""});
+
+requestForbiddenHeaders("Access-Control-Request-Headers is a forbidden request header", {"Access-Control-Request-Headers": ""});
+requestForbiddenHeaders("Access-Control-Request-Method is a forbidden request header", {"Access-Control-Request-Method": ""});
+requestForbiddenHeaders("Connection is a forbidden request header", {"Connection": "close"});
+requestForbiddenHeaders("Content-Length is a forbidden request header", {"Content-Length": "42"});
+requestForbiddenHeaders("Cookie is a forbidden request header", {"Cookie": "cookie=none"});
+requestForbiddenHeaders("Cookie2 is a forbidden request header", {"Cookie2": "cookie2=none"});
+requestForbiddenHeaders("Date is a forbidden request header", {"Date": "Wed, 04 May 1988 22:22:22 GMT"});
+requestForbiddenHeaders("DNT is a forbidden request header", {"DNT": "4"});
+requestForbiddenHeaders("Expect is a forbidden request header", {"Expect": "100-continue"});
+requestForbiddenHeaders("Host is a forbidden request header", {"Host": "http://wrong-host.com"});
+requestForbiddenHeaders("Keep-Alive is a forbidden request header", {"Keep-Alive": "timeout=15"});
+requestForbiddenHeaders("Origin is a forbidden request header", {"Origin": "http://wrong-origin.com"});
+requestForbiddenHeaders("Referer is a forbidden request header", {"Referer": "http://wrong-referer.com"});
+requestForbiddenHeaders("TE is a forbidden request header", {"TE": "trailers"});
+requestForbiddenHeaders("Trailer is a forbidden request header", {"Trailer": "Accept"});
+requestForbiddenHeaders("Transfer-Encoding is a forbidden request header", {"Transfer-Encoding": "chunked"});
+requestForbiddenHeaders("Upgrade is a forbidden request header", {"Upgrade": "HTTP/2.0"});
+requestForbiddenHeaders("Via is a forbidden request header", {"Via": "1.1 nowhere.com"});
+requestForbiddenHeaders("Proxy- is a forbidden request header", {"Proxy-": "value"});
+requestForbiddenHeaders("Proxy-Test is a forbidden request header", {"Proxy-Test": "value"});
+requestForbiddenHeaders("Sec- is a forbidden request header", {"Sec-": "value"});
+requestForbiddenHeaders("Sec-Test is a forbidden request header", {"Sec-Test": "value"});
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadershtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: forbidden request header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#forbidden-header-name">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="request-forbidden-headers.js"></script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,48 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function requestForbiddenHeaders(desc, forbiddenHeaders) {
- var url = RESOURCES_DIR + "inspect-headers.py";
- var requestInit = {"headers": forbiddenHeaders}
- var urlParameters = "?headers=" + Object.keys(forbiddenHeaders).join("|");
-
- promise_test(function(test){
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- for (var header in forbiddenHeaders)
- assert_not_equals(resp.headers.get("x-request-" + header), forbiddenHeaders[header], header + " does not have the value we defined");
- });
- }, desc);
-}
-
-requestForbiddenHeaders("Accept-Charset is a forbidden request header", {"Accept-Charset": "utf-8"});
-requestForbiddenHeaders("Accept-Encoding is a forbidden request header", {"Accept-Encoding": ""});
-
-requestForbiddenHeaders("Access-Control-Request-Headers is a forbidden request header", {"Access-Control-Request-Headers": ""});
-requestForbiddenHeaders("Access-Control-Request-Method is a forbidden request header", {"Access-Control-Request-Method": ""});
-requestForbiddenHeaders("Connection is a forbidden request header", {"Connection": "close"});
-requestForbiddenHeaders("Content-Length is a forbidden request header", {"Content-Length": "42"});
-requestForbiddenHeaders("Cookie is a forbidden request header", {"Cookie": "cookie=none"});
-requestForbiddenHeaders("Cookie2 is a forbidden request header", {"Cookie2": "cookie2=none"});
-requestForbiddenHeaders("Date is a forbidden request header", {"Date": "Wed, 04 May 1988 22:22:22 GMT"});
-requestForbiddenHeaders("DNT is a forbidden request header", {"DNT": "4"});
-requestForbiddenHeaders("Expect is a forbidden request header", {"Expect": "100-continue"});
-requestForbiddenHeaders("Host is a forbidden request header", {"Host": "http://wrong-host.com"});
-requestForbiddenHeaders("Keep-Alive is a forbidden request header", {"Keep-Alive": "timeout=15"});
-requestForbiddenHeaders("Origin is a forbidden request header", {"Origin": "http://wrong-origin.com"});
-requestForbiddenHeaders("Referer is a forbidden request header", {"Referer": "http://wrong-referer.com"});
-requestForbiddenHeaders("TE is a forbidden request header", {"TE": "trailers"});
-requestForbiddenHeaders("Trailer is a forbidden request header", {"Trailer": "Accept"});
-requestForbiddenHeaders("Transfer-Encoding is a forbidden request header", {"Transfer-Encoding": "chunked"});
-requestForbiddenHeaders("Upgrade is a forbidden request header", {"Upgrade": "HTTP/2.0"});
-requestForbiddenHeaders("Via is a forbidden request header", {"Via": "1.1 nowhere.com"});
-requestForbiddenHeaders("Proxy- is a forbidden request header", {"Proxy-": "value"});
-requestForbiddenHeaders("Proxy-Test is a forbidden request header", {"Proxy-Test": "value"});
-requestForbiddenHeaders("Sec- is a forbidden request header", {"Sec-": "value"});
-requestForbiddenHeaders("Sec-Test is a forbidden request header", {"Sec-Test": "value"});
-
-done();
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestforbiddenheadersworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +0,0 @@
</span><del>-
-PASS Fetch with HEAD with body
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +0,0 @@
</span><del>-
-PASS Fetch with HEAD with body
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: HEAD method</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("request-head.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadanyexpectedtxtfromrev215162trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any-expected.txt (from rev 215162, trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker-expected.txt) (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Fetch with HEAD with body
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+promise_test(function(test) {
+ var requestInit = {"method": "HEAD", "body": "test"};
+ return promise_rejects(test, new TypeError(), fetch(".", requestInit));
+}, "Fetch with HEAD with body");
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: HEAD method</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="request-head.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
-}
-
-promise_test(function(test) {
- var requestInit = {"method": "HEAD", "body": "test"};
- return promise_rejects(test, new TypeError(), fetch(".", requestInit));
-}, "Fetch with HEAD with body");
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,26 +0,0 @@
</span><del>-
-PASS Fetch with GET
-FAIL Fetch with HEAD assert_equals: Request should have header content-length: null expected (object) null but got (string) "0"
-PASS Fetch with PUT without body
-PASS Fetch with PUT with body
-PASS Fetch with POST without body
-PASS Fetch with POST with text body
-PASS Fetch with POST with FormData body
-PASS Fetch with POST with URLSearchParams body
-FAIL Fetch with POST with Blob body assert_equals: Request should have header content-type: null expected (object) null but got (string) ""
-FAIL Fetch with POST with ArrayBuffer body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with Uint8Array body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with Int8Array body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with Float32Array body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with Float64Array body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with DataView body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-PASS Fetch with POST with Blob body with mime type
-FAIL Fetch with Chicken assert_equals: Request should have header content-length: null expected (object) null but got (string) "0"
-PASS Fetch with Chicken with body
-PASS Fetch with GET and mode "cors" does not need an Origin header
-PASS Fetch with POST and mode "same-origin" needs an Origin header
-PASS Fetch with POST and mode "no-cors" needs an Origin header
-PASS Fetch with PUT and mode "same-origin" needs an Origin header
-PASS Fetch with TacO and mode "same-origin" needs an Origin header
-PASS Fetch with TacO and mode "cors" needs an Origin header
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,26 +0,0 @@
</span><del>-
-PASS Fetch with GET
-FAIL Fetch with HEAD assert_equals: Request should have header content-length: null expected (object) null but got (string) "0"
-PASS Fetch with PUT without body
-PASS Fetch with PUT with body
-PASS Fetch with POST without body
-PASS Fetch with POST with text body
-FAIL Fetch with POST with FormData body Can't find variable: FormData
-PASS Fetch with POST with URLSearchParams body
-FAIL Fetch with POST with Blob body assert_equals: Request should have header content-type: null expected (object) null but got (string) ""
-FAIL Fetch with POST with ArrayBuffer body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with Uint8Array body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with Int8Array body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with Float32Array body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with Float64Array body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-FAIL Fetch with POST with DataView body assert_equals: Request should have header content-type: null expected (object) null but got (string) "application/x-www-form-urlencoded"
-PASS Fetch with POST with Blob body with mime type
-FAIL Fetch with Chicken assert_equals: Request should have header content-length: null expected (object) null but got (string) "0"
-PASS Fetch with Chicken with body
-PASS Fetch with GET and mode "cors" does not need an Origin header
-PASS Fetch with POST and mode "same-origin" needs an Origin header
-PASS Fetch with POST and mode "no-cors" needs an Origin header
-PASS Fetch with PUT and mode "same-origin" needs an Origin header
-PASS Fetch with TacO and mode "same-origin" needs an Origin header
-PASS Fetch with TacO and mode "cors" needs an Origin header
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: User agent add headers to request</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("request-headers.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 42: ReferenceError: Can't find variable: RESOURCES_DIR
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: RESOURCES_DIR
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,81 @@
</span><ins>+// META: script=../resources/utils.js
+
+function checkContentType(contentType, body)
+{
+ if (self.FormData && body instanceof self.FormData) {
+ assert_true(contentType.startsWith("multipart/form-data; boundary="), "Request should have header content-type starting with multipart/form-data; boundary=, but got " + contentType);
+ return;
+ }
+
+ var expectedContentType = "text/plain;charset=UTF-8";
+ if(body === null || body instanceof ArrayBuffer || body.buffer instanceof ArrayBuffer)
+ expectedContentType = null;
+ else if (body instanceof Blob)
+ expectedContentType = body.type ? body.type : null;
+ else if (body instanceof URLSearchParams)
+ expectedContentType = "application/x-www-form-urlencoded;charset=UTF-8";
+
+ assert_equals(contentType , expectedContentType, "Request should have header content-type: " + expectedContentType);
+}
+
+function requestHeaders(desc, url, method, body, expectedOrigin, expectedContentLength) {
+ var urlParameters = "?headers=origin|user-agent|accept-charset|content-length|content-type";
+ var requestInit = {"method": method}
+ promise_test(function(test){
+ if (typeof body === "function")
+ body = body();
+ if (body)
+ requestInit["body"] = body;
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.type , "basic", "Response's type is basic");
+ assert_true(resp.headers.has("x-request-user-agent"), "Request has header user-agent");
+ assert_false(resp.headers.has("accept-charset"), "Request has header accept-charset");
+ assert_equals(resp.headers.get("x-request-origin") , expectedOrigin, "Request should have header origin: " + expectedOrigin);
+ if (expectedContentLength !== undefined)
+ assert_equals(resp.headers.get("x-request-content-length") , expectedContentLength, "Request should have header content-length: " + expectedContentLength);
+ checkContentType(resp.headers.get("x-request-content-type"), body);
+ });
+ }, desc);
+}
+
+var url = RESOURCES_DIR + "inspect-headers.py"
+
+requestHeaders("Fetch with GET", url, "GET", null, null, null);
+requestHeaders("Fetch with HEAD", url, "HEAD", null, null, null);
+requestHeaders("Fetch with PUT without body", url, "POST", null, location.origin, "0");
+requestHeaders("Fetch with PUT with body", url, "PUT", "Request's body", location.origin, "14");
+requestHeaders("Fetch with POST without body", url, "POST", null, location.origin, "0");
+requestHeaders("Fetch with POST with text body", url, "POST", "Request's body", location.origin, "14");
+requestHeaders("Fetch with POST with FormData body", url, "POST", function() { return new FormData(); }, location.origin);
+requestHeaders("Fetch with POST with URLSearchParams body", url, "POST", function() { return new URLSearchParams("name=value"); }, location.origin, "10");
+requestHeaders("Fetch with POST with Blob body", url, "POST", new Blob(["Test"]), location.origin, "4");
+requestHeaders("Fetch with POST with ArrayBuffer body", url, "POST", new ArrayBuffer(4), location.origin, "4");
+requestHeaders("Fetch with POST with Uint8Array body", url, "POST", new Uint8Array(4), location.origin, "4");
+requestHeaders("Fetch with POST with Int8Array body", url, "POST", new Int8Array(4), location.origin, "4");
+requestHeaders("Fetch with POST with Float32Array body", url, "POST", new Float32Array(1), location.origin, "4");
+requestHeaders("Fetch with POST with Float64Array body", url, "POST", new Float64Array(1), location.origin, "8");
+requestHeaders("Fetch with POST with DataView body", url, "POST", new DataView(new ArrayBuffer(8), 0, 4), location.origin, "4");
+requestHeaders("Fetch with POST with Blob body with mime type", url, "POST", new Blob(["Test"], { type: "text/maybe" }), location.origin, "4");
+requestHeaders("Fetch with Chicken", url, "Chicken", null, location.origin, null);
+requestHeaders("Fetch with Chicken with body", url, "Chicken", "Request's body", location.origin, "14");
+
+function requestOriginHeader(method, mode, needsOrigin) {
+ promise_test(function(test){
+ return fetch(url + "?headers=origin", {method:method, mode:mode}).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.type , "basic", "Response's type is basic");
+ if(needsOrigin)
+ assert_equals(resp.headers.get("x-request-origin") , location.origin, "Request should have an Origin header with origin: " + location.origin);
+ else
+ assert_equals(resp.headers.get("x-request-origin"), null, "Request should not have an Origin header")
+ });
+ }, "Fetch with " + method + " and mode \"" + mode + "\" " + (needsOrigin ? "needs" : "does not need") + " an Origin header");
+}
+
+requestOriginHeader("GET", "cors", false);
+requestOriginHeader("POST", "same-origin", true);
+requestOriginHeader("POST", "no-cors", true);
+requestOriginHeader("PUT", "same-origin", true);
+requestOriginHeader("TacO", "same-origin", true);
+requestOriginHeader("TacO", "cors", true);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadershtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,15 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: User agent add headers to request</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="request-headers.js"></script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,86 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function checkContentType(contentType, body)
-{
- if (self.FormData && body instanceof self.FormData) {
- assert_true(contentType.startsWith("multipart/form-data; boundary="), "Request should have header content-type starting with multipart/form-data; boundary=, but got " + contentType);
- return;
- }
-
- var expectedContentType = "text/plain;charset=UTF-8";
- if(body === null || body instanceof ArrayBuffer || body.buffer instanceof ArrayBuffer)
- expectedContentType = null;
- else if (body instanceof Blob)
- expectedContentType = body.type ? body.type : null;
- else if (body instanceof URLSearchParams)
- expectedContentType = "application/x-www-form-urlencoded;charset=UTF-8";
-
- assert_equals(contentType , expectedContentType, "Request should have header content-type: " + expectedContentType);
-}
-
-function requestHeaders(desc, url, method, body, expectedOrigin, expectedContentLength) {
- var urlParameters = "?headers=origin|user-agent|accept-charset|content-length|content-type";
- var requestInit = {"method": method}
- promise_test(function(test){
- if (typeof body === "function")
- body = body();
- if (body)
- requestInit["body"] = body;
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- assert_true(resp.headers.has("x-request-user-agent"), "Request has header user-agent");
- assert_false(resp.headers.has("accept-charset"), "Request has header accept-charset");
- assert_equals(resp.headers.get("x-request-origin") , expectedOrigin, "Request should have header origin: " + expectedOrigin);
- if (expectedContentLength !== undefined)
- assert_equals(resp.headers.get("x-request-content-length") , expectedContentLength, "Request should have header content-length: " + expectedContentLength);
- checkContentType(resp.headers.get("x-request-content-type"), body);
- });
- }, desc);
-}
-
-var url = RESOURCES_DIR + "inspect-headers.py"
-
-requestHeaders("Fetch with GET", url, "GET", null, null, null);
-requestHeaders("Fetch with HEAD", url, "HEAD", null, null, null);
-requestHeaders("Fetch with PUT without body", url, "POST", null, location.origin, "0");
-requestHeaders("Fetch with PUT with body", url, "PUT", "Request's body", location.origin, "14");
-requestHeaders("Fetch with POST without body", url, "POST", null, location.origin, "0");
-requestHeaders("Fetch with POST with text body", url, "POST", "Request's body", location.origin, "14");
-requestHeaders("Fetch with POST with FormData body", url, "POST", function() { return new FormData(); }, location.origin);
-requestHeaders("Fetch with POST with URLSearchParams body", url, "POST", function() { return new URLSearchParams("name=value"); }, location.origin, "10");
-requestHeaders("Fetch with POST with Blob body", url, "POST", new Blob(["Test"]), location.origin, "4");
-requestHeaders("Fetch with POST with ArrayBuffer body", url, "POST", new ArrayBuffer(4), location.origin, "4");
-requestHeaders("Fetch with POST with Uint8Array body", url, "POST", new Uint8Array(4), location.origin, "4");
-requestHeaders("Fetch with POST with Int8Array body", url, "POST", new Int8Array(4), location.origin, "4");
-requestHeaders("Fetch with POST with Float32Array body", url, "POST", new Float32Array(1), location.origin, "4");
-requestHeaders("Fetch with POST with Float64Array body", url, "POST", new Float64Array(1), location.origin, "8");
-requestHeaders("Fetch with POST with DataView body", url, "POST", new DataView(new ArrayBuffer(8), 0, 4), location.origin, "4");
-requestHeaders("Fetch with POST with Blob body with mime type", url, "POST", new Blob(["Test"], { type: "text/maybe" }), location.origin, "4");
-requestHeaders("Fetch with Chicken", url, "Chicken", null, location.origin, null);
-requestHeaders("Fetch with Chicken with body", url, "Chicken", "Request's body", location.origin, "14");
-
-function requestOriginHeader(method, mode, needsOrigin) {
- promise_test(function(test){
- return fetch(url + "?headers=origin", {method:method, mode:mode}).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- if(needsOrigin)
- assert_equals(resp.headers.get("x-request-origin") , location.origin, "Request should have an Origin header with origin: " + location.origin);
- else
- assert_equals(resp.headers.get("x-request-origin"), null, "Request should not have an Origin header")
- });
- }, "Fetch with " + method + " and mode \"" + mode + "\" " + (needsOrigin ? "needs" : "does not need") + " an Origin header");
-}
-
-requestOriginHeader("GET", "cors", false);
-requestOriginHeader("POST", "same-origin", true);
-requestOriginHeader("POST", "no-cors", true);
-requestOriginHeader("PUT", "same-origin", true);
-requestOriginHeader("TacO", "same-origin", true);
-requestOriginHeader("TacO", "cors", true);
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestheadersworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,4 +0,0 @@
</span><del>-
-PASS about:client referrer
-PASS url referrer
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerredirectedworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx">
</span><del>-PASS about:client referrer
-PASS url referrer
</del><ins>+FAIL about:client referrer Can't find variable: RESOURCES_DIR
+FAIL url referrer Can't find variable: RESOURCES_DIR
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerredirectedworkerhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span><span class="cx"> <script>
</span><del>- let finalURL = "/fetch/api/basic/request-referrer.js";
</del><ins>+ let finalURL = "/fetch/api/basic/request-referrer.any.worker.js";
</ins><span class="cx"> let url = "/fetch/api/resources/redirect.py?location=" +
</span><span class="cx"> encodeURIComponent(finalURL);
</span><span class="cx"> fetch_tests_from_worker(new Worker(url));
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,4 +0,0 @@
</span><del>-
-PASS about:client referrer
-PASS url referrer
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: referrer header</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("request-referrer.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferreranyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+FAIL about:client referrer Can't find variable: RESOURCES_DIR
+FAIL url referrer Can't find variable: RESOURCES_DIR
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferreranyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferreranyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+// META: script=../resources/utils.js
+
+function testReferrer(referrer, expected, desc) {
+ promise_test(function(test) {
+ var url = RESOURCES_DIR + "inspect-headers.py?headers=referer"
+ var req = new Request(url, { referrer: referrer });
+ return fetch(req).then(function(resp) {
+ var actual = resp.headers.get("x-request-referer");
+ if (expected) {
+ assert_equals(actual, expected, "request's referer should be: " + expected);
+ return;
+ }
+ if (actual) {
+ assert_equals(actual, "", "request's referer should be empty");
+ }
+ });
+ }, desc);
+}
+
+testReferrer("about:client", self.location.href, 'about:client referrer');
+
+var fooURL = new URL("./foo", self.location).href;
+testReferrer(fooURL, fooURL, 'url referrer');
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,13 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: fetch() respects Request referrer value</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="request-referrer.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,28 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function testReferrer(referrer, expected, desc) {
- promise_test(function(test) {
- var url = RESOURCES_DIR + "inspect-headers.py?headers=referer"
- var req = new Request(url, { referrer: referrer });
- return fetch(req).then(function(resp) {
- var actual = resp.headers.get("x-request-referer");
- if (expected) {
- assert_equals(actual, expected, "request's referer should be: " + expected);
- return;
- }
- if (actual) {
- assert_equals(actual, "", "request's referer should be empty");
- }
- });
- }, desc);
-}
-
-testReferrer("about:client", self.location.href, 'about:client referrer');
-
-var fooURL = new URL("./foo", self.location).href;
-testReferrer(fooURL, fooURL, 'url referrer');
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestreferrerworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-
-PASS Fetch with PUT with body
-PASS Fetch with POST with text body
-PASS Fetch with POST with URLSearchParams body
-PASS Fetch with POST with Blob body
-PASS Fetch with POST with ArrayBuffer body
-PASS Fetch with POST with Uint8Array body
-PASS Fetch with POST with Int8Array body
-PASS Fetch with POST with Float32Array body
-PASS Fetch with POST with Float64Array body
-PASS Fetch with POST with DataView body
-PASS Fetch with POST with Blob body with mime type
-FAIL Fetch with POST with ReadableStream assert_equals: expected "Test" but got ""
-FAIL Fetch with POST with ReadableStream containing String undefined is not an object (evaluating 'promise.then')
-FAIL Fetch with POST with ReadableStream containing null undefined is not an object (evaluating 'promise.then')
-FAIL Fetch with POST with ReadableStream containing number undefined is not an object (evaluating 'promise.then')
-FAIL Fetch with POST with ReadableStream containing ArrayBuffer undefined is not an object (evaluating 'promise.then')
-FAIL Fetch with POST with ReadableStream containing Blob undefined is not an object (evaluating 'promise.then')
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-
-PASS Fetch with PUT with body
-PASS Fetch with POST with text body
-PASS Fetch with POST with URLSearchParams body
-PASS Fetch with POST with Blob body
-PASS Fetch with POST with ArrayBuffer body
-PASS Fetch with POST with Uint8Array body
-PASS Fetch with POST with Int8Array body
-PASS Fetch with POST with Float32Array body
-PASS Fetch with POST with Float64Array body
-PASS Fetch with POST with DataView body
-PASS Fetch with POST with Blob body with mime type
-FAIL Fetch with POST with ReadableStream assert_equals: expected "Test" but got ""
-FAIL Fetch with POST with ReadableStream containing String undefined is not an object (evaluating 'promise.then')
-FAIL Fetch with POST with ReadableStream containing null undefined is not an object (evaluating 'promise.then')
-FAIL Fetch with POST with ReadableStream containing number undefined is not an object (evaluating 'promise.then')
-FAIL Fetch with POST with ReadableStream containing ArrayBuffer undefined is not an object (evaluating 'promise.then')
-FAIL Fetch with POST with ReadableStream containing Blob undefined is not an object (evaluating 'promise.then')
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: Upload</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("request-upload.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 27: ReferenceError: Can't find variable: RESOURCES_DIR
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: RESOURCES_DIR
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,122 @@
</span><ins>+// META: script=../resources/utils.js
+
+function testUpload(desc, url, method, createBody, expectedBody) {
+ var requestInit = {"method": method}
+ promise_test(function(test){
+ let body = createBody();
+ if (body)
+ requestInit["body"] = body;
+ return fetch(url, requestInit).then(function(resp) {
+ return resp.text().then((text)=> {
+ assert_equals(text, expectedBody);
+ });
+ });
+ }, desc);
+}
+
+function testUploadFailure(desc, url, method, createBody) {
+ const requestInit = {"method": method};
+ promise_test(test => {
+ let body = createBody();
+ if (body)
+ requestInit["body"] = body;
+ return promise_rejects(new TypeError(), fetch(url, requestInit));
+ }, desc);
+}
+
+var url = RESOURCES_DIR + "echo-content.py"
+
+testUpload("Fetch with PUT with body", url,
+ "PUT",
+ () => "Request's body",
+ "Request's body");
+testUpload("Fetch with POST with text body", url,
+ "POST",
+ () => "Request's body",
+ "Request's body");
+testUpload("Fetch with POST with URLSearchParams body", url,
+ "POST",
+ () => new URLSearchParams("name=value"),
+ "name=value");
+testUpload("Fetch with POST with Blob body", url,
+ "POST",
+ () => new Blob(["Test"]),
+ "Test");
+testUpload("Fetch with POST with ArrayBuffer body", url,
+ "POST",
+ () => new ArrayBuffer(4),
+ "\0\0\0\0");
+testUpload("Fetch with POST with Uint8Array body", url,
+ "POST",
+ () => new Uint8Array(4),
+ "\0\0\0\0");
+testUpload("Fetch with POST with Int8Array body", url,
+ "POST",
+ () => new Int8Array(4),
+ "\0\0\0\0");
+testUpload("Fetch with POST with Float32Array body", url,
+ "POST",
+ () => new Float32Array(1),
+ "\0\0\0\0");
+testUpload("Fetch with POST with Float64Array body", url,
+ "POST",
+ () => new Float64Array(1),
+ "\0\0\0\0\0\0\0\0");
+testUpload("Fetch with POST with DataView body", url,
+ "POST",
+ () => new DataView(new ArrayBuffer(8), 0, 4),
+ "\0\0\0\0");
+testUpload("Fetch with POST with Blob body with mime type", url,
+ "POST",
+ () => new Blob(["Test"], { type: "text/maybe" }),
+ "Test");
+testUpload("Fetch with POST with ReadableStream", url,
+ "POST",
+ () => {
+ new ReadableStream({start: controller => {
+ const encoder = new TextEncoder();
+ controller.enqueue(encoder.encode("Test"));
+ controller.close();
+ }})
+ },
+ "Test");
+testUploadFailure("Fetch with POST with ReadableStream containing String", url,
+ "POST",
+ () => {
+ new ReadableStream({start: controller => {
+ controller.enqueue("Test");
+ controller.close();
+ }})
+ });
+testUploadFailure("Fetch with POST with ReadableStream containing null", url,
+ "POST",
+ () => {
+ new ReadableStream({start: controller => {
+ controller.enqueue(null);
+ controller.close();
+ }})
+ });
+testUploadFailure("Fetch with POST with ReadableStream containing number", url,
+ "POST",
+ () => {
+ new ReadableStream({start: controller => {
+ controller.enqueue(99);
+ controller.close();
+ }})
+ });
+testUploadFailure("Fetch with POST with ReadableStream containing ArrayBuffer", url,
+ "POST",
+ () => {
+ new ReadableStream({start: controller => {
+ controller.enqueue(new ArrayBuffer());
+ controller.close();
+ }})
+ });
+testUploadFailure("Fetch with POST with ReadableStream containing Blob", url,
+ "POST",
+ () => {
+ new ReadableStream({start: controller => {
+ controller.enqueue(new Blob());
+ controller.close();
+ }})
+ });
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,13 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: Uploading content</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <script src="../resources/utils.js"></script>
- </head>
- <body>
- <script src="request-upload.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,127 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function testUpload(desc, url, method, createBody, expectedBody) {
- var requestInit = {"method": method}
- promise_test(function(test){
- let body = createBody();
- if (body)
- requestInit["body"] = body;
- return fetch(url, requestInit).then(function(resp) {
- return resp.text().then((text)=> {
- assert_equals(text, expectedBody);
- });
- });
- }, desc);
-}
-
-function testUploadFailure(desc, url, method, createBody) {
- const requestInit = {"method": method};
- promise_test(test => {
- let body = createBody();
- if (body)
- requestInit["body"] = body;
- return promise_rejects(new TypeError(), fetch(url, requestInit));
- }, desc);
-}
-
-var url = RESOURCES_DIR + "echo-content.py"
-
-testUpload("Fetch with PUT with body", url,
- "PUT",
- () => "Request's body",
- "Request's body");
-testUpload("Fetch with POST with text body", url,
- "POST",
- () => "Request's body",
- "Request's body");
-testUpload("Fetch with POST with URLSearchParams body", url,
- "POST",
- () => new URLSearchParams("name=value"),
- "name=value");
-testUpload("Fetch with POST with Blob body", url,
- "POST",
- () => new Blob(["Test"]),
- "Test");
-testUpload("Fetch with POST with ArrayBuffer body", url,
- "POST",
- () => new ArrayBuffer(4),
- "\0\0\0\0");
-testUpload("Fetch with POST with Uint8Array body", url,
- "POST",
- () => new Uint8Array(4),
- "\0\0\0\0");
-testUpload("Fetch with POST with Int8Array body", url,
- "POST",
- () => new Int8Array(4),
- "\0\0\0\0");
-testUpload("Fetch with POST with Float32Array body", url,
- "POST",
- () => new Float32Array(1),
- "\0\0\0\0");
-testUpload("Fetch with POST with Float64Array body", url,
- "POST",
- () => new Float64Array(1),
- "\0\0\0\0\0\0\0\0");
-testUpload("Fetch with POST with DataView body", url,
- "POST",
- () => new DataView(new ArrayBuffer(8), 0, 4),
- "\0\0\0\0");
-testUpload("Fetch with POST with Blob body with mime type", url,
- "POST",
- () => new Blob(["Test"], { type: "text/maybe" }),
- "Test");
-testUpload("Fetch with POST with ReadableStream", url,
- "POST",
- () => {
- new ReadableStream({start: controller => {
- const encoder = new TextEncoder();
- controller.enqueue(encoder.encode("Test"));
- controller.close();
- }})
- },
- "Test");
-testUploadFailure("Fetch with POST with ReadableStream containing String", url,
- "POST",
- () => {
- new ReadableStream({start: controller => {
- controller.enqueue("Test");
- controller.close();
- }})
- });
-testUploadFailure("Fetch with POST with ReadableStream containing null", url,
- "POST",
- () => {
- new ReadableStream({start: controller => {
- controller.enqueue(null);
- controller.close();
- }})
- });
-testUploadFailure("Fetch with POST with ReadableStream containing number", url,
- "POST",
- () => {
- new ReadableStream({start: controller => {
- controller.enqueue(99);
- controller.close();
- }})
- });
-testUploadFailure("Fetch with POST with ReadableStream containing ArrayBuffer", url,
- "POST",
- () => {
- new ReadableStream({start: controller => {
- controller.enqueue(new ArrayBuffer());
- controller.close();
- }})
- });
-testUploadFailure("Fetch with POST with ReadableStream containing Blob", url,
- "POST",
- () => {
- new ReadableStream({start: controller => {
- controller.enqueue(new Blob());
- controller.close();
- }})
- });
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicrequestuploadworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-CONSOLE MESSAGE: line 1: Fetch API cannot load about:blank. Cross origin requests are only supported for HTTP.
-CONSOLE MESSAGE: Fetch API cannot load about:blank. Preflight response is not successful
-CONSOLE MESSAGE: line 1: Fetch API cannot load about:blank. Cross origin requests are only supported for HTTP.
-CONSOLE MESSAGE: line 1: Fetch API cannot load about:invalid.com. Cross origin requests are only supported for HTTP.
-CONSOLE MESSAGE: line 1: Fetch API cannot load about:config. Cross origin requests are only supported for HTTP.
-CONSOLE MESSAGE: line 1: Fetch API cannot load about:unicorn. Cross origin requests are only supported for HTTP.
-
-FAIL Fetching about:blank (GET) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL Fetching about:blank (PUT) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL Fetching about:blank (POST) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS Fetching about:invalid.com is KO
-PASS Fetching about:config is KO
-PASS Fetching about:unicorn is KO
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,8 +0,0 @@
</span><del>-
-FAIL Fetching about:blank (GET) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL Fetching about:blank (PUT) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL Fetching about:blank (POST) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS Fetching about:invalid.com is KO
-PASS Fetching about:config is KO
-PASS Fetching about:unicorn is KO
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: about scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("scheme-about.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutanyexpectedtxtfromrev215162trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt (from rev 215162, trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-expected.txt) (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+CONSOLE MESSAGE: line 1: Fetch API cannot load about:blank. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: Fetch API cannot load about:blank. Preflight response is not successful
+CONSOLE MESSAGE: line 1: Fetch API cannot load about:blank. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 1: Fetch API cannot load about:invalid.com. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 1: Fetch API cannot load about:config. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 1: Fetch API cannot load about:unicorn. Cross origin requests are only supported for HTTP.
+
+FAIL Fetching about:blank (GET) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL Fetching about:blank (PUT) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL Fetching about:blank (POST) is OK promise_test: Unhandled rejection with value: object "TypeError: Type error"
+PASS Fetching about:invalid.com is KO
+PASS Fetching about:config is KO
+PASS Fetching about:unicorn is KO
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+// META: script=../resources/utils.js
+
+function checkFetchResponse(url, method, desc) {
+ if (!desc) {
+ var cut = (url.length >= 40) ? "[...]" : "";
+ cut += " (" + method + ")"
+ desc = "Fetching " + url.substring(0, 40) + cut + " is OK"
+ }
+ promise_test(function(test) {
+ return fetch(url, { method: method }).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.type, "basic", "response type is basic");
+ assert_equals(resp.headers.get("Content-Type"), "text/html;charset=utf-8", "Content-Type is " + resp.headers.get("Content-Type"));
+ return resp.text();
+ })
+ }, desc);
+}
+
+checkFetchResponse("about:blank", "GET");
+checkFetchResponse("about:blank", "PUT");
+checkFetchResponse("about:blank", "POST");
+
+function checkKoUrl(url, desc) {
+ if (!desc)
+ desc = "Fetching " + url.substring(0, 45) + " is KO"
+ promise_test(function(test) {
+ var promise = fetch(url);
+ return promise_rejects(test, new TypeError(), promise);
+ }, desc);
+}
+
+checkKoUrl("about:invalid.com");
+checkKoUrl("about:config");
+checkKoUrl("about:unicorn");
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeabouthtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: about scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="scheme-about.js"></script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,39 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function checkFetchResponse(url, method, desc) {
- if (!desc) {
- var cut = (url.length >= 40) ? "[...]" : "";
- cut += " (" + method + ")"
- desc = "Fetching " + url.substring(0, 40) + cut + " is OK"
- }
- promise_test(function(test) {
- return fetch(url, { method: method }).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type, "basic", "response type is basic");
- assert_equals(resp.headers.get("Content-Type"), "text/html;charset=utf-8", "Content-Type is " + resp.headers.get("Content-Type"));
- return resp.text();
- })
- }, desc);
-}
-
-checkFetchResponse("about:blank", "GET");
-checkFetchResponse("about:blank", "PUT");
-checkFetchResponse("about:blank", "POST");
-
-function checkKoUrl(url, desc) {
- if (!desc)
- desc = "Fetching " + url.substring(0, 45) + " is KO"
- promise_test(function(test) {
- var promise = fetch(url);
- return promise_rejects(test, new TypeError(), promise);
- }, desc);
-}
-
-checkKoUrl("about:invalid.com");
-checkKoUrl("about:config");
-checkKoUrl("about:unicorn");
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemeaboutworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-
-PASS Fetching data:,response%27s%20body is OK
-PASS Fetching data:,response%27s%20body is OK (same-origin)
-PASS Fetching data:,response%27s%20body is OK (cors)
-PASS Fetching data:text/plain;base64,cmVzcG9uc2UncyBib[...] is OK
-PASS Fetching data:image/png;base64,cmVzcG9uc2UncyBib2[...] is OK
-PASS Fetching [POST] data:,response%27s%20body is OK
-PASS Fetching [HEAD] data:,response%27s%20body is OK
-FAIL Fetching [GET] data:notAdataUrl.com is KO assert_unreached: Should have rejected: undefined Reached unreachable code
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-
-PASS Fetching data:,response%27s%20body is OK
-PASS Fetching data:,response%27s%20body is OK (same-origin)
-PASS Fetching data:,response%27s%20body is OK (cors)
-PASS Fetching data:text/plain;base64,cmVzcG9uc2UncyBib[...] is OK
-PASS Fetching data:image/png;base64,cmVzcG9uc2UncyBib2[...] is OK
-PASS Fetching [POST] data:,response%27s%20body is OK
-PASS Fetching [HEAD] data:,response%27s%20body is OK
-FAIL Fetching [GET] data:notAdataUrl.com is KO assert_unreached: Should have rejected: undefined Reached unreachable code
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: data scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("scheme-data.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataanyexpectedtxtfromrev215162trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt (from rev 215162, trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt) (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+
+PASS Fetching data:,response%27s%20body is OK
+PASS Fetching data:,response%27s%20body is OK (same-origin)
+PASS Fetching data:,response%27s%20body is OK (cors)
+PASS Fetching data:text/plain;base64,cmVzcG9uc2UncyBib[...] is OK
+PASS Fetching data:image/png;base64,cmVzcG9uc2UncyBib2[...] is OK
+PASS Fetching [POST] data:,response%27s%20body is OK
+PASS Fetching [HEAD] data:,response%27s%20body is OK
+FAIL Fetching [GET] data:notAdataUrl.com is KO assert_unreached: Should have rejected: undefined Reached unreachable code
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+// META: script=../resources/utils.js
+
+function checkFetchResponse(url, data, mime, fetchMode, method) {
+ var cut = (url.length >= 40) ? "[...]" : "";
+ desc = "Fetching " + (method ? "[" + method + "] " : "") + url.substring(0, 40) + cut + " is OK";
+ var init = {"method": method || "GET"};
+ if (fetchMode) {
+ init.mode = fetchMode;
+ desc += " (" + fetchMode + ")";
+ }
+ promise_test(function(test) {
+ return fetch(url, init).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.statusText, "OK", "HTTP statusText is OK");
+ assert_equals(resp.type, "basic", "response type is basic");
+ assert_equals(resp.headers.get("Content-Type"), mime, "Content-Type is " + resp.headers.get("Content-Type"));
+ return resp.text();
+ }).then(function(body) {
+ assert_equals(body, data, "Response's body is correct");
+ });
+ }, desc);
+}
+
+checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII");
+checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", "same-origin");
+checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", "cors");
+checkFetchResponse("data:text/plain;base64,cmVzcG9uc2UncyBib2R5", "response's body", "text/plain");
+checkFetchResponse("data:image/png;base64,cmVzcG9uc2UncyBib2R5",
+ "response's body",
+ "image/png");
+checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", null, "POST");
+checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", null, "HEAD");
+
+function checkKoUrl(url, method, desc) {
+ var cut = (url.length >= 40) ? "[...]" : "";
+ desc = "Fetching [" + method + "] " + url.substring(0, 45) + cut + " is KO"
+ promise_test(function(test) {
+ return promise_rejects(test, new TypeError(), fetch(url, {"method": method}));
+ }, desc);
+}
+
+checkKoUrl("data:notAdataUrl.com", "GET");
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedatahtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: data scheme</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#basic-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="scheme-data.js"></script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedatajs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,47 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function checkFetchResponse(url, data, mime, fetchMode, method) {
- var cut = (url.length >= 40) ? "[...]" : "";
- desc = "Fetching " + (method ? "[" + method + "] " : "") + url.substring(0, 40) + cut + " is OK";
- var init = {"method": method || "GET"};
- if (fetchMode) {
- init.mode = fetchMode;
- desc += " (" + fetchMode + ")";
- }
- promise_test(function(test) {
- return fetch(url, init).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.statusText, "OK", "HTTP statusText is OK");
- assert_equals(resp.type, "basic", "response type is basic");
- assert_equals(resp.headers.get("Content-Type"), mime, "Content-Type is " + resp.headers.get("Content-Type"));
- return resp.text();
- }).then(function(body) {
- assert_equals(body, data, "Response's body is correct");
- });
- }, desc);
-}
-
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII");
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", "same-origin");
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", "cors");
-checkFetchResponse("data:text/plain;base64,cmVzcG9uc2UncyBib2R5", "response's body", "text/plain");
-checkFetchResponse("data:image/png;base64,cmVzcG9uc2UncyBib2R5",
- "response's body",
- "image/png");
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", null, "POST");
-checkFetchResponse("data:,response%27s%20body", "response's body", "text/plain;charset=US-ASCII", null, "HEAD");
-
-function checkKoUrl(url, method, desc) {
- var cut = (url.length >= 40) ? "[...]" : "";
- desc = "Fetching [" + method + "] " + url.substring(0, 45) + cut + " is KO"
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url, {"method": method}));
- }, desc);
-}
-
-checkKoUrl("data:notAdataUrl.com", "GET");
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicschemedataworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +0,0 @@
</span><del>-
-PASS Stream response's body
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +0,0 @@
</span><del>-
-PASS Stream response's body
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: retrieve response's body progressively</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("stream-response.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+FAIL Stream response's body Can't find variable: RESOURCES_DIR
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// META: script=../resources/utils.js
+
+function streamBody(reader, test, count) {
+ return reader.read().then(function(data) {
+ if (!data.done && count < 2) {
+ count += 1;
+ return streamBody(reader, test, count);
+ } else {
+ test.step(function() {
+ assert_true(count >= 2, "Retrieve body progressively");
+ });
+ }
+ });
+}
+
+//simulate streaming:
+//count is large enough to let the UA deliver the body before it is completely retrieved
+promise_test(function(test) {
+ return fetch(RESOURCES_DIR + "trickle.py?ms=30&count=100").then(function(resp) {
+ var count = 0;
+ if (resp.body)
+ return streamBody(resp.body.getReader(), test, count);
+ else
+ test.step(function() {
+ assert_unreached( "Body does not exist in response");
+ });
+ });
+}, "Stream response's body");
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponsehtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: retrieve response's body progressively</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="stream-response.js"></script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponsejs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,33 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function streamBody(reader, test, count) {
- return reader.read().then(function(data) {
- if (!data.done && count < 2) {
- count += 1;
- return streamBody(reader, test, count);
- } else {
- test.step(function() {
- assert_true(count >= 2, "Retrieve body progressively");
- });
- }
- });
-}
-
-//simulate streaming:
-//count is large enough to let the UA deliver the body before it is completely retrieved
-promise_test(function(test) {
- return fetch(RESOURCES_DIR + "trickle.py?ms=30&count=100").then(function(resp) {
- var count = 0;
- if (resp.body)
- return streamBody(resp.body.getReader(), test, count);
- else
- test.step(function() {
- assert_unreached( "Body does not exist in response");
- });
- });
-}, "Stream response's body");
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicstreamresponseworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapibasicw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,9 +15,7 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/conditional-get.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/integrity-sharedworker.html
</span><span class="lines">@@ -27,44 +25,24 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors.js
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/referrer.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-forbidden-headers.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-head.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-redirected-worker.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-referrer.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/request-upload.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/response-url-worker.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/response-url.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/response-url.js
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob-worker.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-blob.js
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-others-worker.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-others.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-others.js
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/stream-response.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/text-utf8.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,27 +0,0 @@
</span><del>-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Fetch API cannot load http://localhost:8801/fetch/api/resources/top.txt. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Fetch API cannot load https://localhost:9443/fetch/api/resources/top.txt. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Fetch API cannot load http://127.0.0.1:8800/fetch/api/resources/top.txt. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Fetch API cannot load http://127.0.0.1:8801/fetch/api/resources/top.txt. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Fetch API cannot load https://127.0.0.1:9443/fetch/api/resources/top.txt. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-
-PASS Same domain different port [no-cors mode]
-PASS Same domain different port [server forbid CORS]
-PASS Same domain different port [cors mode]
-PASS Same domain different protocol different port [no-cors mode]
-PASS Same domain different protocol different port [server forbid CORS]
-PASS Same domain different protocol different port [cors mode]
-PASS Cross domain basic usage [no-cors mode]
-PASS Cross domain basic usage [server forbid CORS]
-PASS Cross domain basic usage [cors mode]
-PASS Cross domain different port [no-cors mode]
-PASS Cross domain different port [server forbid CORS]
-PASS Cross domain different port [cors mode]
-PASS Cross domain different protocol [no-cors mode]
-PASS Cross domain different protocol [server forbid CORS]
-PASS Cross domain different protocol [cors mode]
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,22 +0,0 @@
</span><del>-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-
-PASS Same domain different port [no-cors mode]
-PASS Same domain different port [server forbid CORS]
-PASS Same domain different port [cors mode]
-PASS Same domain different protocol different port [no-cors mode]
-PASS Same domain different protocol different port [server forbid CORS]
-PASS Same domain different protocol different port [cors mode]
-PASS Cross domain basic usage [no-cors mode]
-PASS Cross domain basic usage [server forbid CORS]
-PASS Cross domain basic usage [cors mode]
-PASS Cross domain different port [no-cors mode]
-PASS Cross domain different port [server forbid CORS]
-PASS Cross domain different port [cors mode]
-PASS Cross domain different protocol [no-cors mode]
-PASS Cross domain different protocol [server forbid CORS]
-PASS Cross domain different protocol [cors mode]
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: basic CORS</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-cors">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-cors-check">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-basic.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 31: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function cors(desc, origin) {
+ var url = origin + dirname(location.pathname);
+ var urlParameters = "?pipe=header(Access-Control-Allow-Origin,*)";
+
+ promise_test(function(test) {
+ return fetch(url + RESOURCES_DIR + "top.txt" + urlParameters, {"mode": "no-cors"} ).then(function(resp) {
+ assert_equals(resp.status, 0, "Opaque filter: status is 0");
+ assert_equals(resp.statusText, "", "Opaque filter: statusText is \"\"");
+ assert_equals(resp.type , "opaque", "Opaque filter: response's type is opaque");
+ return resp.text().then(function(value) {
+ assert_equals(value, "", "Opaque response should have an empty body");
+ });
+ });
+ }, desc + " [no-cors mode]");
+
+ promise_test(function(test) {
+ return promise_rejects(test, new TypeError(), fetch(url + RESOURCES_DIR + "top.txt", {"mode": "cors"}));
+ }, desc + " [server forbid CORS]");
+
+ promise_test(function(test) {
+ return fetch(url + RESOURCES_DIR + "top.txt" + urlParameters, {"mode": "cors"} ).then(function(resp) {
+ assert_equals(resp.status, 200, "Fetch's response's status is 200");
+ assert_equals(resp.type , "cors", "CORS response's type is cors");
+ });
+ }, desc + " [cors mode]");
+}
+
+var host_info = get_host_info();
+
+cors("Same domain different port", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT);
+cors("Same domain different protocol different port", host_info.HTTPS_ORIGIN);
+cors("Cross domain basic usage", host_info.HTTP_REMOTE_ORIGIN);
+cors("Cross domain different port", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT);
+cors("Cross domain different protocol", host_info.HTTPS_REMOTE_ORIGIN);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasichtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: basic CORS</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-cors">
- <meta name="help" href="https://fetch.spec.whatwg.org/#concept-cors-check">
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-basic.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,42 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function cors(desc, origin) {
- var url = origin + dirname(location.pathname);
- var urlParameters = "?pipe=header(Access-Control-Allow-Origin,*)";
-
- promise_test(function(test) {
- return fetch(url + RESOURCES_DIR + "top.txt" + urlParameters, {"mode": "no-cors"} ).then(function(resp) {
- assert_equals(resp.status, 0, "Opaque filter: status is 0");
- assert_equals(resp.statusText, "", "Opaque filter: statusText is \"\"");
- assert_equals(resp.type , "opaque", "Opaque filter: response's type is opaque");
- return resp.text().then(function(value) {
- assert_equals(value, "", "Opaque response should have an empty body");
- });
- });
- }, desc + " [no-cors mode]");
-
- promise_test(function(test) {
- return promise_rejects(test, new TypeError(), fetch(url + RESOURCES_DIR + "top.txt", {"mode": "cors"}));
- }, desc + " [server forbid CORS]");
-
- promise_test(function(test) {
- return fetch(url + RESOURCES_DIR + "top.txt" + urlParameters, {"mode": "cors"} ).then(function(resp) {
- assert_equals(resp.status, 200, "Fetch's response's status is 200");
- assert_equals(resp.type , "cors", "CORS response's type is cors");
- });
- }, desc + " [cors mode]");
-}
-
-var host_info = get_host_info();
-
-cors("Same domain different port", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT);
-cors("Same domain different protocol different port", host_info.HTTPS_ORIGIN);
-cors("Cross domain basic usage", host_info.HTTP_REMOTE_ORIGIN);
-cors("Cross domain different port", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT);
-cors("Cross domain different protocol", host_info.HTTPS_REMOTE_ORIGIN);
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsbasicworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-Blocked access to external URL http://www.localhost:8800/fetch/api/resources/inspect-headers.py?cors&headers=cookie
-CONSOLE MESSAGE: line 1: Fetch API cannot load http://www.localhost:8800/fetch/api/resources/inspect-headers.py?cors&headers=cookie due to access control checks.
-
-PASS Omit mode: no cookie sent
-FAIL Include mode: 1 cookie assert_equals: Request includes cookie(s) expected (string) "a=1" but got (object) null
-PASS Include mode: local cookies are not sent with remote request
-PASS Include mode: remote cookies are not sent with local request
-PASS Same-origin mode: cookies are discarded in cors request
-FAIL Include mode: remote cookies are not sent with other remote request promise_test: Unhandled rejection with value: object "TypeError: Type error"
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,9 +0,0 @@
</span><del>-Blocked access to external URL http://www.localhost:8800/fetch/api/resources/inspect-headers.py?cors&headers=cookie
-
-PASS Omit mode: no cookie sent
-FAIL Include mode: 1 cookie assert_equals: Request includes cookie(s) expected (string) "a=1" but got (object) null
-PASS Include mode: local cookies are not sent with remote request
-PASS Include mode: remote cookies are not sent with local request
-PASS Same-origin mode: cookies are discarded in cors request
-FAIL Include mode: remote cookies are not sent with other remote request promise_test: Unhandled rejection with value: object "TypeError: Type error"
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: cookies management for cors requests</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-cookies.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 46: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function corsCookies(desc, baseURL1, baseURL2, credentialsMode, cookies) {
+ var urlSetCookie = baseURL1 + dirname(location.pathname) + RESOURCES_DIR + "top.txt";
+ var urlCheckCookies = baseURL2 + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py?cors&headers=cookie";
+ //enable cors with credentials
+ var urlParameters = "?pipe=header(Access-Control-Allow-Origin," + location.origin + ")";
+ urlParameters += "|header(Access-Control-Allow-Credentials,true)";
+
+ var urlCleanParameters = "?pipe=header(Access-Control-Allow-Origin," + location.origin + ")";
+ urlCleanParameters += "|header(Access-Control-Allow-Credentials,true)";
+ if (cookies) {
+ urlParameters += "|header(Set-Cookie,";
+ urlParameters += cookies.join(",True)|header(Set-Cookie,") + ",True)";
+ urlCleanParameters += "|header(Set-Cookie,";
+ urlCleanParameters += cookies.join("%3B%20max-age=0,True)|header(Set-Cookie,") + "%3B%20max-age=0,True)";
+ }
+
+ var requestInit = {"credentials": credentialsMode, "mode": "cors"};
+
+ promise_test(function(test){
+ return fetch(urlSetCookie + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ //check cookies sent
+ return fetch(urlCheckCookies, requestInit);
+ }).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_false(resp.headers.has("Cookie") , "Cookie header is not exposed in response");
+ if (credentialsMode === "include" && baseURL1 === baseURL2) {
+ assert_equals(resp.headers.get("x-request-cookie") , cookies.join("; "), "Request includes cookie(s)");
+ }
+ else {
+ assert_false(resp.headers.has("x-request-cookie") , "Request should have no cookie");
+ }
+ //clean cookies
+ return fetch(urlSetCookie + urlCleanParameters, {"credentials": "include"});
+ }).catch(function(e) {
+ return fetch(urlSetCookie + urlCleanParameters, {"credentials": "include"}).then(function(resp) {
+ throw e;
+ })
+ });
+ }, desc);
+}
+
+var local = get_host_info().HTTP_ORIGIN;
+var remote = get_host_info().HTTP_REMOTE_ORIGIN;
+// FIXME: otherRemote might not be accessible on some test environments.
+var otherRemote = local.replace("http://", "http://www.");
+
+corsCookies("Omit mode: no cookie sent", local, local, "omit", ["g=7"]);
+corsCookies("Include mode: 1 cookie", remote, remote, "include", ["a=1"]);
+corsCookies("Include mode: local cookies are not sent with remote request", local, remote, "include", ["c=3"]);
+corsCookies("Include mode: remote cookies are not sent with local request", remote, local, "include", ["d=4"]);
+corsCookies("Same-origin mode: cookies are discarded in cors request", remote, remote, "same-origin", ["f=6"]);
+corsCookies("Include mode: remote cookies are not sent with other remote request", remote, otherRemote, "include", ["e=5"]);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookieshtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: cookies management for cors requests</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-cookies.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,61 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function corsCookies(desc, baseURL1, baseURL2, credentialsMode, cookies) {
- var urlSetCookie = baseURL1 + dirname(location.pathname) + RESOURCES_DIR + "top.txt";
- var urlCheckCookies = baseURL2 + dirname(location.pathname) + RESOURCES_DIR + "inspect-headers.py?cors&headers=cookie";
- //enable cors with credentials
- var urlParameters = "?pipe=header(Access-Control-Allow-Origin," + location.origin + ")";
- urlParameters += "|header(Access-Control-Allow-Credentials,true)";
-
- var urlCleanParameters = "?pipe=header(Access-Control-Allow-Origin," + location.origin + ")";
- urlCleanParameters += "|header(Access-Control-Allow-Credentials,true)";
- if (cookies) {
- urlParameters += "|header(Set-Cookie,";
- urlParameters += cookies.join(",True)|header(Set-Cookie,") + ",True)";
- urlCleanParameters += "|header(Set-Cookie,";
- urlCleanParameters += cookies.join("%3B%20max-age=0,True)|header(Set-Cookie,") + "%3B%20max-age=0,True)";
- }
-
- var requestInit = {"credentials": credentialsMode, "mode": "cors"};
-
- promise_test(function(test){
- return fetch(urlSetCookie + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- //check cookies sent
- return fetch(urlCheckCookies, requestInit);
- }).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_false(resp.headers.has("Cookie") , "Cookie header is not exposed in response");
- if (credentialsMode === "include" && baseURL1 === baseURL2) {
- assert_equals(resp.headers.get("x-request-cookie") , cookies.join("; "), "Request includes cookie(s)");
- }
- else {
- assert_false(resp.headers.has("x-request-cookie") , "Request should have no cookie");
- }
- //clean cookies
- return fetch(urlSetCookie + urlCleanParameters, {"credentials": "include"});
- }).catch(function(e) {
- return fetch(urlSetCookie + urlCleanParameters, {"credentials": "include"}).then(function(resp) {
- throw e;
- })
- });
- }, desc);
-}
-
-var local = get_host_info().HTTP_ORIGIN;
-var remote = get_host_info().HTTP_REMOTE_ORIGIN;
-// FIXME: otherRemote might not be accessible on some test environments.
-var otherRemote = local.replace("http://", "http://www.");
-
-corsCookies("Omit mode: no cookie sent", local, local, "omit", ["g=7"]);
-corsCookies("Include mode: 1 cookie", remote, remote, "include", ["a=1"]);
-corsCookies("Include mode: local cookies are not sent with remote request", local, remote, "include", ["c=3"]);
-corsCookies("Include mode: remote cookies are not sent with local request", remote, local, "include", ["d=4"]);
-corsCookies("Same-origin mode: cookies are discarded in cors request", remote, remote, "same-origin", ["f=6"]);
-corsCookies("Include mode: remote cookies are not sent with other remote request", remote, otherRemote, "include", ["e=5"]);
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorscookiesworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsfilteringexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,6 +15,8 @@
</span><span class="cx"> PASS CORS filter on Server header, header is exposed
</span><span class="cx"> PASS CORS filter on Warning header, header is exposed
</span><span class="cx"> PASS CORS filter on Content-Length header, header is exposed
</span><del>-PASS CORS filter on Set-Cookie header, header is exposed
-PASS CORS filter on Set-Cookie2 header, header is exposed
</del><ins>+PASS CORS filter on Set-Cookie header, header is forbidden
+PASS CORS filter on Set-Cookie2 header, header is forbidden
+PASS CORS filter on Set-Cookie header, header is forbidden(credentials = include)
+PASS CORS filter on Set-Cookie2 header, header is forbidden(credentials = include)
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsfilteringworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,6 +15,8 @@
</span><span class="cx"> PASS CORS filter on Server header, header is exposed
</span><span class="cx"> PASS CORS filter on Warning header, header is exposed
</span><span class="cx"> PASS CORS filter on Content-Length header, header is exposed
</span><del>-PASS CORS filter on Set-Cookie header, header is exposed
-PASS CORS filter on Set-Cookie2 header, header is exposed
</del><ins>+PASS CORS filter on Set-Cookie header, header is forbidden
+PASS CORS filter on Set-Cookie2 header, header is forbidden
+PASS CORS filter on Set-Cookie header, header is forbidden(credentials = include)
+PASS CORS filter on Set-Cookie2 header, header is forbidden(credentials = include)
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsfilteringjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -20,13 +20,17 @@
</span><span class="cx"> }, "CORS filter on " + headerName + " header");
</span><span class="cx"> }
</span><span class="cx">
</span><del>-function corsExposeFilter(corsUrl, headerName, headerValue, isForbidden) {
</del><ins>+function corsExposeFilter(corsUrl, headerName, headerValue, isForbidden, withCredentials) {
</ins><span class="cx"> var url = corsUrl + "?pipe=header(" + headerName + "," + encodeURIComponent(headerValue) +")|" +
</span><del>- "header(Access-Control-Allow-Origin,*)" +
</del><ins>+ "header(Access-Control-Allow-Origin, http://{{host}}:{{ports[http][0]}})" +
+ "header(Access-Control-Allow-Credentials, true)" +
</ins><span class="cx"> "header(Access-Control-Expose-Headers," + headerName + ")";
</span><span class="cx">
</span><ins>+ var title = "CORS filter on " + headerName + " header, header is " + (isForbidden ? "forbidden" : "exposed");
+ if (withCredentials)
+ title+= "(credentials = include)";
</ins><span class="cx"> promise_test(function(test) {
</span><del>- return fetch(url).then(function(resp) {
</del><ins>+ return fetch(new Request(url, { credentials: withCredentials ? "include" : "omit" })).then(function(resp) {
</ins><span class="cx"> assert_equals(resp.status, 200, "Fetch success with code 200");
</span><span class="cx"> assert_equals(resp.type , "cors", "CORS fetch's response has cors type");
</span><span class="cx"> if (!isForbidden) {
</span><span class="lines">@@ -37,7 +41,7 @@
</span><span class="cx"> }
</span><span class="cx"> test.done();
</span><span class="cx"> });
</span><del>- }, "CORS filter on " + headerName + " header, header is exposed");
</del><ins>+ }, title);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> var url = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + RESOURCES_DIR + "top.txt";
</span><span class="lines">@@ -60,7 +64,10 @@
</span><span class="cx"> corsExposeFilter(url, "Server", "wptServe" , false);
</span><span class="cx"> corsExposeFilter(url, "Warning", "Mind the gap" , false);
</span><span class="cx"> corsExposeFilter(url, "Content-Length", "0" , false);
</span><ins>+
</ins><span class="cx"> corsExposeFilter(url, "Set-Cookie", "name=value" , true);
</span><span class="cx"> corsExposeFilter(url, "Set-Cookie2", "name=value" , true);
</span><ins>+corsExposeFilter(url, "Set-Cookie", "name=value" , true, true);
+corsExposeFilter(url, "Set-Cookie2", "name=value" , true, true);
</ins><span class="cx">
</span><span class="cx"> done();
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-
-PASS Cross domain basic usage [GET]
-PASS Same domain different port [GET]
-PASS Cross domain different port [GET]
-PASS Cross domain different protocol [GET]
-PASS Same domain different protocol different port [GET]
-PASS Cross domain [POST]
-PASS Cross domain [HEAD]
-PASS Cross domain [GET] [Accept: */*]
-PASS Cross domain [GET] [Accept-Language: fr]
-PASS Cross domain [GET] [Content-Language: fr]
-PASS Cross domain [GET] [Content-Type: application/x-www-form-urlencoded]
-PASS Cross domain [GET] [Content-Type: multipart/form-data]
-PASS Cross domain [GET] [Content-Type: text/plain]
-PASS Cross domain [GET] [Content-Type: text/plain;charset=utf-8]
-PASS Cross domain [GET] [Content-Type: Text/Plain;charset=utf-8]
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-
-PASS Cross domain basic usage [GET]
-PASS Same domain different port [GET]
-PASS Cross domain different port [GET]
-PASS Cross domain different protocol [GET]
-PASS Same domain different protocol different port [GET]
-PASS Cross domain [POST]
-PASS Cross domain [HEAD]
-PASS Cross domain [GET] [Accept: */*]
-PASS Cross domain [GET] [Accept-Language: fr]
-PASS Cross domain [GET] [Content-Language: fr]
-PASS Cross domain [GET] [Content-Type: application/x-www-form-urlencoded]
-PASS Cross domain [GET] [Content-Type: multipart/form-data]
-PASS Cross domain [GET] [Content-Type: text/plain]
-PASS Cross domain [GET] [Content-Type: text/plain;charset=utf-8]
-PASS Cross domain [GET] [Content-Type: Text/Plain;charset=utf-8]
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,20 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: CORS request with simple methods and headers</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-method">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-header">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-no-preflight.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 25: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function corsNoPreflight(desc, baseURL, method, headerName, headerValue) {
+
+ var uuid_token = token();
+ var url = baseURL + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+ var urlParameters = "?token=" + uuid_token + "&max_age=0";
+ var requestInit = {"mode": "cors", "method": method, "headers":{}};
+ if (headerName)
+ requestInit["headers"][headerName] = headerValue;
+
+ promise_test(function(test) {
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
+ assert_equals(resp.status, 200, "Clean stash response's status is 200");
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "Response's status is 200");
+ assert_equals(resp.headers.get("x-did-preflight"), "0", "No preflight request has been made");
+ });
+ });
+ }, desc);
+}
+
+var host_info = get_host_info();
+
+corsNoPreflight("Cross domain basic usage [GET]", host_info.HTTP_REMOTE_ORIGIN, "GET");
+corsNoPreflight("Same domain different port [GET]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET");
+corsNoPreflight("Cross domain different port [GET]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET");
+corsNoPreflight("Cross domain different protocol [GET]", host_info.HTTPS_REMOTE_ORIGIN, "GET");
+corsNoPreflight("Same domain different protocol different port [GET]", host_info.HTTPS_ORIGIN, "GET");
+corsNoPreflight("Cross domain [POST]", host_info.HTTP_REMOTE_ORIGIN, "POST");
+corsNoPreflight("Cross domain [HEAD]", host_info.HTTP_REMOTE_ORIGIN, "HEAD");
+corsNoPreflight("Cross domain [GET] [Accept: */*]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Accept", "*/*");
+corsNoPreflight("Cross domain [GET] [Accept-Language: fr]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Accept-Language", "fr");
+corsNoPreflight("Cross domain [GET] [Content-Language: fr]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Language", "fr");
+corsNoPreflight("Cross domain [GET] [Content-Type: application/x-www-form-urlencoded]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "application/x-www-form-urlencoded");
+corsNoPreflight("Cross domain [GET] [Content-Type: multipart/form-data]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "multipart/form-data");
+corsNoPreflight("Cross domain [GET] [Content-Type: text/plain]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "text/plain");
+corsNoPreflight("Cross domain [GET] [Content-Type: text/plain;charset=utf-8]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "text/plain;charset=utf-8");
+corsNoPreflight("Cross domain [GET] [Content-Type: Text/Plain;charset=utf-8]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "Text/Plain;charset=utf-8");
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflighthtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,21 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: CORS request with simple methods and headers</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-method">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-header">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-no-preflight.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,46 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/common/utils.js");
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function corsNoPreflight(desc, baseURL, method, headerName, headerValue) {
-
- var uuid_token = token();
- var url = baseURL + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- var requestInit = {"mode": "cors", "method": method, "headers":{}};
- if (headerName)
- requestInit["headers"][headerName] = headerValue;
-
- promise_test(function(test) {
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "0", "No preflight request has been made");
- });
- });
- }, desc);
-}
-
-var host_info = get_host_info();
-
-corsNoPreflight("Cross domain basic usage [GET]", host_info.HTTP_REMOTE_ORIGIN, "GET");
-corsNoPreflight("Same domain different port [GET]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET");
-corsNoPreflight("Cross domain different port [GET]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET");
-corsNoPreflight("Cross domain different protocol [GET]", host_info.HTTPS_REMOTE_ORIGIN, "GET");
-corsNoPreflight("Same domain different protocol different port [GET]", host_info.HTTPS_ORIGIN, "GET");
-corsNoPreflight("Cross domain [POST]", host_info.HTTP_REMOTE_ORIGIN, "POST");
-corsNoPreflight("Cross domain [HEAD]", host_info.HTTP_REMOTE_ORIGIN, "HEAD");
-corsNoPreflight("Cross domain [GET] [Accept: */*]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Accept", "*/*");
-corsNoPreflight("Cross domain [GET] [Accept-Language: fr]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Accept-Language", "fr");
-corsNoPreflight("Cross domain [GET] [Content-Language: fr]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Language", "fr");
-corsNoPreflight("Cross domain [GET] [Content-Type: application/x-www-form-urlencoded]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "application/x-www-form-urlencoded");
-corsNoPreflight("Cross domain [GET] [Content-Type: multipart/form-data]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "multipart/form-data");
-corsNoPreflight("Cross domain [GET] [Content-Type: text/plain]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "text/plain");
-corsNoPreflight("Cross domain [GET] [Content-Type: text/plain;charset=utf-8]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "text/plain;charset=utf-8");
-corsNoPreflight("Cross domain [GET] [Content-Type: Text/Plain;charset=utf-8]", host_info.HTTP_REMOTE_ORIGIN, "GET" , "Content-Type", "Text/Plain;charset=utf-8");
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsnopreflightworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-
-PASS Cross domain different subdomain [origin OK]
-PASS Cross domain different subdomain [origin KO]
-PASS Same domain different port [origin OK]
-PASS Same domain different port [origin KO]
-PASS Cross domain different port [origin OK]
-PASS Cross domain different port [origin KO]
-PASS Cross domain different protocol [origin OK]
-PASS Cross domain different protocol [origin KO]
-PASS Same domain different protocol different port [origin OK]
-PASS Same domain different protocol different port [origin KO]
-PASS Cross domain [POST] [origin OK]
-PASS Cross domain [POST] [origin KO]
-PASS Cross domain [HEAD] [origin OK]
-PASS Cross domain [HEAD] [origin KO]
-PASS CORS preflight [PUT] [origin OK]
-PASS CORS preflight [PUT] [origin KO]
-PASS Allowed origin: "" [origin KO]
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,27 +0,0 @@
</span><del>-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
-
-PASS Cross domain different subdomain [origin OK]
-PASS Cross domain different subdomain [origin KO]
-PASS Same domain different port [origin OK]
-PASS Same domain different port [origin KO]
-PASS Cross domain different port [origin OK]
-PASS Cross domain different port [origin KO]
-PASS Cross domain different protocol [origin OK]
-PASS Cross domain different protocol [origin KO]
-PASS Same domain different protocol different port [origin OK]
-PASS Same domain different protocol different port [origin KO]
-PASS Cross domain [POST] [origin OK]
-PASS Cross domain [POST] [origin KO]
-PASS Cross domain [HEAD] [origin OK]
-PASS Cross domain [HEAD] [origin KO]
-PASS CORS preflight [PUT] [origin OK]
-PASS CORS preflight [PUT] [origin KO]
-PASS Allowed origin: "" [origin KO]
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: check Access-Control-Allow-Origin header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-check">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-origin.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 30: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,51 @@
</span><ins>+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+/* If origin is undefined, it is set to fetched url's origin*/
+function corsOrigin(desc, baseURL, method, origin, shouldPass) {
+ if (!origin)
+ origin = baseURL;
+
+ var uuid_token = token();
+ var urlParameters = "?token=" + uuid_token + "&max_age=0&origin=" + encodeURIComponent(origin) + "&allow_methods=" + method;
+ var url = baseURL + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+ var requestInit = {"mode": "cors", "method": method};
+
+ promise_test(function(test) {
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
+ assert_equals(resp.status, 200, "Clean stash response's status is 200");
+ if (shouldPass) {
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "Response's status is 200");
+ });
+ } else {
+ return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
+ }
+ });
+ }, desc);
+
+}
+
+var host_info = get_host_info();
+
+/* Actual origin */
+var origin = host_info.HTTP_ORIGIN;
+
+corsOrigin("Cross domain different subdomain [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "GET", origin, true);
+corsOrigin("Cross domain different subdomain [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "GET", undefined, false);
+corsOrigin("Same domain different port [origin OK]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET", origin, true);
+corsOrigin("Same domain different port [origin KO]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET", undefined, false);
+corsOrigin("Cross domain different port [origin OK]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET", origin, true);
+corsOrigin("Cross domain different port [origin KO]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET", undefined, false);
+corsOrigin("Cross domain different protocol [origin OK]", host_info.HTTPS_REMOTE_ORIGIN, "GET", origin, true);
+corsOrigin("Cross domain different protocol [origin KO]", host_info.HTTPS_REMOTE_ORIGIN, "GET", undefined, false);
+corsOrigin("Same domain different protocol different port [origin OK]", host_info.HTTPS_ORIGIN, "GET", origin, true);
+corsOrigin("Same domain different protocol different port [origin KO]", host_info.HTTPS_ORIGIN, "GET", undefined, false);
+corsOrigin("Cross domain [POST] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "POST", origin, true);
+corsOrigin("Cross domain [POST] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "POST", undefined, false);
+corsOrigin("Cross domain [HEAD] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "HEAD", origin, true);
+corsOrigin("Cross domain [HEAD] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "HEAD", undefined, false);
+corsOrigin("CORS preflight [PUT] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "PUT", origin, true);
+corsOrigin("CORS preflight [PUT] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "PUT", undefined, false);
+corsOrigin("Allowed origin: \"\" [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "GET", "" , false);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,20 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: check Access-Control-Allow-Origin header management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-check">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-origin.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,56 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/common/utils.js");
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-/* If origin is undefined, it is set to fetched url's origin*/
-function corsOrigin(desc, baseURL, method, origin, shouldPass) {
- if (!origin)
- origin = baseURL;
-
- var uuid_token = token();
- var urlParameters = "?token=" + uuid_token + "&max_age=0&origin=" + encodeURIComponent(origin) + "&allow_methods=" + method;
- var url = baseURL + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
- var requestInit = {"mode": "cors", "method": method};
-
- promise_test(function(test) {
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- if (shouldPass) {
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- });
- } else {
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- }
- });
- }, desc);
-
-}
-
-var host_info = get_host_info();
-
-/* Actual origin */
-var origin = host_info.HTTP_ORIGIN;
-
-corsOrigin("Cross domain different subdomain [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "GET", origin, true);
-corsOrigin("Cross domain different subdomain [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "GET", undefined, false);
-corsOrigin("Same domain different port [origin OK]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET", origin, true);
-corsOrigin("Same domain different port [origin KO]", host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT, "GET", undefined, false);
-corsOrigin("Cross domain different port [origin OK]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET", origin, true);
-corsOrigin("Cross domain different port [origin KO]", host_info.HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT, "GET", undefined, false);
-corsOrigin("Cross domain different protocol [origin OK]", host_info.HTTPS_REMOTE_ORIGIN, "GET", origin, true);
-corsOrigin("Cross domain different protocol [origin KO]", host_info.HTTPS_REMOTE_ORIGIN, "GET", undefined, false);
-corsOrigin("Same domain different protocol different port [origin OK]", host_info.HTTPS_ORIGIN, "GET", origin, true);
-corsOrigin("Same domain different protocol different port [origin KO]", host_info.HTTPS_ORIGIN, "GET", undefined, false);
-corsOrigin("Cross domain [POST] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "POST", origin, true);
-corsOrigin("Cross domain [POST] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "POST", undefined, false);
-corsOrigin("Cross domain [HEAD] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "HEAD", origin, true);
-corsOrigin("Cross domain [HEAD] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "HEAD", undefined, false);
-corsOrigin("CORS preflight [PUT] [origin OK]", host_info.HTTP_REMOTE_ORIGIN, "PUT", origin, true);
-corsOrigin("CORS preflight [PUT] [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "PUT", undefined, false);
-corsOrigin("Allowed origin: \"\" [origin KO]", host_info.HTTP_REMOTE_ORIGIN, "GET", "" , false);
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsoriginworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-
-PASS CORS [DELETE], server allows
-PASS CORS [DELETE], server refuses
-PASS CORS [PUT], server allows
-PASS CORS [PUT], server refuses
-PASS CORS [PATCH], server allows
-PASS CORS [PATCH], server refuses
-PASS CORS [NEW], server allows
-PASS CORS [NEW], server refuses
-PASS CORS [GET] [x-test-header: allowed], server allows
-PASS CORS [GET] [x-test-header: refused], server refuses
-PASS CORS [GET] [several headers], server allows
-PASS CORS [GET] [several headers], server refuses
-PASS CORS [PUT] [several headers], server allows
-PASS CORS [PUT] [several headers], server refuses
-PASS CORS [PUT] [only safe headers], server allows
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-
-FAIL Redirection 301 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 301 after preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 302 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 302 after preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 303 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 303 after preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 307 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 307 after preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 308 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 308 after preflight failed assert_not_equals: got disallowed value undefined
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-
-FAIL Redirection 301 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 301 after preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 302 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 302 after preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 303 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 303 after preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 307 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 307 after preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 308 on preflight failed assert_not_equals: got disallowed value undefined
-FAIL Redirection 308 after preflight failed assert_not_equals: got disallowed value undefined
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: redirection handling for cors with preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight-redirect.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 28: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function corsPreflightRedirect(desc, redirectUrl, redirectLocation, redirectStatus, redirectPreflight) {
+ var uuid_token = token();
+ var url = redirectUrl;
+ var urlParameters = "?token=" + uuid_token + "&max_age=0";
+ urlParameters += "&redirect_status=" + redirectStatus;
+ urlParameters += "&location=" + encodeURIComponent(redirectLocation);
+
+ if (redirectPreflight)
+ urlParameters += "&redirect_preflight";
+ var requestInit = {"mode": "cors", "redirect": "follow"};
+
+ /* Force preflight */
+ requestInit["headers"] = {"x-force-preflight": ""};
+ urlParameters += "&allow_headers=x-force-preflight";
+
+ promise_test(function(test) {
+ fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
+ assert_equals(resp.status, 200, "Clean stash response's status is 200");
+ return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
+ });
+ }, desc);
+}
+
+var redirectUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
+var locationUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+
+for (var code of [301, 302, 303, 307, 308]) {
+ /* preflight should not follow the redirection */
+ corsPreflightRedirect("Redirection " + code + " on preflight failed", redirectUrl, locationUrl, code, true);
+ /* preflight is done before redirection: preflight force redirect to error */
+ corsPreflightRedirect("Redirection " + code + " after preflight failed", redirectUrl, locationUrl, code, false);
+}
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirecthtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: redirection handling for cors with preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-preflight-redirect.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,41 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function corsPreflightRedirect(desc, redirectUrl, redirectLocation, redirectStatus, redirectPreflight) {
- var uuid_token = token();
- var url = redirectUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- urlParameters += "&redirect_status=" + redirectStatus;
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- if (redirectPreflight)
- urlParameters += "&redirect_preflight";
- var requestInit = {"mode": "cors", "redirect": "follow"};
-
- /* Force preflight */
- requestInit["headers"] = {"x-force-preflight": ""};
- urlParameters += "&allow_headers=x-force-preflight";
-
- promise_test(function(test) {
- fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- });
- }, desc);
-}
-
-var redirectUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var locationUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-for (var code of [301, 302, 303, 307, 308]) {
- /* preflight should not follow the redirection */
- corsPreflightRedirect("Redirection " + code + " on preflight failed", redirectUrl, locationUrl, code, true);
- /* preflight is done before redirection: preflight force redirect to error */
- corsPreflightRedirect("Redirection " + code + " after preflight failed", redirectUrl, locationUrl, code, false);
-}
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightredirectworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-
-PASS Referrer policy: no-referrer and referrer: default
-PASS Referrer policy: no-referrer and referrer: 'myreferrer'
-PASS Referrer policy: "" and referrer: default
-PASS Referrer policy: "" and referrer: 'myreferrer'
-PASS Referrer policy: origin and referrer: default
-PASS Referrer policy: origin and referrer: 'myreferrer'
-PASS Referrer policy: origin-when-cross-origin and referrer: default
-PASS Referrer policy: origin-when-cross-origin and referrer: 'myreferrer'
-PASS Referrer policy: unsafe-url and referrer: default
-PASS Referrer policy: unsafe-url and referrer: 'myreferrer'
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-
-PASS Referrer policy: no-referrer and referrer: default
-PASS Referrer policy: no-referrer and referrer: 'myreferrer'
-PASS Referrer policy: "" and referrer: default
-PASS Referrer policy: "" and referrer: 'myreferrer'
-PASS Referrer policy: origin and referrer: default
-PASS Referrer policy: origin and referrer: 'myreferrer'
-PASS Referrer policy: origin-when-cross-origin and referrer: default
-PASS Referrer policy: origin-when-cross-origin and referrer: 'myreferrer'
-PASS Referrer policy: unsafe-url and referrer: default
-PASS Referrer policy: unsafe-url and referrer: 'myreferrer'
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: Referer header management in CORS request with preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-preflight-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight-referrer.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferreranyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 32: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferreranyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferreranyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function corsPreflightReferrer(desc, corsUrl, referrerPolicy, referrer, expectedReferrer) {
+ var uuid_token = token();
+ var url = corsUrl;
+ var urlParameters = "?token=" + uuid_token + "&max_age=0";
+ var requestInit = {"mode": "cors", "referrerPolicy": referrerPolicy};
+
+ if (referrer)
+ requestInit.referrer = referrer;
+
+ /* Force preflight */
+ requestInit["headers"] = {"x-force-preflight": ""};
+ urlParameters += "&allow_headers=x-force-preflight";
+
+ promise_test(function(test) {
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
+ assert_equals(resp.status, 200, "Clean stash response's status is 200");
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "Response's status is 200");
+ assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
+ assert_equals(resp.headers.get("x-preflight-referrer"), expectedReferrer, "Preflight's referrer is correct");
+ assert_equals(resp.headers.get("x-referrer"), expectedReferrer, "Request's referrer is correct");
+ assert_equals(resp.headers.get("x-control-request-headers"), "", "Access-Control-Allow-Headers value");
+ });
+ });
+ }, desc + " and referrer: " + (referrer ? "'" + referrer + "'" : "default"));
+}
+
+var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+var origin = get_host_info().HTTP_ORIGIN + "/";
+
+corsPreflightReferrer("Referrer policy: no-referrer", corsUrl, "no-referrer", undefined, "");
+corsPreflightReferrer("Referrer policy: no-referrer", corsUrl, "no-referrer", "myreferrer", "");
+
+corsPreflightReferrer("Referrer policy: \"\"", corsUrl, "", undefined, location.toString())
+corsPreflightReferrer("Referrer policy: \"\"", corsUrl, "", "myreferrer", new URL("myreferrer", location).toString());
+
+corsPreflightReferrer("Referrer policy: origin", corsUrl, "origin", undefined, origin);
+corsPreflightReferrer("Referrer policy: origin", corsUrl, "origin", "myreferrer", origin);
+
+corsPreflightReferrer("Referrer policy: origin-when-cross-origin", corsUrl, "origin-when-cross-origin", undefined, origin);
+corsPreflightReferrer("Referrer policy: origin-when-cross-origin", corsUrl, "origin-when-cross-origin", "myreferrer", origin);
+
+corsPreflightReferrer("Referrer policy: unsafe-url", corsUrl, "unsafe-url", undefined, location.toString());
+corsPreflightReferrer("Referrer policy: unsafe-url", corsUrl, "unsafe-url", "myreferrer", new URL("myreferrer", location).toString());
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: Referer header management in CORS request with preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-preflight-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-preflight-referrer.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,53 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/utils.js");
- importScripts("/common/get-host-info.sub.js");
- importScripts("../resources/utils.js");
-}
-
-function corsPreflightReferrer(desc, corsUrl, referrerPolicy, referrer, expectedReferrer) {
- var uuid_token = token();
- var url = corsUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- var requestInit = {"mode": "cors", "referrerPolicy": referrerPolicy};
-
- if (referrer)
- requestInit.referrer = referrer;
-
- /* Force preflight */
- requestInit["headers"] = {"x-force-preflight": ""};
- urlParameters += "&allow_headers=x-force-preflight";
-
- promise_test(function(test) {
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
- assert_equals(resp.headers.get("x-preflight-referrer"), expectedReferrer, "Preflight's referrer is correct");
- assert_equals(resp.headers.get("x-referrer"), expectedReferrer, "Request's referrer is correct");
- assert_equals(resp.headers.get("x-control-request-headers"), "", "Access-Control-Allow-Headers value");
- });
- });
- }, desc + " and referrer: " + (referrer ? "'" + referrer + "'" : "default"));
-}
-
-var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-var origin = get_host_info().HTTP_ORIGIN + "/";
-
-corsPreflightReferrer("Referrer policy: no-referrer", corsUrl, "no-referrer", undefined, "");
-corsPreflightReferrer("Referrer policy: no-referrer", corsUrl, "no-referrer", "myreferrer", "");
-
-corsPreflightReferrer("Referrer policy: \"\"", corsUrl, "", undefined, location.toString())
-corsPreflightReferrer("Referrer policy: \"\"", corsUrl, "", "myreferrer", new URL("myreferrer", location).toString());
-
-corsPreflightReferrer("Referrer policy: origin", corsUrl, "origin", undefined, origin);
-corsPreflightReferrer("Referrer policy: origin", corsUrl, "origin", "myreferrer", origin);
-
-corsPreflightReferrer("Referrer policy: origin-when-cross-origin", corsUrl, "origin-when-cross-origin", undefined, origin);
-corsPreflightReferrer("Referrer policy: origin-when-cross-origin", corsUrl, "origin-when-cross-origin", "myreferrer", origin);
-
-corsPreflightReferrer("Referrer policy: unsafe-url", corsUrl, "unsafe-url", undefined, location.toString());
-corsPreflightReferrer("Referrer policy: unsafe-url", corsUrl, "unsafe-url", "myreferrer", new URL("myreferrer", location).toString());
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightreferrerworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,11 +0,0 @@
</span><del>-CONSOLE MESSAGE: Fetch API cannot load http://127.0.0.1:8800/fetch/api/resources/preflight.py?allow_methods=*&allow_headers=x-test&. Method SUPER is not allowed by Access-Control-Allow-Methods.
-CONSOLE MESSAGE: Fetch API cannot load http://127.0.0.1:8800/fetch/api/resources/preflight.py?allow_methods=*&allow_headers=*&. Method OK is not allowed by Access-Control-Allow-Methods.
-CONSOLE MESSAGE: Fetch API cannot load http://127.0.0.1:8800/fetch/api/resources/preflight.py?origin=http://localhost:8800&credentials&allow_methods=*&allow_headers=*&. Method OK is not allowed by Access-Control-Allow-Methods.
-
-PASS CORS that succeeds with credentials: false; method: GET (allowed: get); header: X-Test,1 (allowed: x-test)
-FAIL CORS that succeeds with credentials: false; method: SUPER (allowed: *); header: X-Test,1 (allowed: x-test) promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL CORS that succeeds with credentials: false; method: OK (allowed: *); header: X-Test,1 (allowed: *) promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS CORS that fails with credentials: true; method: OK (allowed: *); header: X-Test,1 (allowed: *)
-FAIL CORS that fails with credentials: true; method: GET (allowed: *); header: undefined (allowed: ) assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL CORS that fails with credentials: true; method: GET (allowed: *); header: undefined (allowed: *) assert_unreached: Should have rejected: undefined Reached unreachable code
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,8 +0,0 @@
</span><del>-
-PASS CORS that succeeds with credentials: false; method: GET (allowed: get); header: X-Test,1 (allowed: x-test)
-FAIL CORS that succeeds with credentials: false; method: SUPER (allowed: *); header: X-Test,1 (allowed: x-test) promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL CORS that succeeds with credentials: false; method: OK (allowed: *); header: X-Test,1 (allowed: *) promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS CORS that fails with credentials: true; method: OK (allowed: *); header: X-Test,1 (allowed: *)
-FAIL CORS that fails with credentials: true; method: GET (allowed: *); header: undefined (allowed: ) assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL CORS that fails with credentials: true; method: GET (allowed: *); header: undefined (allowed: *) assert_unreached: Should have rejected: undefined Reached unreachable code
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: CORS preflight with headers using *</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight-star.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstaranyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 4: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstaranyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstaranyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+const url = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py",
+ origin = location.origin // assuming an ASCII origin
+
+function preflightTest(succeeds, withCredentials, allowMethod, allowHeader, useMethod, useHeader) {
+ return promise_test(t => {
+ let testURL = url + "?",
+ requestInit = {}
+ if (withCredentials) {
+ testURL += "origin=" + origin + "&"
+ testURL += "credentials&"
+ requestInit.credentials = "include"
+ }
+ if (useMethod) {
+ requestInit.method = useMethod
+ }
+ if (useHeader) {
+ requestInit.headers = [useHeader]
+ }
+ testURL += "allow_methods=" + allowMethod + "&"
+ testURL += "allow_headers=" + allowHeader + "&"
+
+ if (succeeds) {
+ return fetch(testURL, requestInit).then(resp => {
+ assert_equals(resp.headers.get("x-origin"), origin)
+ })
+ } else {
+ return promise_rejects(t, new TypeError(), fetch(testURL, requestInit))
+ }
+ }, "CORS that " + (succeeds ? "succeeds" : "fails") + " with credentials: " + withCredentials + "; method: " + useMethod + " (allowed: " + allowMethod + "); header: " + useHeader + " (allowed: " + allowHeader + ")")
+}
+
+preflightTest(true, false, "get", "x-test", "GET", ["X-Test", "1"])
+preflightTest(true, false, "*", "x-test", "SUPER", ["X-Test", "1"])
+preflightTest(true, false, "*", "*", "OK", ["X-Test", "1"])
+preflightTest(false, true, "*", "*", "OK", ["X-Test", "1"])
+preflightTest(false, true, "*", "", "PUT", undefined)
+preflightTest(false, true, "put", "*", "PUT", undefined)
+preflightTest(false, true, "get", "*", "GET", ["X-Test", "1"])
+preflightTest(false, true, "*", "*", "GET", ["X-Test", "1"])
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: CORS preflight with headers using *</title>
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-preflight-star.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,45 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-const url = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py",
- origin = location.origin // assuming an ASCII origin
-
-function preflightTest(succeeds, withCredentials, allowMethod, allowHeader, useMethod, useHeader) {
- return promise_test(t => {
- let testURL = url + "?",
- requestInit = {}
- if (withCredentials) {
- testURL += "origin=" + origin + "&"
- testURL += "credentials&"
- requestInit.credentials = "include"
- }
- if (useMethod) {
- requestInit.method = useMethod
- }
- if (useHeader) {
- requestInit.headers = [useHeader]
- }
- testURL += "allow_methods=" + allowMethod + "&"
- testURL += "allow_headers=" + allowHeader + "&"
-
- if (succeeds) {
- return fetch(testURL, requestInit).then(resp => {
- assert_equals(resp.headers.get("x-origin"), origin)
- })
- } else {
- return promise_rejects(t, new TypeError(), fetch(testURL, requestInit))
- }
- }, "CORS that " + (succeeds ? "succeeds" : "fails") + " with credentials: " + withCredentials + "; method: " + useMethod + " (allowed: " + allowMethod + "); header: " + useHeader + " (allowed: " + allowHeader + ")")
-}
-
-preflightTest(true, false, "get", "x-test", "GET", ["X-Test", "1"])
-preflightTest(true, false, "*", "x-test", "SUPER", ["X-Test", "1"])
-preflightTest(true, false, "*", "*", "OK", ["X-Test", "1"])
-preflightTest(false, true, "*", "*", "OK", ["X-Test", "1"])
-preflightTest(false, true, "*", "", "GET", undefined)
-preflightTest(false, true, "*", "*", "GET", undefined)
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstarworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,29 +0,0 @@
</span><del>-
-FAIL Preflight answered with status 200 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 201 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 202 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 203 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 204 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 205 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 206 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 300 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 301 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 302 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 303 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 304 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 305 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 306 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 307 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 308 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 400 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 401 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 402 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 403 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 404 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 405 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 501 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 502 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 503 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 504 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 505 assert_not_equals: got disallowed value undefined
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,29 +0,0 @@
</span><del>-
-FAIL Preflight answered with status 200 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 201 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 202 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 203 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 204 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 205 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 206 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 300 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 301 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 302 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 303 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 304 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 305 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 306 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 307 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 308 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 400 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 401 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 402 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 403 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 404 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 405 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 501 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 502 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 503 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 504 assert_not_equals: got disallowed value undefined
-FAIL Preflight answered with status 505 assert_not_equals: got disallowed value undefined
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: preflight status code handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-preflight-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight-status.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 32: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+/* Check preflight is ok if status is ok status (200 to 299)*/
+function corsPreflightStatus(desc, corsUrl, preflightStatus) {
+ var uuid_token = token();
+ var url = corsUrl;
+ var requestInit = {"mode": "cors"};
+ /* Force preflight */
+ requestInit["headers"] = {"x-force-preflight": ""};
+
+ var urlParameters = "?token=" + uuid_token + "&max_age=0";
+ urlParameters += "&allow_headers=x-force-preflight";
+ urlParameters += "&preflight_status=" + preflightStatus;
+
+ promise_test(function(test) {
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
+ assert_equals(resp.status, 200, "Clean stash response's status is 200");
+ if (200 <= preflightStatus && 299 >= preflightStatus) {
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "Response's status is 200");
+ assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
+ });
+ } else {
+ return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
+ }
+ });
+ }, desc);
+}
+
+var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+for (status of [200, 201, 202, 203, 204, 205, 206,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308,
+ 400, 401, 402, 403, 404, 405,
+ 501, 502, 503, 504, 505])
+ corsPreflightStatus("Preflight answered with status " + status, corsUrl, status);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatushtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: preflight status code handling</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#cors-preflight-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-preflight-status.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,42 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-/* Check preflight is ok if status is ok status (200 to 299)*/
-function corsPreflightStatus(desc, corsUrl, preflightStatus) {
- var uuid_token = token();
- var url = corsUrl;
- var requestInit = {"mode": "cors"};
- /* Force preflight */
- requestInit["headers"] = {"x-force-preflight": ""};
-
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- urlParameters += "&allow_headers=x-force-preflight";
- urlParameters += "&preflight_status=" + preflightStatus;
-
- promise_test(function(test) {
- fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- assert_equals(resp.status, 200, "Clean stash response's status is 200");
- if (200 <= preflightStatus && 299 >= preflightStatus) {
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
- });
- } else {
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit));
- }
- });
- }, desc);
-}
-
-var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-for (status of [200, 201, 202, 203, 204, 205, 206,
- 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 400, 401, 402, 403, 404, 405,
- 501, 502, 503, 504, 505])
- corsPreflightStatus("Preflight answered with status " + status, corsUrl, status);
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightstatusworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-
-PASS CORS [DELETE], server allows
-PASS CORS [DELETE], server refuses
-PASS CORS [PUT], server allows
-PASS CORS [PUT], server refuses
-PASS CORS [PATCH], server allows
-PASS CORS [PATCH], server refuses
-PASS CORS [NEW], server allows
-PASS CORS [NEW], server refuses
-PASS CORS [GET] [x-test-header: allowed], server allows
-PASS CORS [GET] [x-test-header: refused], server refuses
-PASS CORS [GET] [several headers], server allows
-PASS CORS [GET] [several headers], server refuses
-PASS CORS [PUT] [several headers], server allows
-PASS CORS [PUT] [several headers], server refuses
-PASS CORS [PUT] [only safe headers], server allows
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,20 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: Check cors fetches requiring prefligh</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-method">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-header">
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-preflight.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 64: ReferenceError: Can't find variable: get_host_info
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: get_host_info
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,99 @@
</span><ins>+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function headerNames(headers)
+{
+ let names = [];
+ for (let header of headers)
+ names.push(header[0].toLowerCase());
+ return names
+}
+
+/*
+ Check preflight is done
+ Control if server allows method and headers and check accordingly
+ Check control access headers added by UA (for method and headers)
+*/
+function corsPreflight(desc, corsUrl, method, allowed, headers, safeHeaders) {
+ return promise_test(function(test) {
+ var uuid_token = token();
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(response) {
+ var url = corsUrl;
+ var urlParameters = "?token=" + uuid_token + "&max_age=0";
+ var requestInit = {"mode": "cors", "method": method};
+ var requestHeaders = [];
+ if (headers)
+ requestHeaders.push.apply(requestHeaders, headers);
+ if (safeHeaders)
+ requestHeaders.push.apply(requestHeaders, safeHeaders);
+ requestInit["headers"] = requestHeaders;
+
+ if (allowed) {
+ urlParameters += "&allow_methods=" + method + "&control_request_headers";
+ if (headers) {
+ //Make the server allow the headers
+ urlParameters += "&allow_headers=" + headerNames(headers).join("%20%2C");
+ }
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "Response's status is 200");
+ assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
+ if (headers) {
+ var actualHeaders = resp.headers.get("x-control-request-headers").toLowerCase().split(",");
+ for (var i in actualHeaders)
+ actualHeaders[i] = actualHeaders[i].trim();
+ for (var header of headers)
+ assert_in_array(header[0].toLowerCase(), actualHeaders, "Preflight asked permission for header: " + header);
+
+ let accessControlAllowHeaders = headerNames(headers).sort().join(",");
+ assert_equals(resp.headers.get("x-control-request-headers"), accessControlAllowHeaders, "Access-Control-Allow-Headers value");
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
+ } else {
+ assert_equals(resp.headers.get("x-control-request-headers"), null, "Access-Control-Request-Headers should be omitted")
+ }
+ });
+ } else {
+ return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit)).then(function(){
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
+ });
+ }
+ });
+ }, desc);
+}
+
+var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+
+corsPreflight("CORS [DELETE], server allows", corsUrl, "DELETE", true);
+corsPreflight("CORS [DELETE], server refuses", corsUrl, "DELETE", false);
+corsPreflight("CORS [PUT], server allows", corsUrl, "PUT", true);
+corsPreflight("CORS [PUT], server refuses", corsUrl, "PUT", false);
+corsPreflight("CORS [PATCH], server allows", corsUrl, "PATCH", true);
+corsPreflight("CORS [PATCH], server refuses", corsUrl, "PATCH", false);
+corsPreflight("CORS [NEW], server allows", corsUrl, "NEW", true);
+corsPreflight("CORS [NEW], server refuses", corsUrl, "NEW", false);
+
+corsPreflight("CORS [GET] [x-test-header: allowed], server allows", corsUrl, "GET", true, [["x-test-header1", "allowed"]]);
+corsPreflight("CORS [GET] [x-test-header: refused], server refuses", corsUrl, "GET", false, [["x-test-header1", "refused"]]);
+
+var headers = [
+ ["x-test-header1", "allowedOrRefused"],
+ ["x-test-header2", "allowedOrRefused"],
+ ["X-test-header3", "allowedOrRefused"],
+ ["x-test-header-b", "allowedOrRefused"],
+ ["x-test-header-D", "allowedOrRefused"],
+ ["x-test-header-C", "allowedOrRefused"],
+ ["x-test-header-a", "allowedOrRefused"],
+ ["Content-Type", "allowedOrRefused"],
+];
+var safeHeaders= [
+ ["Accept", "*"],
+ ["Accept-Language", "bzh"],
+ ["Content-Language", "eu"],
+];
+
+corsPreflight("CORS [GET] [several headers], server allows", corsUrl, "GET", true, headers, safeHeaders);
+corsPreflight("CORS [GET] [several headers], server refuses", corsUrl, "GET", false, headers, safeHeaders);
+corsPreflight("CORS [PUT] [several headers], server allows", corsUrl, "PUT", true, headers, safeHeaders);
+corsPreflight("CORS [PUT] [several headers], server refuses", corsUrl, "PUT", false, headers, safeHeaders);
+
+corsPreflight("CORS [PUT] [only safe headers], server allows", corsUrl, "PUT", true, null, safeHeaders);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflighthtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,21 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: Check cors fetches requiring preflight</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-method">
- <meta name="help" href="https://fetch.spec.whatwg.org/#simple-header">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="/common/utils.js"></script>
- <script src="cors-preflight.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,104 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/utils.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function headerNames(headers)
-{
- let names = [];
- for (let header of headers)
- names.push(header[0].toLowerCase());
- return names
-}
-
-/*
- Check preflight is done
- Control if server allows method and headers and check accordingly
- Check control access headers added by UA (for method and headers)
-*/
-function corsPreflight(desc, corsUrl, method, allowed, headers, safeHeaders) {
- return promise_test(function(test) {
- var uuid_token = token();
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(response) {
- var url = corsUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- var requestInit = {"mode": "cors", "method": method};
- var requestHeaders = [];
- if (headers)
- requestHeaders.push.apply(requestHeaders, headers);
- if (safeHeaders)
- requestHeaders.push.apply(requestHeaders, safeHeaders);
- requestInit["headers"] = requestHeaders;
-
- if (allowed) {
- urlParameters += "&allow_methods=" + method + "&control_request_headers";
- if (headers) {
- //Make the server allow the headers
- urlParameters += "&allow_headers=" + headerNames(headers).join("%20%2C");
- }
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
- if (headers) {
- var actualHeaders = resp.headers.get("x-control-request-headers").toLowerCase().split(",");
- for (var i in actualHeaders)
- actualHeaders[i] = actualHeaders[i].trim();
- for (var header of headers)
- assert_in_array(header[0].toLowerCase(), actualHeaders, "Preflight asked permission for header: " + header);
-
- let accessControlAllowHeaders = headerNames(headers).sort().join(",");
- assert_equals(resp.headers.get("x-control-request-headers"), accessControlAllowHeaders, "Access-Control-Allow-Headers value");
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
- } else {
- assert_equals(resp.headers.get("x-control-request-headers"), null, "Access-Control-Request-Headers should be omitted")
- }
- });
- } else {
- return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit)).then(function(){
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
- });
- }
- });
- }, desc);
-}
-
-var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-corsPreflight("CORS [DELETE], server allows", corsUrl, "DELETE", true);
-corsPreflight("CORS [DELETE], server refuses", corsUrl, "DELETE", false);
-corsPreflight("CORS [PUT], server allows", corsUrl, "PUT", true);
-corsPreflight("CORS [PUT], server refuses", corsUrl, "PUT", false);
-corsPreflight("CORS [PATCH], server allows", corsUrl, "PATCH", true);
-corsPreflight("CORS [PATCH], server refuses", corsUrl, "PATCH", false);
-corsPreflight("CORS [NEW], server allows", corsUrl, "NEW", true);
-corsPreflight("CORS [NEW], server refuses", corsUrl, "NEW", false);
-
-corsPreflight("CORS [GET] [x-test-header: allowed], server allows", corsUrl, "GET", true, [["x-test-header1", "allowed"]]);
-corsPreflight("CORS [GET] [x-test-header: refused], server refuses", corsUrl, "GET", false, [["x-test-header1", "refused"]]);
-
-var headers = [
- ["x-test-header1", "allowedOrRefused"],
- ["x-test-header2", "allowedOrRefused"],
- ["X-test-header3", "allowedOrRefused"],
- ["x-test-header-b", "allowedOrRefused"],
- ["x-test-header-D", "allowedOrRefused"],
- ["x-test-header-C", "allowedOrRefused"],
- ["x-test-header-a", "allowedOrRefused"],
- ["Content-Type", "allowedOrRefused"],
-];
-var safeHeaders= [
- ["Accept", "*"],
- ["Accept-Language", "bzh"],
- ["Content-Language", "eu"],
-];
-
-corsPreflight("CORS [GET] [several headers], server allows", corsUrl, "GET", true, headers, safeHeaders);
-corsPreflight("CORS [GET] [several headers], server refuses", corsUrl, "GET", false, headers, safeHeaders);
-corsPreflight("CORS [PUT] [several headers], server allows", corsUrl, "PUT", true, headers, safeHeaders);
-corsPreflight("CORS [PUT] [several headers], server refuses", corsUrl, "PUT", false, headers, safeHeaders);
-
-corsPreflight("CORS [PUT] [only safe headers], server allows", corsUrl, "PUT", true, null, safeHeaders);
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorspreflightworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,67 +0,0 @@
</span><del>-
-PASS Redirect 301 from same origin to remote without user and password
-FAIL Redirect 301 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS Redirect 302 from same origin to remote without user and password
-FAIL Redirect 302 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS Redirect 303 from same origin to remote without user and password
-FAIL Redirect 303 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS Redirect 307 from same origin to remote without user and password
-FAIL Redirect 307 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS Redirect 308 from same origin to remote without user and password
-FAIL Redirect 308 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,67 +0,0 @@
</span><del>-
-PASS Redirect 301 from same origin to remote without user and password
-FAIL Redirect 301 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 301 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS Redirect 302 from same origin to remote without user and password
-FAIL Redirect 302 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 302 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS Redirect 303 from same origin to remote without user and password
-FAIL Redirect 303 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 303 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS Redirect 307 from same origin to remote without user and password
-FAIL Redirect 307 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 307 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS Redirect 308 from same origin to remote without user and password
-FAIL Redirect 308 from same origin to remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from same origin to remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from same origin to remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same origin with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same origin with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same origin with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to same remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to another remote with user and password assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to another remote with user assert_unreached: Should have rejected: undefined Reached unreachable code
-FAIL Redirect 308 from remote to another remote with password assert_unreached: Should have rejected: undefined Reached unreachable code
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: redirection url has credentials</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-redirect-credentials.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 21: ReferenceError: Can't find variable: dirname
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: dirname
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,51 @@
</span><ins>+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function corsRedirectCredentials(desc, redirectUrl, redirectLocation, redirectStatus, locationCredentials) {
+ var url = redirectUrl
+ var urlParameters = "?redirect_status=" + redirectStatus;
+ urlParameters += "&location=" + redirectLocation.replace("://", "://" + locationCredentials + "@");
+
+ var requestInit = {"mode": "cors", "redirect": "follow"};
+
+ promise_test(t => {
+ const result = fetch(url + urlParameters, requestInit)
+ if(locationCredentials === "") {
+ return result;
+ } else {
+ return promise_rejects(t, new TypeError(), result);
+ }
+ }, desc);
+}
+
+var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
+var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+
+var host_info = get_host_info();
+
+var localRedirect = host_info.HTTP_ORIGIN + redirPath;
+var remoteRedirect = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + redirPath;
+
+var localLocation = host_info.HTTP_ORIGIN + preflightPath;
+var remoteLocation = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
+var remoteLocation2 = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
+
+for (var code of [301, 302, 303, 307, 308]) {
+ corsRedirectCredentials("Redirect " + code + " from same origin to remote without user and password", localRedirect, remoteLocation, code, "");
+
+ corsRedirectCredentials("Redirect " + code + " from same origin to remote with user and password", localRedirect, remoteLocation, code, "user:password");
+ corsRedirectCredentials("Redirect " + code + " from same origin to remote with user", localRedirect, remoteLocation, code, "user:");
+ corsRedirectCredentials("Redirect " + code + " from same origin to remote with password", localRedirect, remoteLocation, code, ":password");
+
+ corsRedirectCredentials("Redirect " + code + " from remote to same origin with user and password", remoteRedirect, localLocation, code, "user:password");
+ corsRedirectCredentials("Redirect " + code + " from remote to same origin with user", remoteRedirect, localLocation, code, "user:");
+ corsRedirectCredentials("Redirect " + code + " from remote to same origin with password", remoteRedirect, localLocation, code, ":password");
+
+ corsRedirectCredentials("Redirect " + code + " from remote to same remote with user and password", remoteRedirect, remoteLocation, code, "user:password");
+ corsRedirectCredentials("Redirect " + code + " from remote to same remote with user", remoteRedirect, remoteLocation, code, "user:");
+ corsRedirectCredentials("Redirect " + code + " from remote to same remote with password", remoteRedirect, remoteLocation, code, ":password");
+
+ corsRedirectCredentials("Redirect " + code + " from remote to another remote with user and password", remoteRedirect, remoteLocation2, code, "user:password");
+ corsRedirectCredentials("Redirect " + code + " from remote to another remote with user", remoteRedirect, remoteLocation2, code, "user:");
+ corsRedirectCredentials("Redirect " + code + " from remote to another remote with password", remoteRedirect, remoteLocation2, code, ":password");
+}
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialshtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: redirection url has credentials</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-redirect-credentials.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,56 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js")
-}
-
-function corsRedirectCredentials(desc, redirectUrl, redirectLocation, redirectStatus, locationCredentials) {
- var url = redirectUrl
- var urlParameters = "?redirect_status=" + redirectStatus;
- urlParameters += "&location=" + redirectLocation.replace("://", "://" + locationCredentials + "@");
-
- var requestInit = {"mode": "cors", "redirect": "follow"};
-
- promise_test(t => {
- const result = fetch(url + urlParameters, requestInit)
- if(locationCredentials === "") {
- return result;
- } else {
- return promise_rejects(t, new TypeError(), result);
- }
- }, desc);
-}
-
-var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-var host_info = get_host_info();
-
-var localRedirect = host_info.HTTP_ORIGIN + redirPath;
-var remoteRedirect = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + redirPath;
-
-var localLocation = host_info.HTTP_ORIGIN + preflightPath;
-var remoteLocation = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
-var remoteLocation2 = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
-
-for (var code of [301, 302, 303, 307, 308]) {
- corsRedirectCredentials("Redirect " + code + " from same origin to remote without user and password", localRedirect, remoteLocation, code, "");
-
- corsRedirectCredentials("Redirect " + code + " from same origin to remote with user and password", localRedirect, remoteLocation, code, "user:password");
- corsRedirectCredentials("Redirect " + code + " from same origin to remote with user", localRedirect, remoteLocation, code, "user:");
- corsRedirectCredentials("Redirect " + code + " from same origin to remote with password", localRedirect, remoteLocation, code, ":password");
-
- corsRedirectCredentials("Redirect " + code + " from remote to same origin with user and password", remoteRedirect, localLocation, code, "user:password");
- corsRedirectCredentials("Redirect " + code + " from remote to same origin with user", remoteRedirect, localLocation, code, "user:");
- corsRedirectCredentials("Redirect " + code + " from remote to same origin with password", remoteRedirect, localLocation, code, ":password");
-
- corsRedirectCredentials("Redirect " + code + " from remote to same remote with user and password", remoteRedirect, remoteLocation, code, "user:password");
- corsRedirectCredentials("Redirect " + code + " from remote to same remote with user", remoteRedirect, remoteLocation, code, "user:");
- corsRedirectCredentials("Redirect " + code + " from remote to same remote with password", remoteRedirect, remoteLocation, code, ":password");
-
- corsRedirectCredentials("Redirect " + code + " from remote to another remote with user and password", remoteRedirect, remoteLocation2, code, "user:password");
- corsRedirectCredentials("Redirect " + code + " from remote to another remote with user", remoteRedirect, remoteLocation2, code, "user:");
- corsRedirectCredentials("Redirect " + code + " from remote to another remote with password", remoteRedirect, remoteLocation2, code, ":password");
-}
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectcredentialsworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,22 +0,0 @@
</span><del>-
-PASS Redirect 301: cors to same cors
-PASS Redirect 301: cors to another cors
-PASS Redirect 301: same origin to cors
-PASS Redirect 301: cors to same origin
-PASS Redirect 302: cors to same cors
-PASS Redirect 302: cors to another cors
-PASS Redirect 302: same origin to cors
-PASS Redirect 302: cors to same origin
-PASS Redirect 303: cors to same cors
-PASS Redirect 303: cors to another cors
-PASS Redirect 303: same origin to cors
-PASS Redirect 303: cors to same origin
-PASS Redirect 307: cors to same cors
-PASS Redirect 307: cors to another cors
-PASS Redirect 307: same origin to cors
-PASS Redirect 307: cors to same origin
-PASS Redirect 308: cors to same cors
-PASS Redirect 308: cors to another cors
-PASS Redirect 308: same origin to cors
-PASS Redirect 308: cors to same origin
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,32 +0,0 @@
</span><del>-
-PASS Redirect 301: same origin to cors (preflight after redirection success case)
-PASS Redirect 301: same origin to cors (preflight after redirection failure case)
-PASS Redirect 301: cors to same origin (preflight after redirection success case)
-PASS Redirect 301: cors to same origin (preflight after redirection failure case)
-PASS Redirect 301: cors to another cors (preflight after redirection success case)
-PASS Redirect 301: cors to another cors (preflight after redirection failure case)
-PASS Redirect 302: same origin to cors (preflight after redirection success case)
-PASS Redirect 302: same origin to cors (preflight after redirection failure case)
-PASS Redirect 302: cors to same origin (preflight after redirection success case)
-PASS Redirect 302: cors to same origin (preflight after redirection failure case)
-PASS Redirect 302: cors to another cors (preflight after redirection success case)
-PASS Redirect 302: cors to another cors (preflight after redirection failure case)
-PASS Redirect 303: same origin to cors (preflight after redirection success case)
-PASS Redirect 303: same origin to cors (preflight after redirection failure case)
-PASS Redirect 303: cors to same origin (preflight after redirection success case)
-PASS Redirect 303: cors to same origin (preflight after redirection failure case)
-PASS Redirect 303: cors to another cors (preflight after redirection success case)
-PASS Redirect 303: cors to another cors (preflight after redirection failure case)
-PASS Redirect 307: same origin to cors (preflight after redirection success case)
-PASS Redirect 307: same origin to cors (preflight after redirection failure case)
-PASS Redirect 307: cors to same origin (preflight after redirection success case)
-PASS Redirect 307: cors to same origin (preflight after redirection failure case)
-PASS Redirect 307: cors to another cors (preflight after redirection success case)
-PASS Redirect 307: cors to another cors (preflight after redirection failure case)
-PASS Redirect 308: same origin to cors (preflight after redirection success case)
-PASS Redirect 308: same origin to cors (preflight after redirection failure case)
-PASS Redirect 308: cors to same origin (preflight after redirection success case)
-PASS Redirect 308: cors to same origin (preflight after redirection failure case)
-PASS Redirect 308: cors to another cors (preflight after redirection success case)
-PASS Redirect 308: cors to another cors (preflight after redirection failure case)
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,32 +0,0 @@
</span><del>-
-PASS Redirect 301: same origin to cors (preflight after redirection success case)
-PASS Redirect 301: same origin to cors (preflight after redirection failure case)
-PASS Redirect 301: cors to same origin (preflight after redirection success case)
-PASS Redirect 301: cors to same origin (preflight after redirection failure case)
-PASS Redirect 301: cors to another cors (preflight after redirection success case)
-PASS Redirect 301: cors to another cors (preflight after redirection failure case)
-PASS Redirect 302: same origin to cors (preflight after redirection success case)
-PASS Redirect 302: same origin to cors (preflight after redirection failure case)
-PASS Redirect 302: cors to same origin (preflight after redirection success case)
-PASS Redirect 302: cors to same origin (preflight after redirection failure case)
-PASS Redirect 302: cors to another cors (preflight after redirection success case)
-PASS Redirect 302: cors to another cors (preflight after redirection failure case)
-PASS Redirect 303: same origin to cors (preflight after redirection success case)
-PASS Redirect 303: same origin to cors (preflight after redirection failure case)
-PASS Redirect 303: cors to same origin (preflight after redirection success case)
-PASS Redirect 303: cors to same origin (preflight after redirection failure case)
-PASS Redirect 303: cors to another cors (preflight after redirection success case)
-PASS Redirect 303: cors to another cors (preflight after redirection failure case)
-PASS Redirect 307: same origin to cors (preflight after redirection success case)
-PASS Redirect 307: same origin to cors (preflight after redirection failure case)
-PASS Redirect 307: cors to same origin (preflight after redirection success case)
-PASS Redirect 307: cors to same origin (preflight after redirection failure case)
-PASS Redirect 307: cors to another cors (preflight after redirection success case)
-PASS Redirect 307: cors to another cors (preflight after redirection failure case)
-PASS Redirect 308: same origin to cors (preflight after redirection success case)
-PASS Redirect 308: same origin to cors (preflight after redirection failure case)
-PASS Redirect 308: cors to same origin (preflight after redirection success case)
-PASS Redirect 308: cors to same origin (preflight after redirection failure case)
-PASS Redirect 308: cors to another cors (preflight after redirection success case)
-PASS Redirect 308: cors to another cors (preflight after redirection failure case)
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,15 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: CORS preflight after redirection</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-redirect-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-redirect-preflight.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 29: ReferenceError: Can't find variable: dirname
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: dirname
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function corsRedirect(desc, redirectUrl, redirectLocation, redirectStatus, expectSuccess) {
+ var urlBaseParameters = "&redirect_status=" + redirectStatus;
+ var urlParametersSuccess = urlBaseParameters + "&allow_headers=x-w3c&location=" + encodeURIComponent(redirectLocation + "?allow_headers=x-w3c");
+ var urlParametersFailure = urlBaseParameters + "&location=" + encodeURIComponent(redirectLocation);
+
+ var requestInit = {"mode": "cors", "redirect": "follow", "headers" : [["x-w3c", "test"]]};
+
+ promise_test(function(test) {
+ var uuid_token = token();
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
+ return fetch(redirectUrl + "?token=" + uuid_token + "&max_age=0" + urlParametersSuccess, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "Response's status is 200");
+ assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
+ });
+ });
+ }, desc + " (preflight after redirection success case)");
+ promise_test(function(test) {
+ var uuid_token = token();
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
+ return promise_rejects(test, new TypeError(), fetch(redirectUrl + "?token=" + uuid_token + "&max_age=0" + urlParametersFailure, requestInit));
+ });
+ }, desc + " (preflight after redirection failure case)");
+}
+
+var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
+var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+
+var host_info = get_host_info();
+
+var localRedirect = host_info.HTTP_ORIGIN + redirPath;
+var remoteRedirect = host_info.HTTP_REMOTE_ORIGIN + redirPath;
+
+var localLocation = host_info.HTTP_ORIGIN + preflightPath;
+var remoteLocation = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
+var remoteLocation2 = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
+
+for (var code of [301, 302, 303, 307, 308]) {
+ corsRedirect("Redirect " + code + ": same origin to cors", localRedirect, remoteLocation, code);
+ corsRedirect("Redirect " + code + ": cors to same origin", remoteRedirect, localLocation, code);
+ corsRedirect("Redirect " + code + ": cors to another cors", remoteRedirect, remoteLocation2, code);
+}
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflighthtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: CORS preflight after redirection</title>
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-redirect-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="cors-redirect-preflight.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,50 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/utils.js");
- importScripts("/common/get-host-info.sub.js");
- importScripts("../resources/utils.js");
-}
-
-function corsRedirect(desc, redirectUrl, redirectLocation, redirectStatus, expectSuccess) {
- var urlBaseParameters = "&redirect_status=" + redirectStatus;
- var urlParametersSuccess = urlBaseParameters + "&allow_headers=x-w3c&location=" + encodeURIComponent(redirectLocation + "?allow_headers=x-w3c");
- var urlParametersFailure = urlBaseParameters + "&location=" + encodeURIComponent(redirectLocation);
-
- var requestInit = {"mode": "cors", "redirect": "follow", "headers" : [["x-w3c", "test"]]};
-
- promise_test(function(test) {
- var uuid_token = token();
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- return fetch(redirectUrl + "?token=" + uuid_token + "&max_age=0" + urlParametersSuccess, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
- });
- });
- }, desc + " (preflight after redirection success case)");
- promise_test(function(test) {
- var uuid_token = token();
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- return promise_rejects(test, new TypeError(), fetch(redirectUrl + "?token=" + uuid_token + "&max_age=0" + urlParametersFailure, requestInit));
- });
- }, desc + " (preflight after redirection failure case)");
-}
-
-var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-var host_info = get_host_info();
-
-var localRedirect = host_info.HTTP_ORIGIN + redirPath;
-var remoteRedirect = host_info.HTTP_REMOTE_ORIGIN + redirPath;
-
-var localLocation = host_info.HTTP_ORIGIN + preflightPath;
-var remoteLocation = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
-var remoteLocation2 = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
-
-for (var code of [301, 302, 303, 307, 308]) {
- corsRedirect("Redirect " + code + ": same origin to cors", localRedirect, remoteLocation, code);
- corsRedirect("Redirect " + code + ": cors to same origin", remoteRedirect, localLocation, code);
- corsRedirect("Redirect " + code + ": cors to another cors", remoteRedirect, remoteLocation2, code);
-}
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectpreflightworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,22 +0,0 @@
</span><del>-
-PASS Redirect 301: cors to same cors
-PASS Redirect 301: cors to another cors
-PASS Redirect 301: same origin to cors
-PASS Redirect 301: cors to same origin
-PASS Redirect 302: cors to same cors
-PASS Redirect 302: cors to another cors
-PASS Redirect 302: same origin to cors
-PASS Redirect 302: cors to same origin
-PASS Redirect 303: cors to same cors
-PASS Redirect 303: cors to another cors
-PASS Redirect 303: same origin to cors
-PASS Redirect 303: cors to same origin
-PASS Redirect 307: cors to same cors
-PASS Redirect 307: cors to another cors
-PASS Redirect 307: same origin to cors
-PASS Redirect 307: cors to same origin
-PASS Redirect 308: cors to same cors
-PASS Redirect 308: cors to another cors
-PASS Redirect 308: same origin to cors
-PASS Redirect 308: cors to same origin
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: CORS Redirection with several origins</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cors-redirect.js"));
- </script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 25: ReferenceError: Can't find variable: dirname
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: dirname
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+
+function corsRedirect(desc, redirectUrl, redirectLocation, redirectStatus, expectedOrigin) {
+ var uuid_token = token();
+ var url = redirectUrl;
+ var urlParameters = "?token=" + uuid_token + "&max_age=0";
+ urlParameters += "&redirect_status=" + redirectStatus;
+ urlParameters += "&location=" + encodeURIComponent(redirectLocation);
+
+ var requestInit = {"mode": "cors", "redirect": "follow"};
+
+ return promise_test(function(test) {
+ return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "Response's status is 200");
+ assert_equals(resp.headers.get("x-did-preflight"), "0", "No preflight request has been made");
+ assert_equals(resp.headers.get("x-origin"), expectedOrigin, "Origin is correctly set after redirect");
+ });
+ });
+ }, desc);
+}
+
+var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
+var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+
+var host_info = get_host_info();
+
+var localRedirect = host_info.HTTP_ORIGIN + redirPath;
+var remoteRedirect = host_info.HTTP_REMOTE_ORIGIN + redirPath;
+
+var localLocation = host_info.HTTP_ORIGIN + preflightPath;
+var remoteLocation = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
+var remoteLocation2 = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
+
+for (var code of [301, 302, 303, 307, 308]) {
+ corsRedirect("Redirect " + code + ": cors to same cors", remoteRedirect, remoteLocation, code, location.origin);
+ corsRedirect("Redirect " + code + ": cors to another cors", remoteRedirect, remoteLocation2, code, "null");
+ corsRedirect("Redirect " + code + ": same origin to cors", localRedirect, remoteLocation, code, location.origin);
+ corsRedirect("Redirect " + code + ": cors to same origin", remoteRedirect, localLocation, code, "null");
+}
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirecthtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: CORS Redirection with several origins</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-or-cache-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="/common/utils.js"></script>
- <script src="../resources/utils.js"></script>
- <script src="/common/get-host-info.sub.js"></script>
- <script src="cors-redirect.js"></script>
- </body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,47 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("/common/utils.js");
- importScripts("../resources/utils.js");
- importScripts("/common/get-host-info.sub.js");
-}
-
-function corsRedirect(desc, redirectUrl, redirectLocation, redirectStatus, expectedOrigin) {
- var uuid_token = token();
- var url = redirectUrl;
- var urlParameters = "?token=" + uuid_token + "&max_age=0";
- urlParameters += "&redirect_status=" + redirectStatus;
- urlParameters += "&location=" + encodeURIComponent(redirectLocation);
-
- var requestInit = {"mode": "cors", "redirect": "follow"};
-
- return promise_test(function(test) {
- return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(resp) {
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "Response's status is 200");
- assert_equals(resp.headers.get("x-did-preflight"), "0", "No preflight request has been made");
- assert_equals(resp.headers.get("x-origin"), expectedOrigin, "Origin is correctly set after redirect");
- });
- });
- }, desc);
-}
-
-var redirPath = dirname(location.pathname) + RESOURCES_DIR + "redirect.py";
-var preflightPath = dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-var host_info = get_host_info();
-
-var localRedirect = host_info.HTTP_ORIGIN + redirPath;
-var remoteRedirect = host_info.HTTP_REMOTE_ORIGIN + redirPath;
-
-var localLocation = host_info.HTTP_ORIGIN + preflightPath;
-var remoteLocation = host_info.HTTP_REMOTE_ORIGIN + preflightPath;
-var remoteLocation2 = host_info.HTTP_ORIGIN_WITH_DIFFERENT_PORT + preflightPath;
-
-for (var code of [301, 302, 303, 307, 308]) {
- corsRedirect("Redirect " + code + ": cors to same cors", remoteRedirect, remoteLocation, code, location.origin);
- corsRedirect("Redirect " + code + ": cors to another cors", remoteRedirect, remoteLocation2, code, "null");
- corsRedirect("Redirect " + code + ": same origin to cors", localRedirect, remoteLocation, code, location.origin);
- corsRedirect("Redirect " + code + ": cors to same origin", remoteRedirect, localLocation, code, "null");
-}
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorscorsredirectworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicorsw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,12 +15,8 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.js
</span><span class="lines">@@ -30,33 +26,13 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.js
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.js
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,5 +0,0 @@
</span><del>-
-PASS User-added Authorization header with include mode
-PASS User-added Authorization header with same-origin mode
-PASS User-added Authorization header with omit mode
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,5 +0,0 @@
</span><del>-
-PASS User-added Authorization header with include mode
-PASS User-added Authorization header with same-origin mode
-PASS User-added Authorization header with omit mode
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: Authorisation header management for basic authentication</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("authentication-basic.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+
+FAIL User-added Authorization header with include mode Can't find variable: RESOURCES_DIR
+FAIL User-added Authorization header with same-origin mode Can't find variable: RESOURCES_DIR
+FAIL User-added Authorization header with omit mode Can't find variable: RESOURCES_DIR
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// META: script=../resources/utils.js
+
+function basicAuth(desc, user, pass, mode, status) {
+ promise_test(function(test) {
+ var headers = { "Authorization": "Basic " + btoa(user + ":" + pass)};
+ var requestInit = {"credentials": mode, "headers": headers};
+ return fetch(RESOURCES_DIR + "authentication.py?realm=test", requestInit).then(function(resp) {
+ assert_equals(resp.status, status, "HTTP status is " + status);
+ assert_equals(resp.type , "basic", "Response's type is basic");
+ });
+ }, desc);
+}
+
+basicAuth("User-added Authorization header with include mode", "user", "password", "include", 200);
+basicAuth("User-added Authorization header with same-origin mode", "user", "password", "same-origin", 200);
+basicAuth("User-added Authorization header with omit mode", "user", "password", "omit", 200);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasichtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,15 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: Authorisation header management for basic authentication</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="authentication-basic.js"></script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,21 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function basicAuth(desc, user, pass, mode, status) {
- promise_test(function(test) {
- var headers = { "Authorization": "Basic " + btoa(user + ":" + pass)};
- var requestInit = {"credentials": mode, "headers": headers};
- return fetch(RESOURCES_DIR + "authentication.py?realm=test", requestInit).then(function(resp) {
- assert_equals(resp.status, status, "HTTP status is " + status);
- assert_equals(resp.type , "basic", "Response's type is basic");
- });
- }, desc);
-}
-
-basicAuth("User-added Authorization header with include mode", "user", "password", "include", 200);
-basicAuth("User-added Authorization header with same-origin mode", "user", "password", "same-origin", 200);
-basicAuth("User-added Authorization header with omit mode", "user", "password", "omit", 200);
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsauthenticationbasicworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,9 +0,0 @@
</span><del>-
-PASS Include mode: 1 cookie
-PASS Include mode: 2 cookies
-PASS Omit mode: discard cookies
-PASS Omit mode: no cookie is stored
-PASS Omit mode: no cookie is sent
-PASS Same-origin mode: 1 cookie
-PASS Same-origin mode: 2 cookies
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesworkerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,9 +0,0 @@
</span><del>-
-PASS Include mode: 1 cookie
-PASS Include mode: 2 cookies
-PASS Omit mode: discard cookies
-PASS Omit mode: no cookie is stored
-PASS Omit mode: no cookie is sent
-PASS Same-origin mode: 1 cookie
-PASS Same-origin mode: 2 cookies
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesworkerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,18 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch in worker: cookies management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script>
- fetch_tests_from_worker(new Worker("cookies.js"));
- </script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 4: ReferenceError: Can't find variable: RESOURCES_DIR
+
+Harness Error (FAIL), message = ReferenceError: Can't find variable: RESOURCES_DIR
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+// META: script=../resources/utils.js
+
+function cookies(desc, credentials1, credentials2 ,cookies) {
+ var url = RESOURCES_DIR + "top.txt"
+ var urlParameters = "";
+ var urlCleanParameters = "";
+ if (cookies) {
+ urlParameters +="?pipe=header(Set-Cookie,";
+ urlParameters += cookies.join(",True)|header(Set-Cookie,") + ",True)";
+ urlCleanParameters +="?pipe=header(Set-Cookie,";
+ urlCleanParameters += cookies.join("%3B%20max-age=0,True)|header(Set-Cookie,") + "%3B%20max-age=0,True)";
+ }
+
+ var requestInit = {"credentials": credentials1}
+ promise_test(function(test){
+ var requestInit = {"credentials": credentials1}
+ return fetch(url + urlParameters, requestInit).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.type , "basic", "Response's type is basic");
+ //check cookies sent
+ return fetch(RESOURCES_DIR + "inspect-headers.py?headers=cookie" , {"credentials": credentials2});
+ }).then(function(resp) {
+ assert_equals(resp.status, 200, "HTTP status is 200");
+ assert_equals(resp.type , "basic", "Response's type is basic");
+ assert_false(resp.headers.has("Cookie") , "Cookie header is not exposed in response");
+ if (credentials1 != "omit" && credentials2 != "omit") {
+ assert_equals(resp.headers.get("x-request-cookie") , cookies.join("; "), "Request include cookie(s)");
+ }
+ else {
+ assert_false(resp.headers.has("x-request-cookie") , "Request does not have cookie(s)");
+ }
+ //clean cookies
+ return fetch(url + urlCleanParameters, {"credentials": "include"});
+ }).catch(function(e) {
+ return fetch(url + urlCleanParameters, {"credentials": "include"}).then(function() {
+ return Promise.reject(e);
+ });
+ });
+ }, desc);
+}
+
+cookies("Include mode: 1 cookie", "include", "include", ["a=1"]);
+cookies("Include mode: 2 cookies", "include", "include", ["b=2", "c=3"]);
+cookies("Omit mode: discard cookies", "omit", "omit", ["d=4"]);
+cookies("Omit mode: no cookie is stored", "omit", "include", ["e=5"]);
+cookies("Omit mode: no cookie is sent", "include", "omit", ["f=6"]);
+cookies("Same-origin mode: 1 cookie", "same-origin", "same-origin", ["a=1"]);
+cookies("Same-origin mode: 2 cookies", "same-origin", "same-origin", ["b=2", "c=3"]);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookieshtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,17 +0,0 @@
</span><del>-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Fetch: cookies management</title>
- <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
- <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
- <meta name="help" href="https://fetch.spec.whatwg.org/#http-network-fetch">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- </head>
- <body>
- <script src="../resources/utils.js"></script>
- <script src="cookies.js"></script>
- </body>
-</html>
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesjs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,53 +0,0 @@
</span><del>-if (this.document === undefined) {
- importScripts("/resources/testharness.js");
- importScripts("../resources/utils.js");
-}
-
-function cookies(desc, credentials1, credentials2 ,cookies) {
- var url = RESOURCES_DIR + "top.txt"
- var urlParameters = "";
- var urlCleanParameters = "";
- if (cookies) {
- urlParameters +="?pipe=header(Set-Cookie,";
- urlParameters += cookies.join(",True)|header(Set-Cookie,") + ",True)";
- urlCleanParameters +="?pipe=header(Set-Cookie,";
- urlCleanParameters += cookies.join("%3B%20max-age=0,True)|header(Set-Cookie,") + "%3B%20max-age=0,True)";
- }
-
- var requestInit = {"credentials": credentials1}
- promise_test(function(test){
- var requestInit = {"credentials": credentials1}
- return fetch(url + urlParameters, requestInit).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- //check cookies sent
- return fetch(RESOURCES_DIR + "inspect-headers.py?headers=cookie" , {"credentials": credentials2});
- }).then(function(resp) {
- assert_equals(resp.status, 200, "HTTP status is 200");
- assert_equals(resp.type , "basic", "Response's type is basic");
- assert_false(resp.headers.has("Cookie") , "Cookie header is not exposed in response");
- if (credentials1 != "omit" && credentials2 != "omit") {
- assert_equals(resp.headers.get("x-request-cookie") , cookies.join("; "), "Request include cookie(s)");
- }
- else {
- assert_false(resp.headers.has("x-request-cookie") , "Request does not have cookie(s)");
- }
- //clean cookies
- return fetch(url + urlCleanParameters, {"credentials": "include"});
- }).catch(function(e) {
- return fetch(url + urlCleanParameters, {"credentials": "include"}).then(function() {
- return Promise.reject(e);
- });
- });
- }, desc);
-}
-
-cookies("Include mode: 1 cookie", "include", "include", ["a=1"]);
-cookies("Include mode: 2 cookies", "include", "include", ["b=2", "c=3"]);
-cookies("Omit mode: discard cookies", "omit", "omit", ["d=4"]);
-cookies("Omit mode: no cookie is stored", "omit", "include", ["e=5"]);
-cookies("Omit mode: no cookie is sent", "include", "omit", ["f=6"]);
-cookies("Same-origin mode: 1 cookie", "same-origin", "same-origin", ["a=1"]);
-cookies("Same-origin mode: 2 cookies", "same-origin", "same-origin", ["b=2", "c=3"]);
-
-done();
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialscookiesworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapicredentialsw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,9 +15,5 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/credentials/cookies.any.js
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersheadersidlexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-idl-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-idl-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-idl-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -10,9 +10,9 @@
</span><span class="cx"> PASS Headers interface: operation has(ByteString)
</span><span class="cx"> PASS Headers interface: operation set(ByteString,ByteString)
</span><span class="cx"> FAIL Testing Symbol.iterator property of iterable interface Headers assert_equals: @@iterator function does not have the right name expected "entries" but got "[Symbol.Iterator]"
</span><del>-FAIL Testing pair iterable interface Headers assert_equals: entries method is not the same as @@iterator expected function "function entries() {
</del><ins>+FAIL Testing pair iterable interface Headers assert_equals: entries method is not the same as @@iterator expected function "function [Symbol.Iterator]() {
</ins><span class="cx"> [native code]
</span><del>-}" but got function "function [Symbol.Iterator]() {
</del><ins>+}" but got function "function entries() {
</ins><span class="cx"> [native code]
</span><span class="cx"> }"
</span><span class="cx"> PASS Headers interface: operation entries()
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Headers object no longer has a getAll() method
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+test(() => {
+ assert_false("getAll" in new Headers)
+ assert_false("getAll" in Headers.prototype)
+}, "Headers object no longer has a getAll() method")
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadershistoricalworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -25,3 +25,4 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-normalize.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-record.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-structure.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/historical.any.js
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiredirectredirectcountcrossoriginexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,10 +1,10 @@
</span><span class="cx">
</span><del>-FAIL Redirect 20 times, last redirection to cross-origin promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS Redirect 21 times, last redirection to cross-origin
-FAIL Redirect 20 times, going to cross-origin after 10 promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS Redirect 21 times, going to cross-origin after 10
-FAIL Redirect 20 times, last redirection to cross-origin with preflight promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS Redirect 21 times, last redirection to cross-origin with preflight
-PASS Redirect 20 times, going to cross-origin after 10 with preflight
-PASS Redirect 21 times, going to cross-origin after 10 with preflight
</del><ins>+FAIL Redirect 20 times, last redirection to cross-origin assert_equals: Response's status is 200 expected 200 but got 404
+FAIL Redirect 21 times, last redirection to cross-origin assert_unreached: Should have rejected: undefined Reached unreachable code
+FAIL Redirect 20 times, going to cross-origin after 10 assert_equals: Response's status is 200 expected 200 but got 404
+FAIL Redirect 21 times, going to cross-origin after 10 assert_unreached: Should have rejected: undefined Reached unreachable code
+FAIL Redirect 20 times, last redirection to cross-origin with preflight assert_equals: Response's status is 200 expected 200 but got 404
+FAIL Redirect 21 times, last redirection to cross-origin with preflight assert_unreached: Should have rejected: undefined Reached unreachable code
+FAIL Redirect 20 times, going to cross-origin after 10 with preflight assert_equals: Response's status is 200 expected 200 but got 404
+FAIL Redirect 21 times, going to cross-origin after 10 with preflight assert_unreached: Should have rejected: undefined Reached unreachable code
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiredirectredirectcountcrossoriginworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-cross-origin-worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,10 +1,10 @@
</span><span class="cx">
</span><del>-FAIL Redirect 20 times, last redirection to cross-origin promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS Redirect 21 times, last redirection to cross-origin
-FAIL Redirect 20 times, going to cross-origin after 10 promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS Redirect 21 times, going to cross-origin after 10
-FAIL Redirect 20 times, last redirection to cross-origin with preflight promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS Redirect 21 times, last redirection to cross-origin with preflight
-PASS Redirect 20 times, going to cross-origin after 10 with preflight
-PASS Redirect 21 times, going to cross-origin after 10 with preflight
</del><ins>+FAIL Redirect 20 times, last redirection to cross-origin assert_equals: Response's status is 200 expected 200 but got 404
+FAIL Redirect 21 times, last redirection to cross-origin assert_unreached: Should have rejected: undefined Reached unreachable code
+FAIL Redirect 20 times, going to cross-origin after 10 assert_equals: Response's status is 200 expected 200 but got 404
+FAIL Redirect 21 times, going to cross-origin after 10 assert_unreached: Should have rejected: undefined Reached unreachable code
+FAIL Redirect 20 times, last redirection to cross-origin with preflight assert_equals: Response's status is 200 expected 200 but got 404
+FAIL Redirect 21 times, last redirection to cross-origin with preflight assert_unreached: Should have rejected: undefined Reached unreachable code
+FAIL Redirect 20 times, going to cross-origin after 10 with preflight assert_equals: Response's status is 200 expected 200 but got 404
+FAIL Redirect 21 times, going to cross-origin after 10 with preflight assert_unreached: Should have rejected: undefined Reached unreachable code
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestcacheonlyifcachedexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-
-PASS RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for stale responses with Etag and stale response
-PASS RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for stale responses with Last-Modified and stale response
-PASS RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for fresh responses with Etag and fresh response
-PASS RequestCache "only-if-cached" mode checks the cache for previously cached content and avoids revalidation for fresh responses with Last-Modified and fresh response
-PASS RequestCache "only-if-cached" mode checks the cache for previously cached content and does not go to the network if a cached response is not found with Etag and fresh response
-PASS RequestCache "only-if-cached" mode checks the cache for previously cached content and does not go to the network if a cached response is not found with Last-Modified and fresh response
-FAIL RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Etag and fresh response promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Last-Modified and fresh response promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Etag and stale response promise_test: Unhandled rejection with value: object "TypeError: Type error"
-FAIL RequestCache "only-if-cached" (with "same-origin") uses cached same-origin redirects to same-origin content with Last-Modified and stale response promise_test: Unhandled rejection with value: object "TypeError: Type error"
-PASS RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Etag and fresh response
-PASS RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Last-Modified and fresh response
-PASS RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Etag and stale response
-PASS RequestCache "only-if-cached" (with "same-origin") does not follow redirects across origins and rejects with Last-Modified and stale response
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestinit003subexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx">
</span><span class="cx"> PASS Check request values when initialized from Request
</span><span class="cx"> PASS Check request values when initialized from Request and init values
</span><del>-FAIL Check request values when initialized from url string assert_equals: Check referrer attribute expected "http://localhost:8800/" but got "about:client"
</del><ins>+PASS Check request values when initialized from url string
</ins><span class="cx"> PASS Check request values when initialized from url and init values
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestinit003subhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx">
</span><span class="cx"> var expectedDefault = {"method" : "GET",
</span><span class="cx"> "url" : location.href,
</span><del>- "referrer" : "http://{{host}}:{{ports[http][0]}}/",
</del><ins>+ "referrer" : "about:client",
</ins><span class="cx"> "referrerPolicy" : "",
</span><span class="cx"> "mode" : "cors",
</span><span class="cx"> "credentials" : "omit",
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiresourcesredirectcountpy"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/redirect-count.py (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/redirect-count.py        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/redirect-count.py        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,62 +0,0 @@
</span><del>-from urllib import urlencode
-from urlparse import urlparse
-
-def main(request, response):
- stashed_data = {'count': 0, 'preflight': "0"}
- status = 302
- headers = [("Content-Type", "text/plain"),
- ("Cache-Control", "no-cache"),
- ("Pragma", "no-cache"),
- ("Access-Control-Allow-Origin", "*")]
- token = None
-
- if "token" in request.GET:
- token = request.GET.first("token")
- data = request.server.stash.take(token)
- if data:
- stashed_data = data
-
- if request.method == "OPTIONS":
- if "allow_headers" in request.GET:
- headers.append(("Access-Control-Allow-Headers", request.GET['allow_headers']))
- stashed_data['preflight'] = "1"
- #Preflight is not redirected: return 200
- if not "redirect_preflight" in request.GET:
- if token:
- request.server.stash.put(request.GET.first("token"), stashed_data)
- return 200, headers, ""
-
- if "redirect_status" in request.GET:
- status = int(request.GET['redirect_status'])
-
- stashed_data['count'] += 1
-
- is_final_redirection = False
- if token:
- request.server.stash.put(request.GET.first("token"), stashed_data)
- if "max_count" in request.GET:
- max_count = int(request.GET['max_count'])
- #stop redirecting and return count
- if stashed_data['count'] > max_count:
- if not "location" in request.GET:
- # -1 because the last is not a redirection
- return 200, headers, str(stashed_data['count'] - 1)
- # After max_count, let's go to the final location.
- headers.append(("Location", request.GET['location']))
- is_final_redirection = True
-
- if not is_final_redirection:
- # Let's redirect to the same URL except for count parameter
- url = request.url.split("?")[0];
- scheme = urlparse(request.url).scheme
- if scheme == "" or scheme == "http" or scheme == "https":
- #keep url parameters in location
- url_parameters = {}
- for item in request.GET.items():
- if item[0] != "count":
- url_parameters[item[0]] = item[1][0]
- #make sure location changes during redirection loop
- url += "?count=" + str(stashed_data['count']) + "&" + urlencode(url_parameters)
- headers.append(("Location", url))
-
- return status, headers, ""
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcache304updateexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/304-update-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+
+PASS HTTP cache updates returned headers from a Last-Modified 304.
+PASS HTTP cache updates stored headers from a Last-Modified 304.
+PASS HTTP cache updates returned headers from a ETag 304.
+PASS HTTP cache updates stored headers from a ETag 304.
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcache304updatehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/304-update.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/304-update.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/304-update.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,124 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>HTTP Cache - 304 Updates</title>
+ <meta name="help" href="https://fetch.spec.whatwg.org/#request">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="http-cache.js"></script>
+ </head>
+ <body>
+ <script>
+ var tests = [
+ {
+ name: 'HTTP cache updates returned headers from a Last-Modified 304.',
+ requests: [
+ {
+ response_headers: [
+ ["Expires", http_date(-5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Test-Header", "A"]
+ ]
+ },
+ {
+ response_headers: [
+ ["Expires", http_date(-3000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Test-Header", "B"]
+ ],
+ expected_type: "lm_validated",
+ expected_response_headers: [
+ ["Test-Header", "B"]
+ ]
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache updates stored headers from a Last-Modified 304.',
+ requests: [
+ {
+ response_headers: [
+ ["Expires", http_date(-5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Test-Header", "A"]
+ ]
+ },
+ {
+ response_headers: [
+ ["Expires", http_date(3000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Test-Header", "B"]
+ ],
+ expected_type: "lm_validated",
+ expected_response_headers: [
+ ["Test-Header", "B"]
+ ]
+ },
+ {
+ expected_type: "cached",
+ expected_response_headers: [
+ ["Test-Header", "B"]
+ ]
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache updates returned headers from a ETag 304.',
+ requests: [
+ {
+ response_headers: [
+ ["Expires", http_date(-5000)],
+ ["ETag", "ABC"],
+ ["Test-Header", "A"]
+ ]
+ },
+ {
+ response_headers: [
+ ["Expires", http_date(-3000)],
+ ["ETag", "ABC"],
+ ["Test-Header", "B"]
+ ],
+ expected_type: "etag_validated",
+ expected_response_headers: [
+ ["Test-Header", "B"]
+ ]
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache updates stored headers from a ETag 304.',
+ requests: [
+ {
+ response_headers: [
+ ["Expires", http_date(-5000)],
+ ["ETag", "DEF"],
+ ["Test-Header", "A"]
+ ]
+ },
+ {
+ response_headers: [
+ ["Expires", http_date(3000)],
+ ["ETag", "DEF"],
+ ["Test-Header", "B"]
+ ],
+ expected_type: "etag_validated",
+ expected_response_headers: [
+ ["Test-Header", "B"]
+ ]
+ },
+ {
+ expected_type: "cached",
+ expected_response_headers: [
+ ["Test-Header", "B"]
+ ]
+ }
+ ]
+ },
+ ];
+ run_tests(tests);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheREADMEmd"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/README.md (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/README.md         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/README.md        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+## HTTP Caching Tests
+
+These tests cover HTTP-specified behaviours for caches, primarily from
+[RFC7234](http://httpwg.org/specs/rfc7234.html), but as seen through the
+lens of Fetch.
+
+A few notes:
+
+* By its nature, caching is optional; some tests expecting a response to be
+ cached might fail because the client chose not to cache it, or chose to
+ race the cache with a network request.
+
+* Likewise, some tests might fail because there is a separate document-level
+ cache that's ill-defined; see [this
+ issue](https://github.com/whatwg/fetch/issues/354).
+
+* [Partial content tests](partial.html) (a.k.a. Range requests) are not specified
+ in Fetch; tests are included here for interest only.
+
+* Some browser caches will behave differently when reloading /
+ shift-reloading, despite the `cache mode` staying the same.
+
+* At the moment, Edge doesn't appear to using HTTP caching in conjunction
+ with Fetch at all.
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheccrequestexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+
+PASS HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=0.
+FAIL HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=1. assert_equals: Response used expected 2 but got 1
+FAIL HTTP cache doesn't use fresh response with Age header when request contains Cache-Control: max-age that is greater than remaining freshness. assert_equals: Response used expected 2 but got 1
+PASS HTTP cache does use aged stale response when request contains Cache-Control: max-stale that permits its use.
+PASS HTTP cache does reuse stale response with Age header when request contains Cache-Control: max-stale that permits its use.
+FAIL HTTP cache doesn't reuse fresh response when request contains Cache-Control: min-fresh that wants it fresher. assert_equals: Response used expected 2 but got 1
+FAIL HTTP cache doesn't reuse fresh response with Age header when request contains Cache-Control: min-fresh that wants it fresher. assert_equals: Response used expected 2 but got 1
+PASS HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-cache.
+PASS HTTP cache validates fresh response with Last-Modified when request contains Cache-Control: no-cache.
+PASS HTTP cache validates fresh response with ETag when request contains Cache-Control: no-cache.
+FAIL HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-store. assert_equals: Response used expected 2 but got 1
+FAIL HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached. promise_test: Unhandled rejection with value: object "TypeError: Type error"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheccrequesthtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,212 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>HTTP Cache - Cache-Control Request Directives</title>
+ <meta name="help" href="https://fetch.spec.whatwg.org/#request">
+ <meta name="timeout" content="long">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="http-cache.js"></script>
+ </head>
+ <body>
+ <script>
+ var tests = [
+ {
+ name: "HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=0.",
+ requests: [
+ {
+ template: "fresh",
+ pause_after: true
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "max-age=0"]
+ ],
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't use aged but fresh response when request contains Cache-Control: max-age=1.",
+ requests: [
+ {
+ template: "fresh",
+ pause_after: true
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "max-age=1"]
+ ],
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't use fresh response with Age header when request contains Cache-Control: max-age that is greater than remaining freshness.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"],
+ ["Age", "1800"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "max-age=600"]
+ ],
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache does use aged stale response when request contains Cache-Control: max-stale that permits its use.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=1"]
+ ],
+ pause_after: true
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "max-stale=1000"]
+ ],
+ expected_type: "cached",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache does reuse stale response with Age header when request contains Cache-Control: max-stale that permits its use.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=1500"],
+ ["Age", "2000"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "max-stale=1000"]
+ ],
+ expected_type: "cached",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't reuse fresh response when request contains Cache-Control: min-fresh that wants it fresher.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=1500"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "min-fresh=2000"]
+ ],
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't reuse fresh response with Age header when request contains Cache-Control: min-fresh that wants it fresher.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=1500"],
+ ["Age", "1000"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "min-fresh=1000"]
+ ],
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-cache.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"],
+ ]
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "no-cache"]
+ ],
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache validates fresh response with Last-Modified when request contains Cache-Control: no-cache.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"],
+ ["Last-Modified", http_date(-10000)]
+ ]
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "no-cache"]
+ ],
+ expected_type: "lm_validate",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache validates fresh response with ETag when request contains Cache-Control: no-cache.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"],
+ ["ETag", http_content("abc")]
+ ]
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "no-cache"]
+ ],
+ expected_type: "etag_validate",
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't reuse fresh response when request contains Cache-Control: no-store.",
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"],
+ ]
+ },
+ {
+ request_headers: [
+ ["Cache-Control", "no-store"]
+ ],
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache generates 504 status code when nothing is in cache and request contains Cache-Control: only-if-cached.',
+ requests: [
+ {
+ request_headers: [
+ ["Cache-Control", "only-if-cached"]
+ ],
+ expected_status: 504
+ }
+ ]
+ }
+ ];
+ run_tests(tests);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachefreshnessexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+
+PASS HTTP cache reuses a response with a future Expires.
+PASS HTTP cache does not reuse a response with a past Expires.
+PASS HTTP cache does not reuse a response with a present Expires.
+PASS HTTP cache does not reuse a response with an invalid Expires.
+PASS HTTP cache reuses a response with positive Cache-Control: max-age.
+PASS HTTP cache does not reuse a response with Cache-Control: max-age=0.
+PASS HTTP cache reuses a response with positive Cache-Control: max-age and a past Expires.
+PASS HTTP cache reuses a response with positive Cache-Control: max-age and an invalid Expires.
+PASS HTTP cache does not reuse a response with Cache-Control: max-age=0 and a future Expires.
+PASS HTTP cache does not prefer Cache-Control: s-maxage over Cache-Control: max-age.
+PASS HTTP cache does not reuse a response when the Age header is greater than its freshness lifetime.
+PASS HTTP cache does not store a response with Cache-Control: no-store.
+PASS HTTP cache does not store a response with Cache-Control: no-store, even with max-age and Expires.
+PASS HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use.
+PASS HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use, even with max-age and Expires.
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachefreshnesshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,226 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>HTTP Cache - Freshness</title>
+ <meta name="help" href="https://fetch.spec.whatwg.org/#request">
+ <meta name="timeout" content="long">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="http-cache.js"></script>
+ </head>
+ <body>
+ <script>
+ var tests = [
+ // response directives
+ {
+ name: 'HTTP cache reuses a response with a future Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Expires", http_date(30*24*60*60)]
+ ]
+ },
+ {
+ expected_type: "cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not reuse a response with a past Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Expires", http_date(-30*24*60*60)]
+ ]
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not reuse a response with a present Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Expires", http_date(0)]
+ ]
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not reuse a response with an invalid Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Expires", "0"]
+ ]
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache reuses a response with positive Cache-Control: max-age.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"]
+ ]
+ },
+ {
+ expected_type: "cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not reuse a response with Cache-Control: max-age=0.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=0"]
+ ]
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache reuses a response with positive Cache-Control: max-age and a past Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"],
+ ['Expires', http_date(-10000)]
+ ]
+ },
+ {
+ expected_type: "cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache reuses a response with positive Cache-Control: max-age and an invalid Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"],
+ ['Expires', '0']
+ ]
+ },
+ {
+ expected_type: "cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not reuse a response with Cache-Control: max-age=0 and a future Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=0"],
+ ['Expires', http_date(10000)]
+ ]
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not prefer Cache-Control: s-maxage over Cache-Control: max-age.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=1, s-maxage=3600"]
+ ],
+ pause_after: true,
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not reuse a response when the Age header is greater than its freshness lifetime.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=3600"],
+ ["Age", "12000"]
+ ],
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not store a response with Cache-Control: no-store.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "no-store"]
+ ]
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not store a response with Cache-Control: no-store, even with max-age and Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=10000, no-store"],
+ ['Expires', http_date(10000)]
+ ]
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "no-cache"],
+ ['ETag', 'abcd']
+ ]
+ },
+ {
+ expected_type: "etag_validated",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache stores a response with Cache-Control: no-cache, but revalidates upon use, even with max-age and Expires.',
+ requests: [
+ {
+ response_headers: [
+ ["Cache-Control", "max-age=10000, no-cache"],
+ ['Expires', http_date(10000)],
+ ['ETag', 'abcd']
+ ]
+ },
+ {
+ expected_type: "etag_validated",
+ }
+ ]
+ },
+ ];
+ run_tests(tests);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheheuristicexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+
+FAIL HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present. assert_less_than: Response used expected a number less than 2 but got 2
+PASS HTTP cache does not reuse an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is not present.
+PASS HTTP cache reuses a 200 OK response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache reuses a 203 Non-Authoritative Information response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache reuses a 204 No Content response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache reuses a 404 Not Found response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache reuses a 405 Method Not Allowed response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache reuses a 410 Gone response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache reuses a 414 URI Too Long response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache reuses a 501 Not Implemented response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache does not use a 201 Created response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache does not use a 202 Accepted response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache does not use a 403 Forbidden response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache does not use a 502 Bad Gateway response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache does not use a 503 Service Unavailable response with Last-Modified based upon heuristic freshness.
+PASS HTTP cache does not use a 504 Gateway Timeout response with Last-Modified based upon heuristic freshness.
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheheuristichtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,104 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>HTTP Cache - Heuristic Freshness</title>
+ <meta name="help" href="https://fetch.spec.whatwg.org/#request">
+ <meta name="timeout" content="long">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="http-cache.js"></script>
+ </head>
+ <body>
+ <script>
+ var tests = [
+ {
+ name: 'HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present.',
+ requests: [
+ {
+ response_status: [299, "Whatever"],
+ response_headers: [
+ ['Last-Modified', http_date(-3 * 100)],
+ ['Cache-Control', 'public']
+ ],
+ },
+ {
+ expected_type: "cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not reuse an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is not present.',
+ requests: [
+ {
+ response_status: [299, "Whatever"],
+ response_headers: [
+ ['Last-Modified', http_date(-3 * 100)],
+ ['Cache-Control', 'public']
+ ],
+ },
+ {
+ expected_type: "not_cached",
+ }
+ ]
+ }
+ ];
+
+ function check_status(status) {
+ var succeed = status[0];
+ var code = status[1];
+ var phrase = status[2];
+ var body = status[3];
+ if (body === undefined) {
+ body = http_content(code);
+ }
+ var expected_type = "not_cached";
+ var desired = "does not use"
+ if (succeed === true) {
+ expected_type = "cached";
+ desired = "reuses";
+ }
+ tests.push(
+ {
+ name: 'HTTP cache ' + desired + ' a ' + code + ' ' + phrase + ' response with Last-Modified based upon heuristic freshness.',
+ requests: [
+ {
+ response_status: [code, phrase],
+ response_headers: [
+ ['Last-Modified', http_date(-3 * 100)]
+ ],
+ response_body: body,
+ },
+ {
+ expected_type: expected_type,
+ response_status: [code, phrase],
+ response_body: body,
+ }
+ ]
+ }
+ )
+ }
+ [
+ [true, 200, 'OK'],
+ [true, 203, "Non-Authoritative Information"],
+ [true, 204, "No Content", ""],
+ [true, 404, "Not Found"],
+ [true, 405, "Method Not Allowed"],
+ [true, 410, "Gone"],
+ [true, 414, "URI Too Long"],
+ [true, 501, "Not Implemented"]
+ ].forEach(check_status);
+ [
+ [false, 201, 'Created'],
+ [false, 202, "Accepted"],
+ [false, 403, "Forbidden"],
+ [false, 502, "Bad Gateway"],
+ [false, 503, "Service Unavailable"],
+ [false, 504, "Gateway Timeout"],
+ ].forEach(check_status);
+ run_tests(tests);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachehttpcachejs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/http-cache.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/http-cache.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/http-cache.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,285 @@
</span><ins>+/**
+ * Each test run gets its own URL and randomized content and operates independently.
+ *
+ * Tests are an array of objects, each representing a request to make and check.
+ * The cache.py server script stashes an entry containing observed headers for
+ * each request it receives. When the test fetches have run, this state is retrieved
+ * and the expected_* lists are checked, including their length.
+ *
+ * Request object keys:
+ * - template - A template object for the request, by name -- see "templates" below.
+ * - request_method - A string containing the HTTP method to be used.
+ * - request_headers - An array of [header_name_string, header_value_string] arrays to
+ * emit in the request.
+ * - request_body - A string to use as the request body.
+ * - mode - The mode string to pass to fetch().
+ * - credentials - The credentials string to pass to fetch().
+ * - cache - The cache string to pass to fetch().
+ * - pause_after - Boolean controlling a 3-second pause after the request completes.
+ * - response_status - A [number, string] array containing the HTTP status code
+ * and phrase to return.
+ * - response_headers - An array of [header_name_string, header_value_string] arrays to
+ * emit in the response. These values will also be checked like
+ * expected_response_headers, unless there is a third value that is
+ * false.
+ * - response_body - String to send as the response body. If not set, it will contain
+ * the test identifier.
+ * - expected_type - One of ["cached", "not_cached", "lm_validate", "etag_validate", "error"]
+ * - expected_status - A number representing a HTTP status code to check the response for.
+ * If not set, the value of response_status[0] will be used; if that
+ * is not set, 200 will be used.
+ * - expected_request_headers - An array of [header_name_string, header_value_string] representing
+ * headers to check the request for.
+ * - expected_response_headers - An array of [header_name_string, header_value_string] representing
+ * headers to check the response for. See also response_headers.
+ * - expected_response_text - A string to check the response body against.
+ */
+
+function make_url(uuid, requests, idx) {
+ var arg = "";
+ if ("query_arg" in requests[idx]) {
+ arg = "&target=" + requests[idx].query_arg;
+ }
+ return "resources/http-cache.py?token=" + uuid + "&info=" + btoa(JSON.stringify(requests)) + arg;
+}
+
+function server_state(uuid) {
+ return fetch("resources/http-cache.py?querystate&token=" + uuid)
+ .then(function(response) {
+ return response.text();
+ }).then(function(text) {
+ // null will be returned if the server never received any requests
+ // for the given uuid. Normalize that to an empty list consistent
+ // with our representation.
+ return JSON.parse(text) || [];
+ });
+}
+
+
+templates = {
+ "fresh": {
+ "response_headers": [
+ ['Expires', http_date(100000)],
+ ['Last-Modified', http_date(0)]
+ ]
+ },
+ "stale": {
+ "response_headers": [
+ ['Expires', http_date(-5000)],
+ ['Last-Modified', http_date(-100000)]
+ ]
+ },
+ "lcl_response": {
+ "response_headers": [
+ ['Location', "location_target"],
+ ['Content-Location', "content_location_target"]
+ ]
+ },
+ "location": {
+ "query_arg": "location_target",
+ "response_headers": [
+ ['Expires', http_date(100000)],
+ ['Last-Modified', http_date(0)]
+ ]
+ },
+ "content_location": {
+ "query_arg": "content_location_target",
+ "response_headers": [
+ ['Expires', http_date(100000)],
+ ['Last-Modified', http_date(0)]
+ ]
+ }
+}
+
+function make_test(raw_requests) {
+ var requests = [];
+ for (var i = 0; i < raw_requests.length; i++) {
+ var request = raw_requests[i];
+ if ("template" in request) {
+ var template = templates[request["template"]];
+ for (var member in template) {
+ if (! request.hasOwnProperty(member)) {
+ request[member] = template[member];
+ }
+ }
+ }
+ if ("expected_type" in request && request.expected_type === "cached") {
+ // requests after one that's expected to be cached will get out of sync
+ // with the server; not currently supported.
+ if (raw_requests.length > i + 1) {
+ assert_unreached("Making requests after something is expected to be cached.");
+ }
+ }
+ requests.push(request);
+ }
+ return function(test) {
+ var uuid = token();
+ var fetch_functions = [];
+ for (var i = 0; i < requests.length; ++i) {
+ fetch_functions.push({
+ code: function(idx) {
+ var init = {};
+ var url = make_url(uuid, requests, idx);
+ var config = requests[idx];
+ if ("request_method" in config) {
+ init.method = config["request_method"];
+ }
+ if ("request_headers" in config) {
+ init.headers = config["request_headers"];
+ }
+ if ("request_body" in config) {
+ init.body = config["request_body"];
+ }
+ if ("mode" in config) {
+ init.mode = config["mode"];
+ }
+ if ("credentials" in config) {
+ init.mode = config["credentials"];
+ }
+ if ("cache" in config) {
+ init.cache = config["cache"];
+ }
+ return fetch(url, init)
+ .then(function(response) {
+ var res_num = parseInt(response.headers.get("Server-Request-Count"));
+ var req_num = idx + 1;
+ if ("expected_type" in config) {
+ if (config.expected_type === "error") {
+ assert_true(false, "Request " + req_num + " should have been an error");
+ return [response.text(), response_status];
+ }
+ if (config.expected_type === "cached") {
+ assert_less_than(res_num, req_num, "Response used");
+ }
+ if (config.expected_type === "not_cached") {
+ assert_equals(res_num, req_num, "Response used");
+ }
+ }
+ if ("expected_status" in config) {
+ assert_equals(response.status, config.expected_status, "Response status");
+ } else if ("response_status" in config) {
+ assert_equals(response.status, config.response_status[0], "Response status");
+ } else {
+ assert_equals(response.status, 200, "Response status")
+ }
+ if ("response_headers" in config) {
+ config.response_headers.forEach(function(header) {
+ if (header.len < 3 || header[2] === true) {
+ assert_equals(response.headers.get(header[0]), header[1], "Response header")
+ }
+ })
+ }
+ if ("expected_response_headers" in config) {
+ config.expected_response_headers.forEach(function(header) {
+ assert_equals(response.headers.get(header[0]), header[1], "Response header");
+ });
+ }
+ return response.text();
+ }).then(function(res_body) {
+ if ("expected_response_text" in config) {
+ assert_equals(res_body, config.expected_response_text, "Response body");
+ } else if ("response_body" in config) {
+ assert_equals(res_body, config.response_body, "Response body");
+ } else {
+ assert_equals(res_body, uuid, "Response body");
+ }
+ }, function(reason) {
+ if ("expected_type" in config && config.expected_type === "error") {
+ assert_throws(new TypeError(), function() { throw reason; });
+ } else {
+ throw reason;
+ }
+ });
+ },
+ pause_after: "pause_after" in requests[i] && true || false
+ });
+ }
+
+ function pause() {
+ return new Promise(function(resolve, reject) {
+          step_timeout(function() {
+ return resolve()
+ }, 3000);
+ });
+ }
+
+ // TODO: it would be nice if this weren't serialised.
+ var idx = 0;
+ function run_next_step() {
+ if (fetch_functions.length) {
+ var fetch_function = fetch_functions.shift();
+ if (fetch_function.pause_after > 0) {
+ return fetch_function.code(idx++)
+ .then(pause)
+ .then(run_next_step);
+ } else {
+ return fetch_function.code(idx++)
+ .then(run_next_step);
+ }
+ } else {
+ return Promise.resolve();
+ }
+ }
+
+ return run_next_step()
+ .then(function() {
+ // Now, query the server state
+ return server_state(uuid);
+ }).then(function(state) {
+ for (var i = 0; i < requests.length; ++i) {
+ var expected_validating_headers = []
+ var req_num = i + 1;
+ if ("expected_type" in requests[i]) {
+ if (requests[i].expected_type === "cached") {
+ assert_true(state.length <= i, "cached response used for request " + req_num);
+ continue; // the server will not see the request, so we can't check anything else.
+ }
+ if (requests[i].expected_type === "not_cached") {
+ assert_false(state.length <= i, "cached response used for request " + req_num);
+ }
+ if (requests[i].expected_type === "etag_validated") {
+ expected_validating_headers.push('if-none-match')
+ }
+ if (requests[i].expected_type === "lm_validated") {
+ expected_validating_headers.push('if-modified-since')
+ }
+ }
+ for (var j in expected_validating_headers) {
+ var vhdr = expected_validating_headers[j];
+ assert_own_property(state[i].request_headers, vhdr, " has " + vhdr + " request header");
+ }
+ if ("expected_request_headers" in requests[i]) {
+ var expected_request_headers = requests[i].expected_request_headers;
+ for (var j = 0; j < expected_request_headers.length; ++j) {
+ var expected_header = expected_request_headers[j];
+ assert_equals(state[i].request_headers[expected_header[0].toLowerCase()],
+ expected_header[1]);
+ }
+ }
+ }
+ });
+ };
+}
+
+
+function run_tests(tests)
+{
+ tests.forEach(function(info) {
+ promise_test(make_test(info.requests), info.name);
+ });
+}
+
+function http_date(delta) {
+ return new Date(Date.now() + (delta * 1000)).toGMTString();
+}
+
+var content_store = {};
+function http_content(cs_key) {
+ if (cs_key in content_store) {
+ return content_store[cs_key];
+ } else {
+ var content = btoa(Math.random() * Date.now());
+ content_store[cs_key] = content;
+ return content;
+ }
+}
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheinvalidateexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+
+PASS HTTP cache invalidates after a successful response from a POST
+FAIL HTTP cache does not invalidate after a failed response from an unsafe request assert_less_than: Response used expected a number less than 3 but got 3
+PASS HTTP cache invalidates after a successful response from a PUT
+PASS HTTP cache invalidates after a successful response from a DELETE
+PASS HTTP cache invalidates after a successful response from an unknown method
+FAIL HTTP cache invalidates Location URL after a successful response from a POST assert_equals: Response used expected 3 but got 1
+PASS HTTP cache does not invalidate Location URL after a failed response from an unsafe request
+FAIL HTTP cache invalidates Location URL after a successful response from a PUT assert_equals: Response used expected 3 but got 1
+FAIL HTTP cache invalidates Location URL after a successful response from a DELETE assert_equals: Response used expected 3 but got 1
+FAIL HTTP cache invalidates Location URL after a successful response from an unknown method assert_equals: Response used expected 3 but got 1
+FAIL HTTP cache invalidates Content-Location URL after a successful response from a POST assert_equals: Response used expected 3 but got 1
+PASS HTTP cache does not invalidate Content-Location URL after a failed response from an unsafe request
+FAIL HTTP cache invalidates Content-Location URL after a successful response from a PUT assert_equals: Response used expected 3 but got 1
+FAIL HTTP cache invalidates Content-Location URL after a successful response from a DELETE assert_equals: Response used expected 3 but got 1
+FAIL HTTP cache invalidates Content-Location URL after a successful response from an unknown method assert_equals: Response used expected 3 but got 1
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheinvalidatehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,245 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>HTTP Cache - Invalidation</title>
+ <meta name="help" href="https://fetch.spec.whatwg.org/#request">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="http-cache.js"></script>
+ </head>
+ <body>
+ <script>
+ var tests = [
+ {
+ name: 'HTTP cache invalidates after a successful response from a POST',
+ requests: [
+ {
+ template: "fresh"
+ }, {
+ request_method: "POST",
+ request_body: "abc",
+ }, {
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not invalidate after a failed response from an unsafe request',
+ requests: [
+ {
+ template: "fresh"
+ }, {
+ request_method: "POST",
+ request_body: "abc",
+ response_status: [500, "Internal Server Error"]
+ }, {
+ expected_type: "cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates after a successful response from a PUT',
+ requests: [
+ {
+ template: "fresh"
+ }, {
+ template: "fresh",
+ request_method: "PUT",
+ request_body: "abc",
+ }, {
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates after a successful response from a DELETE',
+ requests: [
+ {
+ template: "fresh"
+ }, {
+ request_method: "DELETE",
+ request_body: "abc",
+ }, {
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates after a successful response from an unknown method',
+ requests: [
+ {
+ template: "fresh"
+ }, {
+ request_method: "FOO",
+ request_body: "abc",
+ }, {
+ expected_type: "not_cached"
+ }
+ ]
+ },
+
+
+ {
+ name: 'HTTP cache invalidates Location URL after a successful response from a POST',
+ requests: [
+ {
+ template: "location"
+ }, {
+ request_method: "POST",
+ request_body: "abc",
+ template: "lcl_response"
+ }, {
+ template: "location",
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not invalidate Location URL after a failed response from an unsafe request',
+ requests: [
+ {
+ template: "location"
+ }, {
+ template: "lcl_response",
+ request_method: "POST",
+ request_body: "abc",
+ response_status: [500, "Internal Server Error"]
+ }, {
+ template: "location",
+ expected_type: "cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates Location URL after a successful response from a PUT',
+ requests: [
+ {
+ template: "location"
+ }, {
+ template: "lcl_response",
+ request_method: "PUT",
+ request_body: "abc",
+ }, {
+ template: "location",
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates Location URL after a successful response from a DELETE',
+ requests: [
+ {
+ template: "location"
+ }, {
+ template: "lcl_response",
+ request_method: "DELETE",
+ request_body: "abc",
+ }, {
+ template: "location",
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates Location URL after a successful response from an unknown method',
+ requests: [
+ {
+ template: "location"
+ }, {
+ template: "lcl_response",
+ request_method: "FOO",
+ request_body: "abc",
+ }, {
+ template: "location",
+ expected_type: "not_cached"
+ }
+ ]
+ },
+
+
+
+ {
+ name: 'HTTP cache invalidates Content-Location URL after a successful response from a POST',
+ requests: [
+ {
+ template: "content_location"
+ }, {
+ request_method: "POST",
+ request_body: "abc",
+ template: "lcl_response"
+ }, {
+ template: "content_location",
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache does not invalidate Content-Location URL after a failed response from an unsafe request',
+ requests: [
+ {
+ template: "content_location"
+ }, {
+ template: "lcl_response",
+ request_method: "POST",
+ request_body: "abc",
+ response_status: [500, "Internal Server Error"]
+ }, {
+ template: "content_location",
+ expected_type: "cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates Content-Location URL after a successful response from a PUT',
+ requests: [
+ {
+ template: "content_location"
+ }, {
+ template: "lcl_response",
+ request_method: "PUT",
+ request_body: "abc",
+ }, {
+ template: "content_location",
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates Content-Location URL after a successful response from a DELETE',
+ requests: [
+ {
+ template: "content_location"
+ }, {
+ template: "lcl_response",
+ request_method: "DELETE",
+ request_body: "abc",
+ }, {
+ template: "content_location",
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache invalidates Content-Location URL after a successful response from an unknown method',
+ requests: [
+ {
+ template: "content_location"
+ }, {
+ template: "lcl_response",
+ request_method: "FOO",
+ request_body: "abc",
+ }, {
+ template: "content_location",
+ expected_type: "not_cached"
+ }
+ ]
+ }
+
+ ];
+ run_tests(tests);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachepartialexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+
+FAIL HTTP cache stores partial content and reuses it. assert_equals: Response body expected "3198c063-b8ad-4992-8462-70bf7483cc64" but got "01234"
+FAIL HTTP cache stores complete response and serves smaller ranges from it. assert_less_than: Response used expected a number less than 2 but got 2
+FAIL HTTP cache stores partial response and serves smaller ranges from it. assert_less_than: Response used expected a number less than 2 but got 2
+FAIL HTTP cache stores partial content and completes it. assert_equals: expected (string) "bytes=5-" but got (undefined) undefined
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachepartialhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,109 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>HTTP Cache - Partial Content</title>
+ <meta name="help" href="https://fetch.spec.whatwg.org/#request">
+ <meta name="timeout" content="long">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="http-cache.js"></script>
+ </head>
+ <body>
+ <script>
+ var tests = [
+ {
+ name: 'HTTP cache stores partial content and reuses it.',
+ requests: [
+ {
+ request_headers: [
+ ['Range', "bytes=-5"]
+ ],
+ response_status: [206, "Partial Content"],
+ response_headers: [
+ ['Cache-Control', 'max-age=3600'],
+ ['Content-Range', 'bytes 0-4/10']
+ ],
+ response_body: "01234",
+ expected_request_headers: [
+ ['Range', "bytes=-5"]
+ ],
+ },
+ {
+ request_headers: [
+ ['Range', "bytes=-5"]
+ ],
+ expected_type: "cached",
+ expected_status: 206
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache stores complete response and serves smaller ranges from it.',
+ requests: [
+ {
+ response_headers: [
+ ['Cache-Control', 'max-age=3600'],
+ ],
+ response_body: "01234567890",
+ },
+ {
+ request_headers: [
+ ['Range', "bytes=-1"]
+ ],
+ expected_type: "cached",
+ expected_response_text: "01"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache stores partial response and serves smaller ranges from it.',
+ requests: [
+ {
+ request_headers: [
+ ['Range', "bytes=-5"]
+ ],
+ response_status: [206, "Partial Content"],
+ response_headers: [
+ ['Cache-Control', 'max-age=3600'],
+ ['Content-Range', 'bytes 0-4/10']
+ ],
+ response_body: "01234",
+ },
+ {
+ request_headers: [
+ ['Range', "bytes=-1"]
+ ],
+ expected_type: "cached",
+ expected_response_text: "01"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache stores partial content and completes it.',
+ requests: [
+ {
+ request_headers: [
+ ['Range', "bytes=-5"]
+ ],
+ response_status: [206, "Partial Content"],
+ response_headers: [
+ ['Cache-Control', 'max-age=3600'],
+ ['Content-Range', 'bytes 0-4/10']
+ ],
+ response_body: "01234",
+ },
+ {
+ expected_request_headers: [
+ ["range", "bytes=5-"]
+ ]
+ }
+ ]
+ },
+ ];
+ run_tests(tests);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheresourceshttpcachepy"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/http-cache.py (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/http-cache.py         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/http-cache.py        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,51 @@
</span><ins>+from json import JSONEncoder, JSONDecoder
+from base64 import b64decode
+
+def main(request, response):
+ uuid = request.GET.first("token", None)
+ if "querystate" in request.GET:
+ response.headers.set("Content-Type", "text/plain")
+ return JSONEncoder().encode(request.server.stash.take(uuid))
+
+ server_state = request.server.stash.take(uuid)
+ if not server_state:
+ server_state = []
+
+ requests = JSONDecoder().decode(b64decode(request.GET.first("info", "")))
+ config = requests[len(server_state)]
+
+ state = dict()
+ state["request_method"] = request.method
+ state["request_headers"] = dict([[h.lower(), request.headers[h]] for h in request.headers])
+ server_state.append(state)
+ request.server.stash.put(uuid, server_state)
+
+ note_headers = ['content-type', 'access-control-allow-origin', 'last-modified', 'etag']
+ noted_headers = {}
+ for header in config.get('response_headers', []):
+ if header[0].lower() in ["location", "content-location"]: # magic!
+ header[1] = "%s&target=%s" % (request.url, header[1])
+ response.headers.set(header[0], header[1])
+ if header[0].lower() in note_headers:
+ noted_headers[header[0].lower()] = header[1]
+
+ if "access-control-allow-origin" not in noted_headers:
+ response.headers.set("Access-Control-Allow-Origin", "*");
+ if "content-type" not in noted_headers:
+ response.headers.set("Content-Type", "text/plain")
+ response.headers.set("Server-Request-Count", len(server_state))
+
+ code, phrase = config.get("response_status", [200, "OK"])
+
+ if request.headers.get("If-Modified-Since", False) == noted_headers.get('last-modified', True):
+ code, phrase = [304, "Not Modified"]
+ if request.headers.get("If-None-Match", False) == noted_headers.get('etag', True):
+ code, phrase = [304, "Not Modified"]
+
+ response.status = (code, phrase)
+
+ content = config.get("response_body", uuid)
+ if code in [204, 304]:
+ return ""
+ else:
+ return content
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcacheresourcesw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/resources/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+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/http-cache/resources/http-cache.py
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachestatusexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+
+PASS HTTP cache goes to the network if it has a stale 200 response.
+PASS HTTP cache avoids going to the network if it has a fresh 200 response.
+PASS HTTP cache goes to the network if it has a stale 203 response.
+PASS HTTP cache avoids going to the network if it has a fresh 203 response.
+PASS HTTP cache goes to the network if it has a stale 204 response.
+PASS HTTP cache avoids going to the network if it has a fresh 204 response.
+PASS HTTP cache goes to the network if it has a stale 299 response.
+FAIL HTTP cache avoids going to the network if it has a fresh 299 response. assert_less_than: Response used expected a number less than 2 but got 2
+PASS HTTP cache goes to the network if it has a stale 400 response.
+FAIL HTTP cache avoids going to the network if it has a fresh 400 response. assert_less_than: Response used expected a number less than 2 but got 2
+PASS HTTP cache goes to the network if it has a stale 404 response.
+PASS HTTP cache avoids going to the network if it has a fresh 404 response.
+PASS HTTP cache goes to the network if it has a stale 410 response.
+PASS HTTP cache avoids going to the network if it has a fresh 410 response.
+PASS HTTP cache goes to the network if it has a stale 499 response.
+FAIL HTTP cache avoids going to the network if it has a fresh 499 response. assert_less_than: Response used expected a number less than 2 but got 2
+PASS HTTP cache goes to the network if it has a stale 500 response.
+FAIL HTTP cache avoids going to the network if it has a fresh 500 response. assert_less_than: Response used expected a number less than 2 but got 2
+PASS HTTP cache goes to the network if it has a stale 502 response.
+FAIL HTTP cache avoids going to the network if it has a fresh 502 response. assert_less_than: Response used expected a number less than 2 but got 2
+PASS HTTP cache goes to the network if it has a stale 503 response.
+FAIL HTTP cache avoids going to the network if it has a fresh 503 response. assert_less_than: Response used expected a number less than 2 but got 2
+PASS HTTP cache goes to the network if it has a stale 504 response.
+FAIL HTTP cache avoids going to the network if it has a fresh 504 response. assert_less_than: Response used expected a number less than 2 but got 2
+PASS HTTP cache goes to the network if it has a stale 599 response.
+FAIL HTTP cache avoids going to the network if it has a fresh 599 response. assert_less_than: Response used expected a number less than 2 but got 2
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachestatushtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,69 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>HTTP Cache - Status Codes</title>
+ <meta name="help" href="https://fetch.spec.whatwg.org/#request">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="http-cache.js"></script>
+ </head>
+ <body>
+ <script>
+ var tests = [];
+ function check_status(status) {
+ var code = status[0];
+ var phrase = status[1];
+ var body = status[2];
+ if (body === undefined) {
+ body = http_content(code);
+ }
+ tests.push({
+ name: 'HTTP cache goes to the network if it has a stale ' + code + ' response.',
+ requests: [
+ {
+ template: "stale",
+ response_status: [code, phrase],
+ response_body: body
+ }, {
+ expected_type: "not_cached",
+ response_body: body
+ }
+ ]
+ })
+ tests.push({
+ name: 'HTTP cache avoids going to the network if it has a fresh ' + code + ' response.',
+ requests: [
+ {
+ template: "fresh",
+ response_status: [code, phrase],
+ response_body: body
+ }, {
+ expected_type: "cached",
+ response_status: [code, phrase],
+ response_body: body
+ }
+ ]
+ })
+ }
+ [
+ [200, 'OK'],
+ [203, "Non-Authoritative Information"],
+ [204, "No Content", ""],
+ [299, "Whatever"],
+ [400, "Bad Request"],
+ [404, "Not Found"],
+ [410, "Gone"],
+ [499, "Whatever"],
+ [500, "Internal Server Error"],
+ [502, "Bad Gateway"],
+ [503, "Service Unavailable"],
+ [504, "Gateway Timeout"],
+ [599, "Whatever"]
+ ].forEach(check_status);
+ run_tests(tests);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachevaryexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+
+PASS HTTP cache reuses Vary response when request matches.
+PASS HTTP cache doesn't use Vary response when request doesn't match.
+PASS HTTP cache doesn't use Vary response when request omits variant header.
+FAIL HTTP cache doesn't invalidate existing Vary response. assert_less_than: Response used expected a number less than 3 but got 3
+PASS HTTP cache doesn't pay attention to headers not listed in Vary.
+PASS HTTP cache reuses two-way Vary response when request matches.
+PASS HTTP cache doesn't use two-way Vary response when request doesn't match.
+PASS HTTP cache doesn't use two-way Vary response when request omits variant header.
+PASS HTTP cache reuses three-way Vary response when request matches.
+PASS HTTP cache doesn't use three-way Vary response when request doesn't match.
+PASS HTTP cache doesn't use three-way Vary response when request omits variant header.
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachevaryhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,270 @@
</span><ins>+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>HTTP Cache - Vary</title>
+ <meta name="help" href="https://fetch.spec.whatwg.org/#request">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/common/utils.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+ <script src="http-cache.js"></script>
+ </head>
+ <body>
+ <script>
+ var tests = [
+ {
+ name: 'HTTP cache reuses Vary response when request matches.',
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Foo", "1"]
+ ],
+ expected_type: "cached"
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't use Vary response when request doesn't match.",
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Foo", "2"]
+ ],
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't use Vary response when request omits variant header.",
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo"]
+ ]
+ },
+ {
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't invalidate existing Vary response.",
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo"]
+ ],
+ response_body: http_content('foo_1')
+ },
+ {
+ request_headers: [
+ ["Foo", "2"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo"]
+ ],
+ expected_type: "not_cached",
+ response_body: http_content('foo_2'),
+ },
+ {
+ request_headers: [
+ ["Foo", "1"]
+ ],
+ expected_type: "cached"
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't pay attention to headers not listed in Vary.",
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Other", "2"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo"]
+ ],
+ },
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Other", "3"]
+ ],
+ expected_type: "cached",
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache reuses two-way Vary response when request matches.',
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Bar", "abc"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo, Bar"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Bar", "abc"]
+ ],
+ expected_type: "cached"
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't use two-way Vary response when request doesn't match.",
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Bar", "abc"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo, Bar"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Foo", "2"],
+ ["Bar", "abc"]
+ ],
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't use two-way Vary response when request omits variant header.",
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo, Bar"]
+ ]
+ },
+ {
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: 'HTTP cache reuses three-way Vary response when request matches.',
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Bar", "abc"],
+ ["Baz", "789"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo, Bar, Baz"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Bar", "abc"],
+ ["Baz", "789"]
+ ],
+ expected_type: "cached"
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't use three-way Vary response when request doesn't match.",
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Bar", "abc"],
+ ["Baz", "789"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo, Bar, Baz"]
+ ]
+ },
+ {
+ request_headers: [
+ ["Foo", "2"],
+ ["Bar", "abc"],
+ ["Baz", "789"]
+ ],
+ expected_type: "not_cached"
+ }
+ ]
+ },
+ {
+ name: "HTTP cache doesn't use three-way Vary response when request omits variant header.",
+ requests: [
+ {
+ request_headers: [
+ ["Foo", "1"],
+ ["Baz", "789"]
+ ],
+ response_headers: [
+ ["Expires", http_date(5000)],
+ ["Last-Modified", http_date(-3000)],
+ ["Vary", "Foo, Bar, Baz"]
+ ]
+ },
+ {
+ expected_type: "not_cached"
+ }
+ ]
+ }
+ ];
+ run_tests(tests);
+ </script>
+ </body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchhttpcachew3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+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/http-cache/304-update.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/README.md
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/freshness.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/heuristic.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/http-cache.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/invalidate.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/partial.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/status.html
+/LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/vary.html
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchnosniffimportscriptsexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/nosniff/importscripts-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/nosniff/importscripts-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/nosniff/importscripts-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,3 +0,0 @@
</span><del>-
-FAIL Test importScripts() assert_equals: expected "PASS" but got "FAIL: Content-Type missing"
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimebasicanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+
+PASS self.performance.now() is a function that returns a number
+PASS self.performance.now() returns a positive number
+PASS self.performance.now() difference is not negative
+PASS High resolution time has approximately the right relative magnitude
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimebasicanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimebasicanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+test(function() {
+ assert_true((self.performance !== undefined), "self.performance exists");
+ assert_equals(typeof self.performance, "object", "self.performance is an object");
+ assert_equals((typeof self.performance.now), "function", "self.performance.now() is a function");
+ assert_equals(typeof self.performance.now(), "number", "self.performance.now() returns a number");
+}, "self.performance.now() is a function that returns a number");
+
+test(function() {
+ assert_true(self.performance.now() > 0);
+}, "self.performance.now() returns a positive number");
+
+test(function() {
+ var now1 = self.performance.now();
+ var now2 = self.performance.now();
+ assert_true((now2-now1) >= 0);
+ }, "self.performance.now() difference is not negative");
+
+async_test(function() {
+ // Check whether the performance.now() method is close to Date() within 30ms (due to inaccuracies)
+ var initial_hrt = self.performance.now();
+ var initial_date = Date.now();
+ this.step_timeout(function() {
+ var final_hrt = self.performance.now();
+ var final_date = Date.now();
+ assert_approx_equals(final_hrt - initial_hrt, final_date - initial_date, 30, 'High resolution time value increased by approximately the same amount as time from date object');
+ this.done();
+ }, 2000);
+}, 'High resolution time has approximately the right relative magnitude');
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockanyexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+PASS self.performance.now() returns a positive number
+PASS self.performance.now() difference is not negative
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockanyhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockanyjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.js (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.js         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+test(function() {
+ assert_true(self.performance.now() > 0, "self.performance.now() returns positive numbers");
+}, "self.performance.now() returns a positive number", {assert: "The time values returned when calling the now method MUST be monotonically increasing and not subject to system clock adjustments or system clock skew."});
+
+test(function() {
+ var now1 = self.performance.now();
+ var now2 = self.performance.now();
+ assert_true((now2-now1) >= 0, "self.performance.now() difference is not negative");
+ },
+ "self.performance.now() difference is not negative",
+ {
+ assert: "The difference between any two chronologically recorded time values returned from the now method MUST never be negative."
+ }
+);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockworkerexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.worker-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.worker-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.worker-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+Harness Error (FAIL), message = Error in worker: [object Event]
+
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimemonotonicclockworkerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.worker.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.worker.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.worker.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshrtimew3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/hr-time/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -16,9 +16,8 @@
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/hr-time/OWNERS
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.html
-/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.worker.js
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/hr-time/basic.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/hr-time/idlharness.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.html
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/hr-time/monotonic-clock.any.js
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/hr-time/test_cross_frame_start.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/hr-time/window-worker-time-origin.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlOWNERS"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/OWNERS (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/OWNERS        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/OWNERS        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,4 +1,3 @@
</span><del>-@ayg
</del><span class="cx"> @jdm
</span><span class="cx"> @jgraham
</span><span class="cx"> @zcorpan
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersbrowsingthewebunloadingdocumentsbeforeunloadcancelingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,6 +1,8 @@
</span><span class="cx">
</span><span class="cx"> PASS Returning a string must not cancel the event: CustomEvent, non-cancelable
</span><span class="cx"> PASS Returning a string must not cancel the event: CustomEvent, cancelable
</span><ins>+FAIL Returning false must not cancel the event, because it's coerced to the DOMString "false" which does not cancel CustomEvents: CustomEvent, cancelable assert_false: The event must not have been canceled expected false got true
+FAIL Returning a string must not cancel the event: BeforeUnloadEvent with type "click", cancelable The operation is not supported.
</ins><span class="cx"> PASS Returning null with a real iframe unloading
</span><span class="cx"> PASS Returning undefined with a real iframe unloading
</span><span class="cx"> PASS Returning with a real iframe unloading
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersbrowsingthewebunloadingdocumentsbeforeunloadcancelinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -11,7 +11,7 @@
</span><span class="cx"> <script>
</span><span class="cx"> "use strict";
</span><span class="cx">
</span><del>-async_test(t => {
</del><ins>+promise_test(t => {
</ins><span class="cx"> let onbeforeunloadHappened = false;
</span><span class="cx"> window.onbeforeunload = t.step_func(() => {
</span><span class="cx"> onbeforeunloadHappened = true;
</span><span class="lines">@@ -18,19 +18,19 @@
</span><span class="cx"> return "cancel me";
</span><span class="cx"> });
</span><span class="cx">
</span><del>- const listener = t.step_func(e => {
</del><ins>+ const eventWatcher = new EventWatcher(t, window, "beforeunload");
+ const promise = eventWatcher.wait_for("beforeunload").then(e => {
</ins><span class="cx"> assert_true(onbeforeunloadHappened, "CustomEvent must be able to trigger the event handler");
</span><span class="cx"> assert_false(e.defaultPrevented, "The event must not have been canceled");
</span><span class="cx"> window.onbeforeunload = null;
</span><del>- t.done();
</del><span class="cx"> });
</span><span class="cx">
</span><del>- window.addEventListener("beforeunload", listener);
</del><ins>+ window.dispatchEvent(new CustomEvent("beforeunload"));
</ins><span class="cx">
</span><del>- window.dispatchEvent(new CustomEvent("beforeunload"));
</del><ins>+ return promise;
</ins><span class="cx"> }, "Returning a string must not cancel the event: CustomEvent, non-cancelable");
</span><span class="cx">
</span><del>-async_test(t => {
</del><ins>+promise_test(t => {
</ins><span class="cx"> let onbeforeunloadHappened = false;
</span><span class="cx"> window.onbeforeunload = t.step_func(() => {
</span><span class="cx"> onbeforeunloadHappened = true;
</span><span class="lines">@@ -37,7 +37,8 @@
</span><span class="cx"> return "cancel me";
</span><span class="cx"> });
</span><span class="cx">
</span><del>- const listener = t.step_func(e => {
</del><ins>+ const eventWatcher = new EventWatcher(t, window, "beforeunload");
+ const promise = eventWatcher.wait_for("beforeunload").then(e => {
</ins><span class="cx"> assert_true(onbeforeunloadHappened, "CustomEvent must be able to trigger the event handler");
</span><span class="cx"> assert_false(e.defaultPrevented, "The event must not have been canceled");
</span><span class="cx"> window.onbeforeunload = null;
</span><span class="lines">@@ -44,11 +45,49 @@
</span><span class="cx"> t.done();
</span><span class="cx"> });
</span><span class="cx">
</span><del>- window.addEventListener("beforeunload", listener);
</del><ins>+ window.dispatchEvent(new CustomEvent("beforeunload", { cancelable: true }));
</ins><span class="cx">
</span><del>- window.dispatchEvent(new CustomEvent("beforeunload", { cancelable: true }));
</del><ins>+ return promise;
</ins><span class="cx"> }, "Returning a string must not cancel the event: CustomEvent, cancelable");
</span><span class="cx">
</span><ins>+promise_test(t => {
+ let onbeforeunloadHappened = false;
+ window.onbeforeunload = t.step_func(() => {
+ onbeforeunloadHappened = true;
+ return false;
+ });
+
+ const eventWatcher = new EventWatcher(t, window, "beforeunload");
+ const promise = eventWatcher.wait_for("beforeunload").then(e => {
+ assert_true(onbeforeunloadHappened, "CustomEvent must be able to trigger the event handler");
+ assert_false(e.defaultPrevented, "The event must not have been canceled");
+ window.onbeforeunload = null;
+ t.done();
+ });
+
+ window.dispatchEvent(new CustomEvent("beforeunload", { cancelable: true }));
+
+ return promise;
+}, "Returning false must not cancel the event, because it's coerced to the DOMString \"false\" which does not cancel " +
+ "CustomEvents: CustomEvent, cancelable");
+
+// This test can be removed if we update the DOM Standard to disallow createEvent("BeforeUnloadEvent"). Browser support
+// is inconsistent. https://github.com/whatwg/dom/issues/362
+promise_test(t => {
+ const eventWatcher = new EventWatcher(t, window, "click");
+ const promise = eventWatcher.wait_for("click").then(e => {
+ assert_false(e.defaultPrevented, "The event must not have been canceled");
+ window.onbeforeunload = null;
+ t.done();
+ });
+
+ const ev = document.createEvent("BeforeUnloadEvent");
+ ev.initEvent("click", false, true);
+ window.dispatchEvent(ev);
+
+ return promise;
+}, "Returning a string must not cancel the event: BeforeUnloadEvent with type \"click\", cancelable");
+
</ins><span class="cx"> const testCases = [
</span><span class="cx"> {
</span><span class="cx"> valueToReturn: null,
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsershistorythelocationinterfacelocationprototypesettingcrossoriginsubexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+Blocked access to external URL http://www.localhost:8801/common/blank.html
+
+
+FAIL Cross-origin: the prototype is null assert_equals: expected null but got object "[object LocationPrototype]"
+PASS Cross-origin: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError
+FAIL Cross-origin: setting the prototype to an empty object via __proto__ should throw a "SecurityError" DOMException assert_throws: function "function () {
+ target.__proto__ = newValue;
+ }" threw object "TypeError: Cannot set prototype of immutable prototype object" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
+PASS Cross-origin: setting the prototype to an empty object via Reflect.setPrototypeOf should return false
+FAIL Cross-origin: the prototype must still be null assert_equals: expected null but got object "[object LocationPrototype]"
+FAIL Cross-origin: setting the prototype to null via Object.setPrototypeOf should not throw Cannot set prototype of immutable prototype object
+FAIL Cross-origin: setting the prototype to null via __proto__ should throw a "SecurityError" since it ends up in CrossOriginGetOwnProperty assert_throws: function "function () {
+ target.__proto__ = newValue;
+ }" threw object "TypeError: Cannot set prototype of immutable prototype object" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
+FAIL Cross-origin: setting the prototype to null via Reflect.setPrototypeOf should return true assert_true: expected true got false
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsershistorythelocationinterfacelocationprototypesettingcrossoriginsubhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>[[SetPrototypeOf]] on a Location object should not allow changing its value: cross-origin</title>
+<link rel="help" href="http://html.spec.whatwg.org/multipage/#location-setprototypeof">
+<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/test-setting-immutable-prototype.js"></script>
+
+<iframe src="//{{domains[www]}}:{{ports[http][1]}}/common/blank.html"></iframe>
+
+<script>
+"use strict";
+setup({ explicit_done: true });
+
+window.onload = () => {
+ const targetLocation = frames[0].location;
+
+ test(() => {
+ assert_equals(Object.getPrototypeOf(targetLocation), null);
+ }, "Cross-origin: the prototype is null");
+
+ testSettingImmutablePrototype("Cross-origin", targetLocation, null, { isSameOriginDomain: false });
+
+ done();
+};
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsershistorythelocationinterfacew3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -28,8 +28,8 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting.html
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin-domain.sub.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-cross-origin.sub.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-goes-cross-origin-domain.sub.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-same-origin.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersorigincrossoriginobjectscrossoriginobjectsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><del>-CONSOLE MESSAGE: line 397: Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "http://127.0.0.1:8800". Protocols, domains, and ports must match.
-CONSOLE MESSAGE: line 397: Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "http://127.0.0.1:8800". Protocols, domains, and ports must match.
</del><ins>+CONSOLE MESSAGE: line 403: Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "http://127.0.0.1:8800". Protocols, domains, and ports must match.
+CONSOLE MESSAGE: line 403: Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "http://127.0.0.1:8800". Protocols, domains, and ports must match.
</ins><span class="cx">
</span><span class="cx"> PASS Basic sanity-checking
</span><span class="cx"> PASS Basic sanity-checking (exception type)
</span><span class="lines">@@ -7,8 +7,8 @@
</span><span class="cx"> PASS Only whitelisted properties are accessible cross-origin (exception type)
</span><span class="cx"> PASS [[GetPrototypeOf]] should return null
</span><span class="cx"> PASS [[GetPrototypeOf]] should return null (exception type)
</span><del>-PASS [[SetPrototypeOf]] should throw
-PASS [[SetPrototypeOf]] should throw (exception type)
</del><ins>+PASS [[SetPrototypeOf]] should return false
+PASS [[SetPrototypeOf]] should return false (exception type)
</ins><span class="cx"> PASS [[IsExtensible]] should return true for cross-origin objects
</span><span class="cx"> PASS [[IsExtensible]] should return true for cross-origin objects (exception type)
</span><span class="cx"> PASS [[PreventExtensions]] should throw for cross-origin objects
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersorigincrossoriginobjectscrossoriginobjectshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -146,7 +146,13 @@
</span><span class="cx"> test_throws(exception_t, new TypeError, function() { protoSetter.call(C, new Object()); }, "proto setter |call| on cross-origin Window");
</span><span class="cx"> test_throws(exception_t, new TypeError, function() { protoSetter.call(C.location, new Object()); }, "proto setter |call| on cross-origin Location");
</span><span class="cx"> });
</span><del>-}, "[[SetPrototypeOf]] should throw");
</del><ins>+ if (Reflect.setPrototypeOf) {
+ assert_false(Reflect.setPrototypeOf(C, new Object()),
+ "Reflect.setPrototypeOf on cross-origin Window");
+ assert_false(Reflect.setPrototypeOf(C.location, new Object()),
+ "Reflect.setPrototypeOf on cross-origin Location");
+ }
+}, "[[SetPrototypeOf]] should return false");
</ins><span class="cx">
</span><span class="cx"> /*
</span><span class="cx"> * [[IsExtensible]]
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameopenfeaturestokenization001expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+
+FAIL tokenization should skip window features separators before `name` assert_equals: " noopener" should activate feature "noopener" expected null but got [stringifying object threw SecurityError (DOM Exception 18): Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "null". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "". Protocols must match.
+ with type object]
+FAIL feature `name` should be converted to ASCII lowercase assert_equals: "NOOPENER" should activate feature "noopener" expected null but got [stringifying object threw SecurityError (DOM Exception 18): Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "null". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "". Protocols must match.
+ with type object]
+FAIL after `name`, tokenization should skip window features separators that are not "=" or "," assert_equals: "noopener" should activate feature "noopener" expected null but got [stringifying object threw SecurityError (DOM Exception 18): Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "null". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "". Protocols must match.
+ with type object]
+FAIL Tokenizing should ignore window feature separators except "," after initial "=" and before value assert_equals: "noopener= yes" should activate feature "noopener" expected null but got [stringifying object threw SecurityError (DOM Exception 18): Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "null". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "". Protocols must match.
+ with type object]
+FAIL Tokenizing should read characters until first window feature separator as `value` assert_equals: "noopener=noopener" should set "noopener" expected null but got object "[object Window]"
+FAIL "noopener" should be based on name (key), not value assert_equals: "noopener=false" should activate feature "noopener" expected null but got object "[object Window]"
+PASS invalid feature names should not tokenize as "noopener"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameopenfeaturestokenization001html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,148 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML: window.open `features`: tokenization -- `noopener`</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#apis-for-creating-and-navigating-browsing-contexts-by-name">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+var windowURL = 'resources/close-self.html';
+
+// Tests for how windows features are tokenized into 'name', 'value'
+// window features separators are ASCII whitespace, '=' and ','
+
+test (t => {
+ // Tokenizing `name`: initial window features separators are ignored
+ // Each of these variants should tokenize to ('noopener', '')
+ var featureVariants = [
+ ' noopener',
+ '=noopener',
+ ',,noopener',
+ ',=, noopener',
+ '\n=noopener=',
+ '\tnoopener',
+ '\r,,,=noopener',
+ '\u000Cnoopener'
+ ];
+ featureVariants.forEach(feature => {
+ var win = window.open(windowURL, '', feature);
+ assert_equals(win, null, `"${feature}" should activate feature "noopener"`);
+ });
+}, 'tokenization should skip window features separators before `name`');
+
+test (t => {
+ // Tokenizing `name`: lowercase conversion
+ // Each of these variants should tokenize as feature ('noopener', '')
+ // except where indicated
+ // Note also that `value` is lowercased during tokenization
+ var featureVariants = [
+ 'NOOPENER',
+ 'noOpenER',
+ ' NOopener',
+ '=NOOPENER',
+ 'noopener=NOOPENER', // => ('noopener', 'noopener')
+ 'NOOPENER=noopener' // => ('noopener', 'noopener')
+ ];
+ featureVariants.forEach(feature => {
+ var win = window.open(windowURL, '', feature);
+ assert_equals(win, null, `"${feature}" should activate feature "noopener"`);
+ });
+}, 'feature `name` should be converted to ASCII lowercase');
+
+test (t => {
+ // After `name` has been collected, ignore any window features separators until '='
+ // except ',' OR a non-window-features-separator — break in those cases
+ // i.e. ignore whitespace until '=' unless a ',' is encountered first
+ // Each of these variants should tokenize as feature ('noopener', '')
+ var featureVariants = [
+ 'noopener',
+ ' noopener\r',
+ 'noopener\n =',
+ 'noopener,',
+ 'noopener =,',
+ ', noopener =',
+ 'noopener,=',
+ 'noopener foo', // => ('noopener', ''), ('foo', '')
+ 'foo noopener=1', // => ('foo', ''), ('noopener', '1')
+ 'foo=\u000Cnoopener' // => ('foo', ''), ('noopener', '')
+ ];
+ featureVariants.forEach(feature => {
+ var win = window.open(windowURL, '', feature);
+ assert_equals(win, null, `"${feature}" should activate feature "noopener"`);
+ });
+}, 'after `name`, tokenization should skip window features separators that are not "=" or ","');
+
+test (t => {
+ // After initial '=', tokenizing should ignore all separators except ','
+ // before collecting `value`
+ // Each of these variants should tokenize as feature ('noopener', '')
+ // Except where indicated
+ var featureVariants = [
+ 'noopener= yes', // => ('noopener', 'yes')
+ 'noopener==,',
+ 'noopener=\n ,',
+ 'noopener = \t ,',
+ 'noopener\n=\r noopener,', // => ('noopener', 'noopener')
+ 'noopener=,yes', // => ('noopener'), ('yes')
+ 'noopener= foo=,', // => ('noopener', 'foo')
+ 'noopener = \u000Cyes' // => ('noopener', 'yes')
+ ];
+ featureVariants.forEach(feature => {
+ var win = window.open(windowURL, '', feature);
+ assert_equals(win, null, `"${feature}" should activate feature "noopener"`);
+ });
+}, 'Tokenizing should ignore window feature separators except "," after initial "=" and before value');
+
+test (t => {
+ // Tokenizing `value` should collect any non-separator code points until first separator
+ var featureVariants = [
+ 'noopener=noopener', // => ('noopener', 'noopener')
+ 'noopener=yes', // => ('noopener', 'yes')
+ 'noopener = yes ,', // => ('noopener', 'yes')
+ 'noopener=\nyes ,', // => ('noopener', 'yes')
+ 'noopener=yes yes', // => ('noopener', 'yes'), ('yes', '')
+ 'noopener=yes\ts', // => ('noopener', 'yes'), ('s', '')
+ 'noopener==', // => ('noopener', '')
+ 'noopener=0\n,', // => ('noopener', '0')
+ '==noopener===', // => ('noopener', '')
+ 'noopener==\u000C' // => ('noopener', '')
+ ];
+ featureVariants.forEach(feature => {
+ var win = window.open(windowURL, '', feature);
+ assert_equals(win, null, `"${feature}" should set "noopener"`);
+ });
+}, 'Tokenizing should read characters until first window feature separator as `value`');
+
+test (t => {
+ // If tokenizedFeatures contains an entry with the key "noopener"...disown opener
+ // i.e. `value` should be irrelevant
+ var featureVariants = [
+ 'noopener=false',
+ ',noopener=0, ',
+ 'foo=bar,noopener=noopener,',
+ 'noopener=true',
+ 'noopener=foo\nbar\t'
+ ];
+ featureVariants.forEach(feature => {
+ var win = window.open(windowURL, '', feature);
+ assert_equals(win, null, `"${feature}" should activate feature "noopener"`);
+ });
+}, '"noopener" should be based on name (key), not value');
+
+test (t => {
+ var invalidFeatureVariants = [
+ '-noopener', // => ('-noopener', '')
+ 'NOOPENERRRR', // => ('noopenerrr', '')
+ 'noOpenErR', // => ('noopenerr', '')
+ 'no_opener', // => ('no_opener', '')
+ ' no opener', // => ('no', ''), ('opener', '')
+ 'no\nopener', // => ('no', ''), ('opener', '')
+ 'no,opener', // => ('no', ''), ('opener', '')
+ '\0noopener', // => ('\0noopener', '')
+ 'noopener\u0000=yes' // => ('noopener\0', 'yes')
+ ];
+ invalidFeatureVariants.forEach(feature => {
+ var win = window.open(windowURL, '', feature);
+ assert_not_equals(win, null, `"${feature}" should NOT activate feature "noopener"`);
+ });
+}, 'invalid feature names should not tokenize as "noopener"');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameresourcescloseselfhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+<script>
+ window.close();
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynameresourcesw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/w3c-import.log (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/w3c-import.log         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+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/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/resources/close-self.html
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowobjectapisforcreatingandnavigatingbrowsingcontextsbynamew3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -23,3 +23,4 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_unload-1.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_unload.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-001.html
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowproxyexoticobjectw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -16,6 +16,7 @@
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin-domain.sub.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-goes-cross-origin-domain.sub.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowproxyexoticobjectwindowproxyprototypesettingcrossoriginsubexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -5,12 +5,12 @@
</span><span class="cx"> PASS Cross-origin: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError
</span><span class="cx"> FAIL Cross-origin: setting the prototype to an empty object via __proto__ should throw a "SecurityError" DOMException assert_throws: function "function () {
</span><span class="cx"> target.__proto__ = newValue;
</span><del>- }" threw object "TypeError: Cannot set prototype of this object" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
</del><ins>+ }" threw object "TypeError: Cannot set prototype of immutable prototype object" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
</ins><span class="cx"> PASS Cross-origin: setting the prototype to an empty object via Reflect.setPrototypeOf should return false
</span><span class="cx"> FAIL Cross-origin: the prototype must still be null assert_equals: expected null but got object "[object WindowPrototype]"
</span><del>-FAIL Cross-origin: setting the prototype to null via Object.setPrototypeOf should not throw Cannot set prototype of this object
</del><ins>+FAIL Cross-origin: setting the prototype to null via Object.setPrototypeOf should not throw Cannot set prototype of immutable prototype object
</ins><span class="cx"> FAIL Cross-origin: setting the prototype to null via __proto__ should throw a "SecurityError" since it ends up in CrossOriginGetOwnProperty assert_throws: function "function () {
</span><span class="cx"> target.__proto__ = newValue;
</span><del>- }" threw object "TypeError: Cannot set prototype of this object" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
</del><ins>+ }" threw object "TypeError: Cannot set prototype of immutable prototype object" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18
</ins><span class="cx"> FAIL Cross-origin: setting the prototype to null via Reflect.setPrototypeOf should return true assert_true: expected true got false
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowsersthewindowproxyexoticobjectwindowproxyprototypesettingcrossoriginsubhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-cross-origin.sub.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>[[SetPrototypeOf]] on a WindowProxy object should not allow changing its value: cross-origin</title>
+<link rel="help" href="http://html.spec.whatwg.org/multipage/#windowproxy-setprototypeof">
+<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/test-setting-immutable-prototype.js"></script>
+
+<iframe src="//{{domains[www]}}:{{ports[http][1]}}/common/blank.html"></iframe>
+
+<script>
+"use strict";
+setup({ explicit_done: true });
+
+window.onload = () => {
+ const target = frames[0];
+
+ test(() => {
+ assert_equals(Object.getPrototypeOf(target), null);
+ }, "Cross-origin: the prototype is null");
+
+ testSettingImmutablePrototype("Cross-origin", target, null, { isSameOriginDomain: false });
+
+ done();
+};
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenerclosedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-closed.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-closed.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-closed.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -3,8 +3,8 @@
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><span class="cx"> <title>Auxiliary Browing Contexts: window.opener when Opener Removed/Closed</title>
</span><del>- <script src="../../../../../../../resources/testharness.js"></script>
- <script src="../../../../../../../resources/testharnessreport.js"></script>
</del><ins>+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
</ins><span class="cx"> <script src="/common/PrefixedLocalStorage.js"></script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenermultiplehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-multiple.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-multiple.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-multiple.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -2,8 +2,8 @@
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><span class="cx"> <title>Auxiliary Browing Contexts: window.opener, multiple</title>
</span><del>- <script src="../../../../../../../resources/testharness.js"></script>
- <script src="../../../../../../../resources/testharnessreport.js"></script>
</del><ins>+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
</ins><span class="cx"> <script src="/common/PrefixedLocalStorage.js"></script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenernoopenerhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -2,8 +2,8 @@
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><span class="cx"> <title>Auxiliary Browing Contexts: window.opener noopener</title>
</span><del>- <script src="../../../../../../../resources/testharness.js"></script>
- <script src="../../../../../../../resources/testharnessreport.js"></script>
</del><ins>+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
</ins><span class="cx"> <script src="/common/PrefixedLocalStorage.js"></script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenernoreferrerhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noreferrer.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noreferrer.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener-noreferrer.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -2,8 +2,8 @@
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><span class="cx"> <title>Auxiliary Browing Contexts: window.opener noreferrer</title>
</span><del>- <script src="../../../../../../../resources/testharness.js"></script>
- <script src="../../../../../../../resources/testharnessreport.js"></script>
</del><ins>+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
</ins><span class="cx"> <script src="/common/PrefixedLocalStorage.js"></script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsauxiliarybrowsingcontextsopenerhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/auxiliary-browsing-contexts/opener.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -2,8 +2,8 @@
</span><span class="cx"> <html>
</span><span class="cx"> <head>
</span><span class="cx"> <title>Auxiliary Browing Contexts: window.opener</title>
</span><del>- <script src="../../../../../../../resources/testharness.js"></script>
- <script src="../../../../../../../resources/testharnessreport.js"></script>
</del><ins>+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
</ins><span class="cx"> <script src="/common/PrefixedLocalStorage.js"></script>
</span><span class="cx"> </head>
</span><span class="cx"> <body>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank001expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+PASS window.open into `_blank` should create a new browsing context each time
+PASS `_blank` should be ASCII case-insensitive
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank001html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Browsing context - `_blank` name keyword</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+test(t => {
+ var window1 = window.open('about:blank', '_blank');
+ var window2 = window.open('about:blank', '_blank');
+ var window3 = window.open('about:blank', '_blank');
+ t.add_cleanup(() => {
+ window1.close();
+ window2.close();
+ window3.close();
+ });
+ assert_not_equals(window1, window2);
+ assert_not_equals(window2, window3);
+ assert_not_equals(window1, window3);
+}, 'window.open into `_blank` should create a new browsing context each time');
+
+test(t => {
+ var window1 = window.open('about:blank', '_bLAnk');
+ var window2 = window.open('about:blank', '_bLAnk');
+ var window3 = window.open('about:blank', '_bLAnk');
+ t.add_cleanup(() => {
+ window1.close();
+ window2.close();
+ window3.close();
+ });
+ assert_not_equals(window1, window2);
+ assert_not_equals(window2, window3);
+ assert_not_equals(window1, window3);
+}, '`_blank` should be ASCII case-insensitive');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank002expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Context for opened noreferrer link targeted to "_blank" should not have opener reference
+Link
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank002html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+<!doctype html>
+<title>Link with target=_blank, rel=noreferrer</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<div id="log"></div>
+<a href="resources/report-has-opener.html" rel="noreferrer" target="_blank">Link</a>
+<script>
+var prefixedStorage;
+setup (() => prefixedStorage = new PrefixedLocalStorageTest());
+
+async_test(t => {
+ t.add_cleanup(() => prefixedStorage.cleanup());
+ var a = document.getElementsByTagName('a')[0];
+ a.href = prefixedStorage.url(a.href);
+ prefixedStorage.onSet('hasOpener', t.step_func_done(e => {
+ assert_equals(e.newValue, 'false');
+ }));
+ a.click();
+}, 'Context for opened noreferrer link targeted to "_blank" should not have opener reference');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank003expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Context created by link targeting "_blank" should retain opener reference
+Link
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_blank003html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+<!doctype html>
+<title>Link with target=_blank, no rel</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<div id="log"></div>
+<a href="resources/report-has-opener.html" target="_blank">Link</a>
+<script>
+var prefixedStorage;
+setup(() => prefixedStorage = new PrefixedLocalStorageTest());
+async_test(t => {
+ t.add_cleanup(() => prefixedStorage.cleanup());
+ prefixedStorage.onSet('hasOpener', t.step_func_done(e => {
+ assert_equals(e.newValue, 'true');
+ }));
+ var a = document.getElementsByTagName('a')[0];
+ a.href = prefixedStorage.url(a.href);
+ a.click();
+}, 'Context created by link targeting "_blank" should retain opener reference');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent001expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS The parent browsing context must be chosen if the given name is `_parent`
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent001html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Choose browsing context - '_parent'</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+async_test(t => {
+ window.addEventListener('message', t.step_func_done(e => {
+ assert_equals(e.data.name, 'parentWin');
+ }));
+}, 'The parent browsing context must be chosen if the given name is `_parent`');
+</script>
+<iframe id="embedded" src="resources/choose-_parent-001-iframe-1.html" name="parentWin" style="display:none"></iframe>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent002expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS choosing _parent context: multiple nested contexts
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent002html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Choose browsing context - '_parent' (nested contexts)</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+async_test(t => {
+ var topWindow;
+ t.add_cleanup(() => topWindow.close());
+ window.addEventListener('message', t.step_func_done(e => {
+ assert_equals(e.data.name, 'iframeParent');
+ assert_false(e.data.isTop, 'window.parent is not top');
+ }));
+ topWindow = window.open('resources/choose-_parent-002-window.html', '_blank');
+}, 'choosing _parent context: multiple nested contexts');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent003expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS _parent should reuse window.parent context
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent003html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Choose browsing context - '_parent' (via window.open)</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+async_test(t => {
+ var topWindow;
+ t.add_cleanup(() => topWindow.close());
+ window.addEventListener('message', t.step_func_done(e => {
+ assert_equals(e.data.name, 'parentTopReplace');
+ assert_equals(e.data.isTop, true);
+ }));
+ topWindow = window.open('resources/choose-_parent-003-window.html', 'parentTopReplace');
+}, '_parent should reuse window.parent context');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent004expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS choosing _parent context should be case-insensitive
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_parent004html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Choose browsing context - '_parent' (case-sensitivity)</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<body>
+<div id="log"></div>
+
+<script>
+var prefixedStorage;
+var iframe;
+setup(() => prefixedStorage = new PrefixedLocalStorageTest());
+
+async_test(t => {
+ t.add_cleanup(() => prefixedStorage.cleanup());
+ var testFunc = (function (t) {
+ var completed = 0;
+ var testCount = 2;
+ return function (actual, expected) {
+ assert_equals(actual, expected);
+ if (++completed >= testCount) {
+ t.done();
+ }
+ }
+ }(t));
+
+ prefixedStorage.onSet('isTop', t.step_func(e => {
+ testFunc(e.newValue, 'false');
+ }));
+ prefixedStorage.onSet('name', t.step_func(e => {
+ testFunc(e.newValue, 'parentWin');
+ }));
+ iframe = document.createElement('iframe');
+ iframe.src = prefixedStorage.url('resources/choose-_parent-004-iframe-1.html');
+ iframe.name = 'parentWin';
+ document.body.appendChild(iframe);
+}, 'choosing _parent context should be case-insensitive');
+</script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_self001expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS The current browsing context must be chosen if the given name is "_self"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_self001html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Choose browsing context - the given name is '_self'</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<iframe src="resources/choose-_self-001-iframe.html" style="display:none"></iframe>
+<script>
+async_test(t => {
+ window.addEventListener('message', t.step_func_done(e => {
+ assert_equals(e.data.name, 'myownself');
+ }), false);
+}, 'The current browsing context must be chosen if the given name is "_self"');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_self002expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS choosing _self context should be case-insensitive
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_self002html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Choose browsing context - '_self' (case-sensitivity)</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<body>
+<div id="log"></div>
+
+<script>
+var prefixedStorage;
+setup(() => prefixedStorage = new PrefixedLocalStorageTest());
+
+async_test(t => {
+ var iframe;
+
+ var testFunc = (function (t) {
+ var completed = 0;
+ var testCount = 2;
+ return function (actual, expected) {
+ assert_equals(actual, expected);
+ if (++completed >= testCount) {
+ t.done();
+ }
+ }
+ }(t));
+
+ t.add_cleanup(() => prefixedStorage.cleanup());
+
+ prefixedStorage.onSet('isTop', t.step_func(e => {
+ testFunc(e.newValue, 'false');
+ }));
+ prefixedStorage.onSet('name', t.step_func(e => {
+ testFunc(e.newValue, 'testWin');
+ }));
+
+ iframe = document.createElement('iframe');
+ iframe.name = 'testWin';
+ iframe.src = prefixedStorage.url('resources/choose-_self-002-iframe.html');
+ document.body.appendChild(iframe);
+
+}, 'choosing _self context should be case-insensitive');
+
+</script>
+
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top001expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Should choose current browsing context for "_top" if current is top
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top001html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+<!doctype html>
+<title>HTML Test: Browsing context name - _top (current is top)</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<div id="log"></div>
+<script>
+var prefixedStorage;
+setup (() => prefixedStorage = new PrefixedLocalStorageTest());
+
+async_test(t => {
+ t.add_cleanup(() => prefixedStorage.cleanup());
+
+ var testFunc = (function (t) {
+ var completed = 0;
+ var testCount = 2;
+ return function (actual, expected) {
+ assert_equals(actual, expected);
+ if (++completed >= testCount) {
+ t.done();
+ }
+ }
+ }(t));
+
+ prefixedStorage.onSet('isTop', t.step_func(e => {
+ testFunc(e.newValue, 'true');
+ }));
+ prefixedStorage.onSet('name', t.step_func(e => {
+ testFunc(e.newValue, 'topWin1');
+ }));
+
+ window.open(prefixedStorage.url('resources/open-in-_top.html'), '_blank');
+}, 'Should choose current browsing context for "_top" if current is top');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top002expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Should choose top browsing context for "_top" if current is not top
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top002html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+<!doctype html>
+<title>HTML Test: Browsing context name - _top</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<div id="log"></div>
+<script>
+var prefixedStorage;
+setup (() => prefixedStorage = new PrefixedLocalStorageTest());
+
+async_test(t => {
+ t.add_cleanup(() => prefixedStorage.cleanup());
+
+ var testFunc = (function (t) {
+ var completed = 0;
+ var testCount = 2;
+ return function (actual, expected) {
+ assert_equals(actual, expected);
+ if (++completed >= testCount) {
+ t.done();
+ }
+ }
+ }(t));
+
+ prefixedStorage.onSet('isTop', t.step_func(e => {
+ testFunc(e.newValue, 'true');
+ }));
+ prefixedStorage.onSet('name', t.step_func(e => {
+ testFunc(e.newValue, 'topWin2');
+ }));
+ window.open(prefixedStorage.url('resources/choose-_top-002-window.html'), '_blank');
+}, 'Should choose top browsing context for "_top" if current is not top');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top003expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS choosing _top context should be case-insensitive
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoose_top003html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Choose browsing context - '_top' (case-sensitivity)</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<body>
+<div id="log"></div>
+
+<script>
+var prefixedStorage;
+setup(() => prefixedStorage = new PrefixedLocalStorageTest());
+
+async_test(t => {
+ var testFunc = (function (t) {
+ var completed = 0;
+ var testCount = 2;
+ return function (actual, expected) {
+ assert_equals(actual, expected);
+ if (++completed >= testCount) {
+ t.done();
+ }
+ }
+ }(t));
+
+ t.add_cleanup(() => prefixedStorage.cleanup());
+
+ prefixedStorage.onSet('isTop', t.step_func(e => {
+ testFunc(e.newValue, 'true');
+ }));
+ prefixedStorage.onSet('name', t.step_func(e => {
+ testFunc(e.newValue, 'topWin');
+ }));
+
+ window.open(prefixedStorage.url('resources/choose-_top-003-iframe-1.html'), '_blank');
+}, 'choosing _top context should be case-insensitive');
+
+</script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoosedefault001expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+
+PASS A embedded browsing context has empty-string default name
+PASS A browsing context which is opened by window.open() method with '_blank' parameter has empty-string default name
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoosedefault001html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Browsing context - Default name</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<iframe src="/common/blank.html" style="display:none"></iframe>
+<object id="obj" type="text/html" data="about:blank"></object>
+<embed id="embedded" type="image/svg+xml" src="/images/green.svg" width="0" height="0" />
+<script>
+test(t => {
+ assert_equals(window.frames[0].name, "");
+ assert_equals(document.getElementById("embedded").name, "");
+ assert_equals(window["obj"].name, "");
+}, "A embedded browsing context has empty-string default name");
+
+test(t => {
+ var win = window.open("about:blank", "_blank");
+ assert_equals(win.name, "");
+ win.close();
+}, "A browsing context which is opened by window.open() method with '_blank' parameter has empty-string default name");
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoosedefault002expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS The current browsing context must be chosen if the given name is empty string
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschoosedefault002html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Browsing context names - empty string</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+async_test(t => {
+ window.addEventListener('message', t.step_func_done(e => {
+ assert_equals(e.data.isTop, false);
+ assert_equals(e.data.name, 'hellothere', 'Empty-string browsing context should choose current context');
+ }), false);
+}, 'The current browsing context must be chosen if the given name is empty string');
+</script>
+<iframe name="hellothere" src="resources/choose-default-002-iframe.html"></iframe>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschooseexisting001expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS An existing browsing context must be chosen if the given name is the same as its name
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnameschooseexisting001html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: Choose browsing context - the given name is same as an existing browsing context's name</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<iframe src="resources/choose-existing-001-iframe.html" style="display:none"></iframe>
+<iframe name="iExist" style="display:none"></iframe>
+<script>
+async_test(t => {
+ window.addEventListener('message', t.step_func_done(e => {
+ assert_equals(e.data.name, 'iExist');
+ }), false);
+
+}, 'An existing browsing context must be chosen if the given name is the same as its name');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent001iframe1html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - parent</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<iframe src="open-in-_parent.html"></iframe>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent002iframehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - parent: nested context</title>
+<iframe name="iframeChild" src="open-in-_parent.html"></iframe>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent002windowhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - parent: top-level context</title>
+<iframe name="iframeParent" src="choose-_parent-002-iframe.html"></iframe>
+<script>
+// Relay a message from child context to opener context
+window.addEventListener('message', e => {
+ if (window.opener) {
+ window.opener.postMessage(e.data, '*');
+ }
+});
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent003iframehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - parent</title>
+<script>
+window.open("post-to-opener.html", "_parent");
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent003windowhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - parent: top-level context (gets replaced)</title>
+<iframe name="iframeOpener" src="choose-_parent-003-iframe.html"></iframe>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent004iframe1html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - parent</title>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<body>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource({
+ close_on_cleanup: true
+});
+var iframe = document.createElement('iframe');
+iframe.src = prefixedStorage.url('choose-_parent-004-iframe-2.html');
+document.body.appendChild(iframe);
+</script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_parent004iframe2html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - parent (case-insensitive)</title>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource();
+window.open(prefixedStorage.url('report-is-top.html'), '_pARent');
+
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_self001iframehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - self</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script>
+window.name = 'myownself';
+var win = window.open('post-to-top.html', '_self');
+win.close();
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_self002iframehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - self (case-insensitive)</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script src="/common/PrefixedLocalStorage.js"></script>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource({
+ close_on_cleanup: true
+});
+var win = window.open(prefixedStorage.url('report-is-top.html'), '_sElF');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_top002windowhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<script src="/common/PrefixedLocalStorage.js"></script>
+<title>HTML Test: browsing context name - _top</title>
+<body>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource({
+ close_on_cleanup:true
+});
+window.name = 'topWin2';
+var iframe = document.createElement('iframe');
+iframe.src = prefixedStorage.url('open-in-_top.html');
+// Append iframe that will open another document into `_top` (this context)
+document.body.appendChild(iframe);
+</script>
+</body>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_top003iframe1html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - top (case-insensitive)</title>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<body>
+</body>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource({
+ close_on_cleanup: true
+});
+window.name = 'topWin';
+var iframe = document.createElement('iframe');
+iframe.src = prefixedStorage.url('choose-_top-003-iframe-2.html');
+document.body.appendChild(iframe);
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoose_top003iframe2html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - top (case-insensitive)</title>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource({
+ close_on_cleanup: true
+});
+window.open(prefixedStorage.url("report-is-top.html"), "_ToP");
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschoosedefault002iframehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+<!DOCTYPE html>
+<html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - Empty string</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<body onload="followLink()">
+</body>
+<script>
+function followLink() {
+ var a = document.createElement('a');
+ a.href = 'post-to-top.html';
+ a.target = ''; // Target is empty string
+ document.body.appendChild(a);
+ a.click();
+}
+</script>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourceschooseexisting001iframehtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,7 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>This is a test page</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script>
+window.open("post-to-top.html", "iExist");
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesopenin_parenthtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: browsing context name - parent</title>
+<link rel="author" title="Intel" href="http://www.intel.com/">
+<script>
+
+window.open("post-to-top.html", "_parent");
+
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesopenin_tophtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+<!DOCTYPE html>
+<meta charset="utf-8">
+<script src="/common/PrefixedLocalStorage.js"></script>
+<title>HTML Test: browsing context name - _top</title>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource();
+window.name = 'topWin1';
+window.open(prefixedStorage.url('report-is-top.html'), '_top');
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesreporthasopenerhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+<!doctype html>
+<script src="/common/PrefixedLocalStorage.js"></script>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource({
+ close_on_cleanup: true
+});
+prefixedStorage.setItem('hasOpener', window.opener !== null);
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesreportistophtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+<!doctype html>
+<meta charset="utf-8">
+<script src="/common/PrefixedLocalStorage.js"></script>
+<script>
+var prefixedStorage = new PrefixedLocalStorageResource({
+ close_on_cleanup: true
+});
+prefixedStorage.setItem('isTop', window === window.top);
+prefixedStorage.setItem('name', window.name);
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesresourcesw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,14 +15,23 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/parent-iframe-1.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/parent-iframe-2.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/parent-iframe-3.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/parent-iframe-insensitive-1.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/parent-iframe-insensitive-2.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/parent-top-nested.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/parent-top-replace.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/parent-top.html
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-001-iframe-1.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-iframe.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-002-window.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-iframe.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-003-window.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-1.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_parent-004-iframe-2.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-001-iframe.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_self-002-iframe.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-002-window.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-1.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-_top-003-iframe-2.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-default-002-iframe.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/choose-existing-001-iframe.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_parent.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/open-in-_top.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/post-to-opener.html
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/post-to-top-or-close.html
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/post-to-top.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-has-opener.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/resources/report-is-top.html
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsbrowsingcontextnamesw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,19 +15,18 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/001-1.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/001.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/002-1.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/002.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-_blank.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-choose-existing.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-choose-parent-001.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-choose-parent-002.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-choose-parent-003.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-choose-parent-004.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-choose-self-1.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-choose-self-2.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/browsing-context-default-name.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/existing.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/self1.html
-/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/self2.html
</del><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-001.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-002.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_blank-003.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-001.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-002.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-003.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_parent-004.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-001.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_self-002.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-001.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-002.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-_top-003.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-001.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-default-002.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/browsing-context-names/choose-existing-001.html
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsopenercrossoriginmanualsubhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+<ol>
+ <li><p>Clicking this link must navigate this page to a resource that contains "THE END":
+ <a href=//{{domains[www1]}}:{{location[port]}}/html/browsers/windows/resources/opener-cross-origin.html target=_blank>test</a>
+
+ <li><p>Clicking this link must open a new browsing context that is empty:
+ <a rel=noreferrer href=//{{domains[www1]}}:{{location[port]}}/html/browsers/windows/resources/opener-cross-origin.html target=_blank>test</a>
+
+ <li><p>Clicking this link must navigate this page to a resource that contains "THE END":
+ <a href=//{{domains[www1]}}:{{location[port]}}/html/browsers/windows/resources/opener-cross-origin-embed.sub.html target=_blank>test</a>
+</ol>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsresourcesopenercrossoriginembedsubhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+<meta charset=utf-8>
+<iframe src=//{{domains[élève]}}:{{location[port]}}/html/browsers/windows/resources/opener-cross-origin.html></iframe>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsresourcesopenercrossoriginendtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+THE END
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsresourcesopenercrossoriginhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+<script>
+ parent.opener.location.href = "./opener-cross-origin-end.txt"
+ parent.window.close()
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsresourcesw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -19,6 +19,9 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/echo-window-name.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/nested-post-to-opener.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/noreferrer-window-name.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-embed.sub.html
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin-end.txt
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/opener-cross-origin.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/post-to-opener.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/target-cross-origin.sub.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/resources/window-close-button.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlbrowserswindowsw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -21,4 +21,5 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-cross-origin-window-name-manual.sub.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-null-opener.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/opener-cross-origin-manual.sub.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/targeting-multiple-cross-origin-manual.sub.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmldomOWNERS"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/OWNERS (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/OWNERS         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/OWNERS        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+@ayg
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmldomw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,6 +15,7 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/dom/OWNERS
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/dom/elements-embedded.js
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/dom/elements-forms.js
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/dom/elements-grouping.js
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlresourcescommonjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/resources/common.js (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/resources/common.js        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/resources/common.js        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -61,7 +61,6 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> var iframe = document.createElement('iframe');
</span><del>- iframe.style.display = 'none';
</del><span class="cx">
</span><span class="cx"> if (typeof (src) != 'undefined') {
</span><span class="cx"> iframe.src = src;
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsOWNERS"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/OWNERS (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/OWNERS         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/OWNERS        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+@ayg
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsembeddedcontentthecanvaselementw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -92,7 +92,6 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.png
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.png
</span><del>-/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html
</del><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.png
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.zero.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setcontent.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionstartendexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+
+Harness Error (TIMEOUT), message = null
+
+PASS Sanity check for testValue length; if this fails, variou absolute offsets in the test below need to be adjusted to be less than testValue.length
+FAIL onselect should fire when selectionStart is changed assert_equals: Initial .value set on textarea-appended should set selectionStart to end of value expected 10 but got 0
+NOTRUN onselect should fire when selectionStart is changed on input-appended
+NOTRUN onselect should fire when selectionStart is changed on input-not-appended
+NOTRUN onselect should fire when selectionStart is changed on input-appended-prefocused
+NOTRUN onselect should fire when selectionStart is changed on input-not-appended-prefocused
+FAIL onselect should fire when selectionEnd is changed assert_equals: Initial .value set on textarea-appended should set selectionEnd to end of value expected 10 but got 0
+NOTRUN onselect should fire when selectionEnd is changed on input-appended
+NOTRUN onselect should fire when selectionEnd is changed on input-not-appended
+NOTRUN onselect should fire when selectionEnd is changed on input-appended-prefocused
+NOTRUN onselect should fire when selectionEnd is changed on input-not-appended-prefocused
+FAIL Setting selectionStart to a value larger than selectionEnd should increase selectionEnd assert_equals: Initial .value set on textarea-appended should set selectionStart to end of value expected 10 but got 0
+FAIL Setting selectionEnd to a value smaller than selectionStart should decrease selectionStart assert_equals: Initial .value set on textarea-appended should set selectionStart to end of value expected 10 but got 0
+FAIL selectionStart edge-case values assert_equals: selectionStart setter on input-appended should convert -1 to 2^32-1 expected 10 but got 0
+FAIL selectionEnd edge-case values assert_equals: selectionEnd setter on input-appended should convert -1 to 2^32-1 expected 10 but got 0
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionstartendhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,148 @@
</span><ins>+<!doctype html>
+<meta charset=utf-8>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<script>
+ function createInputElement(value, append, suffix) {
+ var el = document.createElement("input");
+ el.type = "text";
+ el.value = value;
+ el.id = "input" + (append ? "-appended" : "-not-appended") + (suffix ? suffix : "");
+ if (append) {
+ document.body.appendChild(el);
+ }
+ return el;
+ };
+
+ function createTextareaElement(value, append, suffix) {
+ var el = document.createElement("textarea");
+ el.value = value;
+
+ el.id = "textarea" + (append ? "-appended" : "-not-appended") + (suffix ? suffix : "");
+ if (append) {
+ document.body.appendChild(el);
+ }
+ return el;
+ };
+
+ function createPrefocusedInputElement(value, append) {
+ var el = createInputElement(value, append, "-prefocused");
+ el.focus();
+ el.blur();
+ return el;
+ }
+
+ function createPrefocusedTextareaElement(value, append) {
+ var el = createTextareaElement(value, append, "-prefocused");
+ el.focus();
+ el.blur();
+ return el;
+ }
+
+ function createTestElements(value) {
+ return [ createInputElement(value, true),
+ createInputElement(value, false),
+ createPrefocusedInputElement(value, true),
+ createPrefocusedInputElement(value, false),
+ createTextareaElement(value, true),
+ createTextareaElement(value, false),
+ createPrefocusedTextareaElement(value, true),
+ createPrefocusedTextareaElement(value, false),
+ ];
+ }
+
+ var testValue = "abcdefghij";
+
+ test(function() {
+ assert_equals(testValue.length, 10);
+ }, "Sanity check for testValue length; if this fails, variou absolute offsets in the test below need to be adjusted to be less than testValue.length");
+
+ test(function() {
+ for (let el of createTestElements(testValue)) {
+ assert_equals(el.selectionStart, testValue.length,
+ `Initial .value set on ${el.id} should set selectionStart to end of value`);
+ var t = async_test(`onselect should fire when selectionStart is changed on ${el.id}`);
+ el.onselect = t.step_func_done(function(e) {
+ assert_equals(e.type, "select");
+ el.remove();
+ });
+ el.selectionStart = 2;
+ }
+ }, "onselect should fire when selectionStart is changed");
+
+ test(function() {
+ for (let el of createTestElements(testValue)) {
+ assert_equals(el.selectionEnd, testValue.length,
+ `Initial .value set on ${el.id} should set selectionEnd to end of value`);
+ var t = async_test(`onselect should fire when selectionEnd is changed on ${el.id}`);
+ el.onselect = t.step_func_done(function(e) {
+ assert_equals(e.type, "select");
+ el.remove();
+ });
+ el.selectionEnd = 2;
+ }
+ }, "onselect should fire when selectionEnd is changed");
+
+ test(function() {
+ for (let el of createTestElements(testValue)) {
+ assert_equals(el.selectionStart, testValue.length,
+ `Initial .value set on ${el.id} should set selectionStart to end of value`);
+ el.selectionStart = 0;
+ el.selectionEnd = 5;
+ el.selectionStart = 8;
+ assert_equals(el.selectionStart, 8, `selectionStart on ${el.id}`);
+ assert_equals(el.selectionEnd, 8, `selectionEnd on ${el.id}`);
+ el.remove();
+ }
+ }, "Setting selectionStart to a value larger than selectionEnd should increase selectionEnd");
+
+ test(function() {
+ for (let el of createTestElements(testValue)) {
+ assert_equals(el.selectionStart, testValue.length,
+ `Initial .value set on ${el.id} should set selectionStart to end of value`);
+ assert_equals(el.selectionEnd, testValue.length,
+ `Initial .value set on ${el.id} should set selectionEnd to end of value`);
+ el.selectionStart = 8;
+ el.selectionEnd = 5;
+ assert_equals(el.selectionStart, 5, `selectionStart on ${el.id}`);
+ assert_equals(el.selectionEnd, 5, `selectionEnd on ${el.id}`);
+ el.remove();
+ }
+ }, "Setting selectionEnd to a value smaller than selectionStart should decrease selectionStart");
+
+ test(function() {
+ for (let el of createTestElements(testValue)) {
+ el.selectionStart = 0;
+ assert_equals(el.selectionStart, 0, `We just set it on ${el.id}`);
+ el.selectionStart = -1;
+ assert_equals(el.selectionStart, testValue.length,
+ `selectionStart setter on ${el.id} should convert -1 to 2^32-1`);
+ el.selectionStart = Math.pow(2, 32);
+ assert_equals(el.selectionStart, 0,
+ `selectionStart setter on ${el.id} should convert 2^32 to 0`);
+ el.selectionStart = Math.pow(2, 32) - 1;
+ assert_equals(el.selectionStart, testValue.length,
+ `selectionStart setter on ${el.id} should leave 2^32-1 as-is`);
+ el.remove();
+ }
+ }, "selectionStart edge-case values");
+
+ test(function() {
+ for (let el of createTestElements(testValue)) {
+ el.selectionEnd = 0;
+ assert_equals(el.selectionEnd, 0, `We just set it on ${el.id}`);
+ el.selectionEnd = -1;
+ assert_equals(el.selectionEnd, testValue.length,
+ `selectionEnd setter on ${el.id} should convert -1 to 2^32-1`);
+ el.selectionEnd = Math.pow(2, 32);
+ assert_equals(el.selectionEnd, 0,
+ `selectionEnd setter on ${el.id} should convert 2^32 to 0`);
+ el.selectionEnd = Math.pow(2, 32) - 1;
+ assert_equals(el.selectionEnd, testValue.length,
+ `selectionEnd setter on ${el.id} should leave 2^32-1 as-is`);
+ el.remove();
+ }
+ }, "selectionEnd edge-case values");
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionvalueinteractionsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+
+FAIL value dirty flag behavior after setRangeText on textarea not in body assert_equals: Calling setRangeText should set the value dirty flag expected "somexyzing" but got "set range text"
+FAIL value dirty flag behavior after setRangeText on input not in body assert_equals: Calling setRangeText should set the value dirty flag expected "somexyzing" but got "set range text"
+PASS value dirty flag behavior after setRangeText on textarea in body
+PASS value dirty flag behavior after setRangeText on input in body
+PASS value dirty flag behavior after setRangeText on textarea in body with parsed default value
+PASS value dirty flag behavior after setRangeText on input in body with parsed default value
+PASS value dirty flag behavior after setRangeText on focused textarea
+PASS value dirty flag behavior after setRangeText on focused input
+PASS value dirty flag behavior after setRangeText on focused then blurred textarea
+PASS value dirty flag behavior after setRangeText on focused then blurred input
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionvalueinteractionshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,95 @@
</span><ins>+<!doctype html>
+<meta charset=utf-8>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div id=log></div>
+<div id=target></div>
+<script>
+ var target = document.getElementById("target");
+ var sometext = "something";
+ var shorttext = "abc";
+ var elemData = [
+ {
+ desc: "textarea not in body",
+ factory: () => document.createElement("textarea"),
+ },
+ {
+ desc: "input not in body",
+ factory: () => document.createElement("input"),
+ },
+ {
+ desc: "textarea in body",
+ factory: () => document.body.appendChild(document.createElement("textarea")),
+ },
+ {
+ desc: "input in body",
+ factory: () => document.body.appendChild(document.createElement("input")),
+ },
+ {
+ desc: "textarea in body with parsed default value",
+ factory: () => {
+ target.innerHTML = "<textarea>abcdefghij</textarea>"
+ return target.querySelector("textarea");
+ },
+ },
+ {
+ desc: "input in body with parsed default value",
+ factory: () => {
+ target.innerHTML = "<input value='abcdefghij'>"
+ return target.querySelector("input");
+ },
+ },
+ {
+ desc: "focused textarea",
+ factory: () => {
+ var t = document.body.appendChild(document.createElement("textarea"));
+ t.focus();
+ return t;
+ },
+ },
+ {
+ desc: "focused input",
+ factory: () => {
+ var i = document.body.appendChild(document.createElement("input"));
+ i.focus();
+ return i;
+ },
+ },
+ {
+ desc: "focused then blurred textarea",
+ factory: () => {
+ var t = document.body.appendChild(document.createElement("textarea"));
+ t.focus();
+ t.blur();
+ return t;
+ },
+ },
+ {
+ desc: "focused then blurred input",
+ factory: () => {
+ var i = document.body.appendChild(document.createElement("input"));
+ i.focus();
+ i.blur()
+ return i;
+ },
+ },
+ ];
+
+for (var data of elemData) {
+ test(function() {
+ var el = data.factory();
+ this.add_cleanup(() => el.remove());
+ el.defaultValue = sometext;
+ assert_true(sometext.length > 8,
+ "sometext too short, test won't work right");
+ el.selectionStart = 4;
+ el.selectionEnd = 6;
+ el.setRangeText("xyz");
+ el.defaultValue = "set range text";
+ assert_equals(el.value, sometext.slice(0, 4) + "xyz" + sometext.slice(6),
+ "Calling setRangeText should set the value dirty flag");
+ }, `value dirty flag behavior after setRangeText on ${data.desc}`);
+}
+
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionselectionhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -14,18 +14,24 @@
</span><span class="cx"> var dirs = ['forward', 'backward', 'none'];
</span><span class="cx"> var sampleText = "0123456789";
</span><span class="cx">
</span><del>- var createInputElement = function(value) {
</del><ins>+ var createInputElement = function(value, append = true) {
</ins><span class="cx"> var el = document.createElement("input");
</span><span class="cx"> el.type = "text";
</span><span class="cx"> el.value = value;
</span><del>- body.appendChild(el);
</del><ins>+ el.id = "input" + (append ? "-appended" : "-not-appended");
+ if (append) {
+ body.appendChild(el);
+ }
</ins><span class="cx"> return el;
</span><span class="cx"> };
</span><span class="cx">
</span><del>- var createTextareaElement = function(value) {
</del><ins>+ var createTextareaElement = function(value, append = true) {
</ins><span class="cx"> var el = document.createElement("textarea");
</span><span class="cx"> el.value = value;
</span><del>- body.appendChild(el);
</del><ins>+ el.id = "textarea" + (append ? "-appended" : "-not-appended");
+ if (append) {
+ body.appendChild(el);
+ }
</ins><span class="cx"> return el;
</span><span class="cx"> };
</span><span class="cx">
</span><span class="lines">@@ -82,51 +88,76 @@
</span><span class="cx"> }, "test if non-ascii selection text is correct for textarea");
</span><span class="cx">
</span><span class="cx">
</span><del>- test(function() {
- var el = createInputElement(sampleText);
- // If there is no selection, then it must return the offset(in logical order)
- // to the character that immediately follows the text entry cursor.
- assert_equals(el.selectionStart, el.value.length, "SelectionStart offset without selection");
- el.select();
- assert_equals(el.selectionStart, 0, "SelectionStart offset");
- el.parentNode.removeChild(el);
- }, "test SelectionStart offset for input");
</del><ins>+ for (var append of [true, false]) {
+ test(function() {
+ var el = createInputElement(sampleText, append);
+ // If there is no selection, then it must return the offset(in logical order)
+ // to the character that immediately follows the text entry cursor.
+ assert_equals(el.selectionStart, el.value.length,
+ "SelectionStart offset without selection in " + el.id);
+ if (!el.parentNode) {
+ return;
+ }
+ el.select();
+ assert_equals(el.selectionStart, 0, "SelectionStart offset");
+ el.parentNode.removeChild(el);
+ }, "test SelectionStart offset for input that is " +
+ (append ? "appended" : " not appended"));
+ }
</ins><span class="cx">
</span><ins>+ for (var append of [true, false]) {
+ test(function() {
+ var el = createTextareaElement(sampleText, append);
+ // If there is no selection, then it must return the offset(in logical order)
+ // to the character that immediately follows the text entry cursor.
+ assert_equals(el.selectionStart, el.value.length,
+ "SelectionStart offset without selection in " + el.id);
+ if (!el.parentNode) {
+ return;
+ }
+ el.select();
+ assert_equals(el.selectionStart, 0, "SelectionStart offset");
+ el.parentNode.removeChild(el);
+ }, "test SelectionStart offset for textarea that is " +
+ (append ? "appended" : " not appended"));
+ }
</ins><span class="cx">
</span><del>- test(function() {
- var el = createTextareaElement(sampleText);
- // If there is no selection, then it must return the offset(in logical order)
- // to the character that immediately follows the text entry cursor.
- assert_equals(el.selectionStart, el.value.length, "SelectionStart offset without selection");
- el.select();
- assert_equals(el.selectionStart, 0, "SelectionStart offset");
- el.parentNode.removeChild(el);
- }, "test SelectionStart offset for textarea");
</del><ins>+ for (var append of [true, false]) {
+ test(function() {
+ var el = createInputElement(sampleText, append);
+ // If there is no selection, then it must return the offset(in logical order)
+ // to the character that immediately follows the text entry cursor.
+ assert_equals(el.selectionEnd, el.value.length,
+ "SelectionEnd offset without selection in " + el.id);
+ if (!el.parentNode) {
+ return;
+ }
+ el.select();
+ assert_equals(el.selectionEnd, el.value.length, "SelectionEnd offset");
+ el.parentNode.removeChild(el);
+ }, "test SelectionEnd offset for input that is " +
+ (append ? "appended" : " not appended"));
+ }
</ins><span class="cx">
</span><span class="cx">
</span><del>- test(function() {
- var el = createInputElement(sampleText);
- // If there is no selection, then it must return the offset(in logical order)
- // to the character that immediately follows the text entry cursor.
- assert_equals(el.selectionEnd, el.value.length, "SelectionEnd offset without selection");
- el.select();
- assert_equals(el.selectionEnd, el.value.length, "SelectionEnd offset");
- el.parentNode.removeChild(el);
- }, "test SelectionEnd offset for input");
</del><ins>+ for (var append of [true, false]) {
+ test(function() {
+ var el = createTextareaElement(sampleText, append);
+ // If there is no selection, then it must return the offset(in logical order)
+ // to the character that immediately follows the text entry cursor.
+ assert_equals(el.selectionEnd, el.value.length,
+ "SelectionEnd offset without selection in " + el.id);
+ if (!el.parentNode) {
+ return;
+ }
+ el.select();
+ assert_equals(el.selectionEnd, el.value.length, "SelectionEnd offset");
+ el.parentNode.removeChild(el);
+ }, "test SelectionEnd offset for textarea that is " +
+ (append ? "appended" : " not appended"));
+ }
</ins><span class="cx">
</span><del>-
</del><span class="cx"> test(function() {
</span><del>- var el = createTextareaElement(sampleText);
- // If there is no selection, then it must return the offset(in logical order)
- // to the character that immediately follows the text entry cursor.
- assert_equals(el.selectionEnd, el.value.length, "SelectionEnd offset without selection");
- el.select();
- assert_equals(el.selectionEnd, el.value.length, "SelectionEnd offset");
- el.parentNode.removeChild(el);
- }, "test SelectionEnd offset for textarea");
-
-
- test(function() {
</del><span class="cx"> var el = createInputElement(sampleText);
</span><span class="cx"> assert_in_array(el.selectionDirection, dirs, "SelectionDirection");
</span><span class="cx"> el.select();
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectiontextfieldselectionsetSelectionRangeexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -25,6 +25,8 @@
</span><span class="cx"> PASS input setSelectionRange(NaN,1)
</span><span class="cx"> PASS input setSelectionRange(null,1)
</span><span class="cx"> PASS input setSelectionRange(undefined,1)
</span><ins>+FAIL input setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1) assert_equals: element.selectionStart should be value.length expected 5 but got 0
+FAIL input setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1) assert_equals: element.selectionStart should be value.length expected 5 but got 0
</ins><span class="cx"> TIMEOUT input setSelectionRange fires a select event Test timed out
</span><span class="cx"> PASS test of textarea.setSelectionRange
</span><span class="cx"> PASS textarea typeof(input.setSelectionRange)'
</span><span class="lines">@@ -46,4 +48,6 @@
</span><span class="cx"> PASS textarea setSelectionRange(NaN,1)
</span><span class="cx"> PASS textarea setSelectionRange(null,1)
</span><span class="cx"> PASS textarea setSelectionRange(undefined,1)
</span><ins>+FAIL textarea setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1) assert_equals: element.selectionStart should be value.length expected 5 but got 0
+FAIL textarea setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1) assert_equals: element.selectionStart should be value.length expected 5 but got 0
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectiontextfieldselectionsetSelectionRangehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -138,6 +138,22 @@
</span><span class="cx"> assert_equals(input.selectionStart, 0, "element.selectionStart should be 0");
</span><span class="cx"> assert_equals(input.selectionEnd, 1, "element.selectionEnd should be 1");
</span><span class="cx"> },'input setSelectionRange(undefined,1)');
</span><ins>+
+ test(function() {
+ input.setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1);
+ assert_equals(input.selectionStart, input.value.length,
+ "element.selectionStart should be value.length");
+ assert_equals(input.selectionEnd, input.value.length,
+ "element.selectionEnd should be value.length");
+ }, 'input setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1)');
+
+ test(function() {
+ input.setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1);
+ assert_equals(input.selectionStart, input.value.length,
+ "element.selectionStart should be value.length");
+ assert_equals(input.selectionEnd, input.value.length,
+ "element.selectionEnd should be value.length");
+ }, 'input setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1)');
</ins><span class="cx"> },"test of input.setSelectionRange");
</span><span class="cx">
</span><span class="cx"> async_test(function() {
</span><span class="lines">@@ -257,5 +273,21 @@
</span><span class="cx"> assert_equals(textarea.selectionStart, 0, "element.selectionStart should be 0");
</span><span class="cx"> assert_equals(textarea.selectionEnd, 1, "element.selectionStart should be 1");
</span><span class="cx"> },'textarea setSelectionRange(undefined,1)');
</span><ins>+
+ test(function() {
+ textarea.setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1);
+ assert_equals(textarea.selectionStart, textarea.value.length,
+ "element.selectionStart should be value.length");
+ assert_equals(textarea.selectionEnd, textarea.value.length,
+ "element.selectionEnd should be value.length");
+ }, 'textarea setSelectionRange(Math.pow(2,32) - 2, Math.pow(2,32) - 1)');
+
+ test(function() {
+ textarea.setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1);
+ assert_equals(textarea.selectionStart, textarea.value.length,
+ "element.selectionStart should be value.length");
+ assert_equals(textarea.selectionEnd, textarea.value.length,
+ "element.selectionEnd should be value.length");
+ }, 'textarea setSelectionRange(Math.pow(2,31), Math.pow(2,32) - 1)');
</ins><span class="cx"> },"test of textarea.setSelectionRange");
</span><span class="cx"> </script>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsformstextfieldselectionw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -19,5 +19,7 @@
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end.html
+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinteractiveelementsthedialogelementcenteringexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+CONSOLE MESSAGE: line 27: TypeError: document.querySelector("dialog").showModal is not a function. (In 'document.querySelector("dialog").showModal()', 'document.querySelector("dialog").showModal' is undefined)
+
+FAIL horizontal-tb: tall viewport assert_equals: expected "45px" but got "auto"
+FAIL horizontal-tb: wide viewport assert_equals: expected "15px" but got "auto"
+FAIL horizontal-tb: square viewport assert_equals: expected "45px" but got "auto"
+FAIL horizontal-tb: dialog and viewport match assert_equals: expected "0px" but got "auto"
+FAIL horizontal-tb: dialog bigger than viewport assert_equals: expected "0px" but got "auto"
+FAIL vertical-rl: tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-lr: tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-lr: dialog bigger than viewport assert_equals: expected "0px" but got "auto"
+FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "auto"
+FAIL horizontal-tb (container vertical-rl): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-rl (container horizontal-tb): tall viewport assert_equals: expected "45px" but got "auto"
+FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "auto"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinteractiveelementsthedialogelementcenteringiframesubhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>dialog element centered frame</title>
+<style>
+ html {
+ writing-mode: {{GET[html-writing-mode]}}
+ }
+
+ #container {
+ writing-mode: {{GET[container-writing-mode]}}
+ }
+
+ dialog {
+ writing-mode: {{GET[dialog-writing-mode]}};
+ border: none;
+ padding: 0;
+ margin: 0;
+ }
+</style>
+
+<div id="container">
+ <dialog style="width: 20px; height: 10px;">X</dialog> <!-- sync width and height with centering.html -->
+</div>
+
+<script>
+"use strict";
+document.querySelector("dialog").showModal();
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinteractiveelementsthedialogelementcenteringhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,51 @@
</span><ins>+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>dialog element: centered alignment</title>
+<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
+<link rel=help href="https://html.spec.whatwg.org/multipage/#centered-alignment">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+
+<script>
+"use strict";
+
+// Be sure to sync with centering-iframe.html
+const DIALOG_WIDTH = 20;
+const DIALOG_HEIGHT = 10;
+
+testDialogCentering("horizontal-tb", "", "", "tall viewport", 40, 100, "top", 100 / 2 - DIALOG_HEIGHT / 2);
+testDialogCentering("horizontal-tb", "", "", "wide viewport", 100, 40, "top", 40 / 2 - DIALOG_HEIGHT / 2);
+testDialogCentering("horizontal-tb", "", "", "square viewport", 100, 100, "top", 100 / 2 - DIALOG_HEIGHT / 2);
+testDialogCentering("horizontal-tb", "", "", "dialog and viewport match", DIALOG_WIDTH, DIALOG_HEIGHT, "top", 0);
+testDialogCentering("horizontal-tb", "", "", "dialog bigger than viewport", 100, DIALOG_HEIGHT / 2, "top", 0);
+
+testDialogCentering("vertical-rl", "", "", "tall viewport", 40, 100, "left", 40 / 2 - DIALOG_WIDTH / 2);
+testDialogCentering("vertical-lr", "", "", "tall viewport", 40, 100, "right", 40 / 2 - DIALOG_WIDTH / 2);
+testDialogCentering("vertical-lr", "", "", "dialog bigger than viewport", DIALOG_WIDTH / 2, 100, "right", 0);
+
+testDialogCentering("vertical-rl", "", "horizontal-tb", "tall viewport", 40, 100, "left", 40 / 2 - DIALOG_WIDTH / 2);
+testDialogCentering("vertical-lr", "", "horizontal-tb", "tall viewport", 40, 100, "right", 40 / 2 - DIALOG_WIDTH / 2);
+testDialogCentering("vertical-lr", "", "horizontal-tb", "dialog bigger than viewport", DIALOG_WIDTH / 2, 100, "right", 0);
+
+testDialogCentering("horizontal-tb", "vertical-rl", "", "tall viewport", 40, 100, "right", 40 / 2 - DIALOG_WIDTH / 2);
+testDialogCentering("vertical-rl", "horizontal-tb", "", "tall viewport", 40, 100, "top", 100 / 2 - DIALOG_HEIGHT / 2);
+
+testDialogCentering("horizontal-tb", "vertical-rl", "horizontal-tb", "tall viewport", 40, 100, "right", 40 / 2 - DIALOG_WIDTH / 2);
+testDialogCentering("vertical-rl", "horizontal-tb", "vertical-rl", "tall viewport", 40, 100, "top", 100 / 2 - DIALOG_HEIGHT / 2);
+
+function testDialogCentering(writingMode, containerWritingMode, dialogWritingMode, label, iframeWidth, iframeHeight, property, numericValue) {
+ async_test(t => {
+ const iframe = document.createElement("iframe");
+ iframe.src = `centering-iframe.sub.html?html-writing-mode=${writingMode}&container-writing-mode=${containerWritingMode}&dialog-writing-mode=${dialogWritingMode}`;
+ iframe.width = iframeWidth;
+ iframe.height = iframeHeight;
+ iframe.onload = t.step_func_done(() => {
+ const dialog = iframe.contentDocument.querySelector("dialog");
+ assert_equals(iframe.contentWindow.getComputedStyle(dialog)[property], numericValue + "px");
+ });
+ document.body.appendChild(iframe);
+ }, writingMode + (containerWritingMode ? ` (container ${containerWritingMode})` : "") +
+ (dialogWritingMode ? ` (dialog ${dialogWritingMode})` : "") + `: ${label}`);
+}
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsinteractiveelementsthedialogelementw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,6 +15,8 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html
+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/contains.json
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-open.html
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlsemanticsw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -15,5 +15,6 @@
</span><span class="cx"> None
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/OWNERS
</ins><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/interfaces.html
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/semantics/interfaces.js
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapisthewindoworworkerglobalscopemixinWorker_Self_Originhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin.html (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin.html        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/the-windoworworkerglobalscope-mixin/Worker_Self_Origin.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> <!DOCTYPE html>
</span><span class="cx"> <meta charset=utf-8>
</span><span class="cx"> <title>Test workers self.origin</title>
</span><del>-<script src="../../../../../../resources/testharness.js"></script>
-<script src="../../../../../../resources/testharnessreport.js"></script>
</del><ins>+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
</ins><span class="cx"> <div id="log"></div>
</span><span class="cx"> <script>
</span><span class="cx"> function assertOriginWorker(workerSource, expectedOrigin, testName) {
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersnegativesetintervalexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Negative timeout in setInterval
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersnegativesetintervalhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+<!doctype html>
+<title>Negative timeout in setInterval</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+var i = 0;
+var interval;
+function next() {
+ i++;
+ if (i === 20) {
+ clearInterval(interval);
+ done();
+ }
+}
+setTimeout(assert_unreached, 1000);
+interval = setInterval(next, -100);
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersnegativesettimeoutexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Negative timeout in setTimeout
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersnegativesettimeouthtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+<!doctype html>
+<title>Negative timeout in setTimeout</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+ setTimeout(done, -100);
+ setTimeout(assert_unreached, 10);
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimerstypelongsetintervalexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Type long timeout for setInterval
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimerstypelongsetintervalhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+<!doctype html>
+<title>Type long timeout for setInterval</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+var interval;
+function next() {
+ clearInterval(interval);
+ done();
+}
+interval = setInterval(next, Math.pow(2, 32));
+setTimeout(assert_unreached, 100);
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimerstypelongsettimeoutexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout-expected.txt (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout-expected.txt         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout-expected.txt        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,3 @@
</span><ins>+
+PASS Type long timeout for setTimeout
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimerstypelongsettimeouthtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout.html (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout.html         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout.html        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+<!doctype html>
+<title>Type long timeout for setTimeout</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+setTimeout(done, Math.pow(2, 32));
+setTimeout(assert_unreached, 100);
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestshtmlwebappapistimersw3cimportlog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/w3c-import.log (215163 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/w3c-import.log        2017-04-09 18:45:06 UTC (rev 215163)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/w3c-import.log        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -16,3 +16,7 @@
</span><span class="cx"> ------------------------------------------------------------------------
</span><span class="cx"> List of files:
</span><span class="cx"> /LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/evil-spec-example.html
</span><ins>+/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-setinterval.html
+/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html
+/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html
+/LayoutTests/imported/w3c/web-platform-tests/html/webappapis/timers/type-long-settimeout.html
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsimagespatternogv"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/images/pattern.ogv (0 => 215164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/images/pattern.ogv         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/images/pattern.ogv        2017-04-09 18:49:22 UTC (rev 215164)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+OggS \xE6Y\xA2> \xA4KIL*\x80theora \xB0\xD8OggS \xE6Y\xA2> \xE9\xF7J\xDE?\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81theora
+ Lavf57.26.100 encoder=Lavc57.24.105 libtheora\x82theora\xBE\xCD(\xF7\xB9\xCDk\xB5\xA9IJs\x9C\xE61\x8CR\x94\xA4!1\x8Cb\x84!@ m\xAESg\x92\xC8\xFCV\xFCx9[l\xE6*\xF5h\xABT()$Z\xFEy9\x9B\x8DfS        x\xB2U)\x93\x89$\x82|<\x8E\xA3A\x80\xBCV*        b!|<\x86\xC1@\x888\xDA\xE56y,\x8F\xC5a/ǃ\x95\xB6\xCEb\xAFV\x8A\xB5B\x812\x92E\xA1瓙\xB8\xD6e0\x97\x8B%R\x998\x92H!\x90\x87\xC3\xC1\xD8\xE0j4\xC5b\xA1@\x90F"\x87\xC3\xC1\xC0\xC8`,\x83\x81@\xB0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xF0\xC0\xC0\xF1!AAP\xD0\xD0\xE1!QQ@\xE0\xE0\xF1
!AQQP\xE11AQQQAQQQQQ!1AQQQQQAQQQQQQQQQQQQQQQ \xC0\xB1A\x91\xB1\xC0\xD0\xD0\xE1!Q\xC1\xC1\xB0\xE0\xD1A\x91\xC1\xC1\xC0\xE11a\xB1\xD1\xD1\xC11\x91\xC1\xC1\xE1\xE1\xD1A\x81\xB1\xC1\xD1\xE1\xE1ѱ\xC1\xD1\xD1\xE1\xE1\xE1\xE1\xD1\xD1\xD1\xD1\xE1\xE1\xE1\xD1 \xB0\xA1\x82\x833\xD0\xC0\xC0\xE11\xA3\xA3\xC3p\xE0\xD1\x82\x83\x94S\x80\xE1a\xD35u\xE1!bS\xA4F\xD6tт3t\x87\xC3\xE5vw\x97\x86T\x85\xC5\xF6'Fv11111111111111111111111111111111111111111111111111111111111111111!!Q\x91\xA1\xA1\xA1\xA1!Aa\xA1\xA1\xA1\xA1\xA1Qa\x91\xA1\xA1\xA1\xA1\xA1\x91\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1\xA1!a\xF2BBBA!A\x82"BBBAa\x82BBBBA\xF2"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBA!\x82\xF66661!Q\xA4&6661\x81\xA3\x8666662\xF4&66666666666666666666666666666666666661QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ!!!Qq\x81\x91\xB1!!Qq\x81\x91\xB1\xC1!Qq\x81\
x91\xB1\xC1\xD1Qq\x81\x91\xB1\xC1\xD1\xD1q\x81\x91\xB1\xC1\xD1\xD1с\x91\xB1\xC1\xD1\xD1\xD1ᑱ\xC1\xD1\xD1\xD1\xE1\xE1\xB1\xC1\xD1\xD1\xD1\xE1\xE1\xE1Aq\xA1\xC2Aq\xA1\xC2!Aq\xA1\xC2"QAq\xA1\xC2"RQq\xA1\xC2"RRQ\xA1\xC2"RRR\x91\xC2"RRR\x92\xA2"RRR\x92\xA2\xA1A\x81\xC2\x81A\x81\xC2\x83A\x81\xC2\x83A\x81\xC2\x83\x81\xC2\x83\xC2\x83\x83\x83 |^\t}^\xDC\xEC?/\xAE\xB0f'|\x85\xC1\xD5{r\xCCE\xBA\x8E7\xC0~\xE5D\xBD\xC1\xB1\x92\xFA\xD5R4̮\xC5        \xC8\xC1\xEDL\x97\xCEa\xB5\xAB
+\x8C\xAAR\xBC\xFBw\xC9;\x88i\x99]\x8B\xB1/\x91G\x86\xABPld\xBC~r\xEEbWG\xB4y'        \xF7UHA\x8A\xE6\xA9\xF7UH\xAEƂ3\x94҃\xDA<\xEB\xB9!\xC0\xCA\xD6co\x9C?\x8A\xF0\xBC\xF3\xB7\xFC'\xA6\xD1\xE7RD\xC6\xEA\xD6fSPk\xBE-!G\xF6\x81z\xF1\xB1̻#@\xEEP{G\x9Dr\x9Bmw\xB0W*\x8C\xBE$\xFF\x8BE\xACr\xB8D;\x9B_\xEE!iŕ\xA07NJ\xE4P\xF7o:\x92\xF5T\x95\xF38N\x95\xAC\xD8.7\x8A]\x81\xA4\x81\xC9⇻u\xDF\xFFd\xC6\xF2\xD8)\xB3\xC0\xB4\xEB;\x8E,
Vc\x80ʎF\x8DD\xD2ɵ\xFFԥ\xB9\xD9X|'\xD2ɴx-\xE03\xEA\xE8VZcɕ\xFFԥ\xB9        \xAD\xBC\xEC\xD4E\xFF\xD8\xF9}        \xB9\x84\xEC\xFA[`\xADp&\x96Mt\xC5\xE6N\xEFUH\x80$\xD7\xEBܽN&\x97j
+γa\xD47+
+?\xC5G~p\xAA\x92\x94ѝdģ_\x85\x95\x8B\xC9ɥ\xDAG\x9D\xB8s\x87q\xEEl\xE9mE(\xAEp\xC5\xEBYE\x95\x8F$_\xDBw!6\xD4}\x98\x8Cá?\xFAd\xB6\x8AP#\x84YY\xBA\xF3\xEDI\xE6~ڄD\xB9\xB0\xE8Zd\xF7N\x98\xF8\x91\xCFuR,\xAC_(}\xEF\x80ډ\xFFצxF"\x90e\xC3\xDC\xDA.;\xD3x`\xEBY\xA8\x80\xEA|\xBA\xA1N+[\x9Erv\x88\xF4\x95D\xD2G\xF9\xA6F\xE6ή\xC0\x87\xF3\xA7qm\x8A\xE7\xD0
+jihp\xE5M+\xDA$\xF3\\x8C7\xCC\xB9\x86\xF6\x93\x95\xD8\xC6\xE0#\xDB\xF7qg\xB4K'\x9DT\xA73'\xD0-a\xB8;6
+&\xF6Y"k
+\xED\xE7+\xC5f`\xE5\xD4zd\xB8\xFF\x8F\x8A\xA9Z\xC2 \xFA\xF60\xE4\xDCk\xDA.\x9C\xC2,\xADs\xE1+b\x89\xBD\x92=Y\xBF\xE1U"\x97\xC4o;\xFC\x9D\xC6h,\xDC݀jLmG\xB2\xC9N\x8BY9\x84\xC6\xFA\x85T\x8C\xB9:\xCE\xFCn\x84\xC5
+\xB5\xF6];\xB1]\xA4\x97\xCEy*RF\xEFC\xF6)<\xADc\x89\xC7.\xA2Csp\xCCP\xDB_f\x97+\xFE\xB8\x9Cb͢$d\x84\xD2\xED\xAD\xC77\x9D\xFB\xE0\xFAՕ\x82\x88p\xFFq\x97PT*\xA4;h        \xA5\xDAMh\xE6\xE1\x9C7\xC0>\xB4\xFC\xF5]XVy\x84\xEḎ\xE0R"P
+\xA6\x97Y4\x85G\xB9x\xB4þG\xD6+1g\xE4        \xEEoPY]Jw        \xEE#͵\x97I2\x85\xC1\xBE\x85\xE1\xDAߎLb\xFEU'"L\x98c\xE4\xEEb\xB4u\xF2s\x88\xCA\xB6\xB3i.w\xAE\xFDeb\xAAHV\xBD\x9Fr\xA3.\xFDegE\xF2v\xE4a\x884m\xAC\xD9ʣ(\x85T\xB7\x9BF\xDA匷}        \x87\x85\xECM\xF8\x8A\xC5i;:Z\xF6t|\x88*R\xE0z1jɦtav\xA1V\xB5=\xC4h\xBAK \x9B\xFF\xB95\xDD=\xE6'$M\xA8\x86u\x8B)U\x91sC\xA7a4\xB2{\xE7\xD8Z\xF9\xC3̷?;G\xAF3\x8B+\h\xE9&\x97i=\xA3\x9A\x8C\xE0\xB4Z\xBE\xE7\xB7\x9C
+\xB6\x9B_|\xC2\xE0
G|\xE5YeJX\xB3u|\xCB
+U\xBA\x86s\xD6Yix\xA6m\xAC\x9AG\x9F'\x8E\xD1=\xA2p\xFA\xEAU\xB2
+\xA6m\xAC\x9E\xC6\xFE\xF0v\x89F~a\xC2\xDB
+\xE0nc\xE2\xCF\xF9SP\xB5\xE3\xB3\xDAcI\x9Bk,\x99:\xBE\xB2\xC5\xDE\xE0\x8A=\xC6\xE4\xFF\xAE\xE5E d6\xD53L塎\xBA\x8A\xB2\xC4?#=\x92\xF7\x8DЭ\xA84\xCC\xDB\XM?h\xD8SP\x8B\xE3\xA99\x92\xFBto8R:\xBF\x84\xE6\xF2>\xB4!\xA3\xBF\xD0\xD1ڤM.\x91\xE5\xE9ee\xDEn)\xDC\xF3\x85\xBFP\xDD\xCA\xF0\x90M+mt\xCE<\xBBcAed\xEFz\xA8R\xF8bH6\xD5+I\xB3ʈ[\xB8u\xE8~a+\xFCW`\x9F\x95\xAB\xBBAPޥ0k\xA2෧ވK\xC9͵J\xD2l\x98\xE1\xFF\x87)\xD4F\xB2\xB1\xBDJP\xF0\xF4$^\xC1\x8B!\xB6\xA9\x9Ag/\xFE\xC09N\xBA\x82߫x\xB1c\xCAU8$/J\xC0m\xA9\x94\xCD3\xC6\xE4\xF6\x88Qs \xF5\xF2\x8F\xD6VF\xEF\xADǕ)\xFD#\x9FH\xAC\xAC\x8C\x932i\x9Bmq\xBB\xFE\xA2\xA7KG\x88\xCEB\xE9\x8B\xCCbi\x9Bmh\xB7\xD9@R:\xEE\xC5iI\xFF\xF8\x85\xC4M\xFC\x8Fa4\xA3\xA8        \xD8p\x97\xC3{\x8CY\xF3Y`DHJ\xDAmc\xEF\xCB\xD6\xD4*\xA4\xB8˿0M+mt\x934T_\xF0~\xEB\xD71A\xB9m\x8A\xC8y\x9CUHFHJi3ms\xA2\xF7,p!\xF3\xE0v\xCA/\xED\xF5\xC6\xE2{\xACW
+1\xBF\xF4\xFC\xC0\xA6\xA1j\xEF \xCC\xD2f\xDA˖#\xEE´/z8\xFBq\xB9\xD0\xC4\xC91\xA6m\xB5\x95F        /Gʚ\x88>\xAC\xB0\x9F\xB7\xB7\xF0#q<\x9F9\x89U$O\xB4\xB2\xB1\xDFQ\xB8
+mY4\xCF/\x96\xEF\xE3\xF4끦m\xB50\xA1\x967\xCD$hOe\xFA\xAADO-\xADa\xDF\8\x94\x85\xC9\xD7\xFD\xEEUIedBsᶪ^\xB8\xCB\x99\xFB3\xCBc^\xF1J\xA7ւ\x806\xD5+I\xA4\xCE<y!\xBE\xE4ݰe\x9F\xCB\xEE)\xA9\x87P\x8F\xF2\xAE\xC0_\xDF-P`H%i1\xB6\xB9\xE5\x8CM\xFCSP\xEF\xE7V\xC0=#\x8B\x95\x95\x9EnB\xFC\xBD##me&i\x9EW\xD1\xC0YYP\xA9\xA8#|\xB8\xBC2\x99\xA6r\x8D\xB5\xC7        \xAD\xA2\xCDޏ\xE7\xCAG\xD3\x{2A91FD0}\x94wŊ\xC2\xE4\xABƙ\xB6\xD4\xC2fX\xFFoA\xBC^\x82\xD7\xFFwDž\x95\x82U\xC3,Zfm\xAAf\xCFG): G
+\xAAJQ\x9B\xBB\xEA"G\xB9%\xA6a\xE3mL\xB1i\x9F\xCA\xCF\xE1\xEC5R\x80\x8CYX\xE3~\xC9\\x89\x94Nm\xAB\xFF\x86X\xB4̺\xD6\xF5\xE9\xC9!<\xB5MA
+\xCE'0$4\xCC\xDBYrǻ
+\xF7
+#E\xCEz\xBFNH
+\xB52\x99\xA6r\xB1\xC2\xFB\xAAS \xF1\xCF\xADܱǪ\xCE\xE3\x84SQ\xA5\xBC\xF8@F\xA1!(i\x9BmL&e\x8D\xF7n\xF7Ŋ\xC9\xFEuF\x96-36\xD53\xEE\x97\xF4\xFFr\xB2\xB55|\x80\xDDE\xBDp\xEB\xB1\xE9\xC9B\xD3\xF9\x83,Zfm\xAA\xE6\xCF\xDE\xE8*)x\xE2\xC25n\x92\xFC\x85\x83x\xC9!\x88\x80p:pg\x91l\xEB\xEEL\xF8\xD7G\xFBr\xA3\xBFK+y*\xAAF\xF1\x92C \xE0t\xE0\xCF"\xD9\xD7ܙ\xF1\xAE\x8F\xF6\xE5G~\x96V\xF2UT\x8D\xE3$\x86"\xC0\xE81\xC1\x9EE\xB3\xAF\xB93\xE3]\xEDʎ\xFD,\xAD䪩Rp\x9F\xA8\xF0L\xD33me\xCAF8C\xE2\xCAż\xBE\xF4]\xD9\xEEc\x86\xA5/\\xBF\xA0Y\\x9B\x85\xC9\x8C\xA6i\x99\xB6\xB2\xDF?"\xE8\xE7\xE7\xCAU,\xACQ\xAD\xE1@pH^\x94i\x9BmI\x99c\x85ݣ[\xD0YY\xCA\xD7\xD3\xF8F\xE1'm\xFD Bt~\x940\x99\x96+\xCD3m\xAD\xD4D\xA6\xA2\x93ȁ\xF4\xF4v\xE3\x9FB\xBB#\x80n-?b\xD32f\x9Bkt\xBDI
+BOVWJ\xA4y\xF2e\xF7N\xB4k\xA3\xFD\x8Cpg\x94\xBC\xBBp\xA3\xA8\xC8\xA3$        Eְ\xBC\x99D\xE7}?\xFA\xC5`\xDBW<b\xD3=\xFD\xF2%T\x95R\x80\x8CYX\xE3~\xC9\\x89\x94Nm\xAB\xFF\x8
6X\xB4̺\xD6\xF5\xE9\xC9!OggS @ \xE6Y\xA2> \xA5V\xA7\xFF*,\xC1\xC8]P\xE0\xC0\x84`\xBC$q\xB0\xC2G\x93\xB0
+\x8EC\x9F\x85\xC1Y\xD2`\xBCYy\x9B\x8E\x95\xACV:G\xECpr\xF1\x8C\xC2fj]`di\xFA\xB4|a(\xE8F\x93
+Е\xA1\xE8B\x81?>\x84<#W\xE0\xACӜ\x9AS\x9B}F$p\x97}G\x97W\x99\x83L^\xAA= \xF5\xD9iǔ\xFB\x89\xB1\xBBr8\xCDg٢\xF6eE\xD2U\xA9\x89\xC1\x88(\xB5a8\xC2uT\xD1\xD3ԖJ\x97A\xD1V\xC9\xED~J\xE3!n\x8B\xB6u%\xDE^\xC9\xFE\xC9\xF3\xF2S\xC7\x{D8CB}\xDE\xEAm\xE4\x82\xE3qVO*\xC9!\xC1u珗F|\xFA\xE5\x9Dr <N\x9B2\x8A\x92DĩN\xEF\xFC \x8FLB\xB3ͳf\xA6\x8E\xD7J\xEE3*g\xF9S9\x96fUr\xA5D\xA9Wv\xD1        \xDD۳\xAD\x9E\xAEl\xC1\x88\x97\xD5\xEB\xEC\xC7V\xB2<\xDC\xE7q;g\x83c\xBAH\xA1h\xE7-\xAB!\xED\xF1\xA7\xBDmx\xD3 OggS K \xE6Y\xA2> \xC1Ϝ\xB6 OggS @ \xE6Y\xA2> \xC7.+L\xFF*,\xC1\xC8]P\xE0\xC0\x84`\xBC$q\xB0\xC2G\x93\xB0
+\x8EC\x9F\x85\xC1Y\xD2`\xBCYy\x9B\x8E\x95\xACV:G\xECpr\xF1\x8C\xC2fj]`di\xFA\xB4|
a(\xE8F\x93
+Е\xA1\xE8B\x81?>\x84<#W\xE0\xACӜ\x9AS\x9B}F$p\x97}G\x97W\x99\x83L^\xAA= \xF5\xD9iǔ\xFB\x89\xB1\xBBr8\xCDg٢\xF6eE\xD2U\xA9\x89\xC1\x88(\xB5a8\xC2uT\xD1\xD3ԖJ\x97A\xD1V\xC9\xED~J\xE3!n\x8B\xB6u%\xDE^\xC9\xFE\xC9\xF3\xF2S\xC7\x{D8CB}\xDE\xEAm\xE4\x82\xE3qVO*\xC9!\xC1u珗F|\xFA\xE5\x9Dr <N\x9B2\x8A\x92DĩN\xEF\xFC \x8FLB\xB3ͳf\xA6\x8E\xD7J\xEE3*g\xF9S9\x96fUr\xA5D\xA9Wv\xD1        \xDD۳\xAD\x9E\xAEl\xC1\x88\x97\xD5\xEB\xEC\xC7V\xB2<\xDC\xE7q;g\x83c\xBAH\xA1h\xE7-\xAB!\xED\xF1\xA7\xBDmx\xD3 OggS K \xE6Y\xA2> \xBD\xFBl OggS @ \xE6Y\xA2> \xE67\xA7\xFF*,\xC1\xC8]P\xE0\xC0\x84`\xBC$q\xB0\xC2G\x93\xB0
+\x8EC\x9F\x85\xC1Y\xD2`\xBCYy\x9B\x8E\x95\xACV:G\xECpr\xF1\x8C\xC2fj]`di\xFA\xB4|a(\xE8F\x93
+Е\xA1\xE8B\x81?>\x84<#W\xE0\xACӜ\x9AS\x9B}F$p\x97}G\x97W\x99\x83L^\xAA= \xF5\xD9iǔ\xFB\x89\xB1\xBBr8\xCDg٢\xF6eE\xD2U\xA9\x89\xC1\x88(\xB5a8\xC2uT\xD1\xD3ԖJ\x97A\xD1V\xC9\xED~J\xE3!
n\x8B\xB6u%\xDE^\xC9\xFE\xC9\xF3\xF2S\xC7\x{D8CB}\xDE\xEAm\xE4\x82\xE3qVO*\xC9!\xC1u珗F|\xFA\xE5\x9Dr <N\x9B2\x8A\x92DĩN\xEF\xFC \x8FLB\xB3ͳf\xA6\x8E\xD7J\xEE3*g\xF9S9\x96fUr\xA5D\xA9Wv\xD1        \xDD۳\xAD\x9E\xAEl\xC1\x88\x97\xD5\xEB\xEC\xC7V\xB2<\xDC\xE7q;g\x83c\xBAH\xA1h\xE7-\xAB!\xED\xF1\xA7\xBDmx\xD3 OggS K \xE6Y\xA2> \x89ٲ\xA3 OggS @