New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task



Sign in to add a comment
link

Issue 688116: Upstream service worker tests to wpt

Reported by falken@chromium.org, Feb 2 2017 Project Member

Issue description

We should upstream http/tests/serviceworker/ to external/wpt.

But many of the tests in http/tests/serviceworker/ have already been upstreamed (after slight modification), so for many we should first fix issue 678905 and we could start removing tests that are really identical.
 

Comment 1 by shimazu@chromium.org, Feb 2 2017

Cc: shimazu@chromium.org
external/wpt actually.

JFYI: http://www.chromium.org/blink/importing-the-w3c-tests#TOC-Contributing-Blink-tests-back-to-the-W3C looks helpful for the upstreaming work.

Comment 3 by falken@chromium.org, Feb 7 2017

Description: Show this description

Comment 5 by bugdroid1@chromium.org, Feb 13 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e09a722158af5e49f59381a50669a30003f3bbb5

commit e09a722158af5e49f59381a50669a30003f3bbb5
Author: mek <mek@chromium.org>
Date: Mon Feb 13 22:59:25 2017

Upstream foreign fetch tests.

BUG=678498
BUG=688116

Review-Url: https://codereview.chromium.org/2676733002
Cr-Commit-Position: refs/heads/master@{#450134}

[modify] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/SlowTests
[modify] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/MANIFEST.json
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-basics.https.html
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https.html
[add] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-event.https.html
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https.html
[modify] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-access-control.py
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-cors-worker.js
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-event-worker.js
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-helper-iframe.html
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-helper-script.js
[add] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-helper-worker.js
[add] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-helpers.js
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-worker.js
[modify] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/get-host-info.sub.js
[rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/install-worker-helper.html
[add] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/reply-to-message.html
[delete] https://crrev.com/95ca8e045eb12df12283d61f68caba1971ff0bff/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/service-worker-csp-script.https-expected.txt
[delete] https://crrev.com/95ca8e045eb12df12283d61f68caba1971ff0bff/third_party/WebKit/LayoutTests/http/tests/serviceworker/foreign-fetch-event.html
[delete] https://crrev.com/95ca8e045eb12df12283d61f68caba1971ff0bff/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/foreign-fetch-helper-worker.js
[delete] https://crrev.com/95ca8e045eb12df12283d61f68caba1971ff0bff/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/foreign-fetch-helpers.js

Comment 6 by bugdroid1@chromium.org, Feb 16 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/992433e26b7b5abd3ff5d584501e6169bbcab16c

commit 992433e26b7b5abd3ff5d584501e6169bbcab16c
Author: falken <falken@chromium.org>
Date: Thu Feb 16 08:04:46 2017

service worker: Remove some LayoutTests that are redundant with WPT tests.

This removes some LayoutTests for which there is a version in both
LayoutTests and WPT and Chrome is passing both. Also, the differences
between the versions are trivial, or WPT has more enhanced tests.

Some history: the current WPT tests were largely adapted from our
LayoutTests.  We could not contribute to WPT directly because Blink
infra was not ready (especially wptserve didn't work). And now
everything is working and we have both WPT tests and LayoutTests but
they are slightly different.  This is a step toward unifying them.

This shows the diff between the tests being removed:
http://pastebin.com/QabWh41g

BUG=688116

Review-Url: https://codereview.chromium.org/2695803007
Cr-Commit-Position: refs/heads/master@{#450893}

[delete] https://crrev.com/ebc7290a4f2d9e94b3f85cf57bf251971397cafd/third_party/WebKit/LayoutTests/http/tests/serviceworker/activation-after-registration.html
[delete] https://crrev.com/ebc7290a4f2d9e94b3f85cf57bf251971397cafd/third_party/WebKit/LayoutTests/http/tests/serviceworker/activation.html
[delete] https://crrev.com/ebc7290a4f2d9e94b3f85cf57bf251971397cafd/third_party/WebKit/LayoutTests/http/tests/serviceworker/active.html
[delete] https://crrev.com/ebc7290a4f2d9e94b3f85cf57bf251971397cafd/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-event-after-navigation-within-page.html
[delete] https://crrev.com/ebc7290a4f2d9e94b3f85cf57bf251971397cafd/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-request-no-freshness-headers.html
[delete] https://crrev.com/ebc7290a4f2d9e94b3f85cf57bf251971397cafd/third_party/WebKit/LayoutTests/http/tests/serviceworker/installing.html
[delete] https://crrev.com/ebc7290a4f2d9e94b3f85cf57bf251971397cafd/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-no-freshness-headers-iframe.html
[delete] https://crrev.com/ebc7290a4f2d9e94b3f85cf57bf251971397cafd/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-no-freshness-headers-worker.js

Comment 8 by bugdroid1@chromium.org, Mar 16 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e01aaaf5d8005a96e817d458e6d2c1de43331d6

commit 6e01aaaf5d8005a96e817d458e6d2c1de43331d6
Author: mike <mike@mikepennisi.com>
Date: Thu Mar 16 20:37:29 2017

Upstream service worker nav. preload tests to WPT

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2735443002
Cr-Commit-Position: refs/heads/master@{#457537}

[modify] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/AUTHORS
[modify] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/VirtualTestSuites
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/chunked-encoding.https.html
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/get-state.https.html
[add] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/request-headers.https.html
[add] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/broken-chunked-encoding-scope.asis
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/broken-chunked-encoding-worker.js
[add] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/chunked-encoding-scope.py
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/chunked-encoding-worker.js
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/get-state-worker.js
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/helpers.js
[add] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/request-headers-scope.py
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/request-headers-worker.js
[rename] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-preload/resources/wait-for-activate-worker.js
[delete] https://crrev.com/92c1a4cf87397d9a63c6e1bc0bb6ecc141a0979c/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/request-headers.html
[delete] https://crrev.com/92c1a4cf87397d9a63c6e1bc0bb6ecc141a0979c/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/broken-chunked-encoding-scope.php
[delete] https://crrev.com/92c1a4cf87397d9a63c6e1bc0bb6ecc141a0979c/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/chunked-encoding-scope.php
[delete] https://crrev.com/92c1a4cf87397d9a63c6e1bc0bb6ecc141a0979c/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/request-headers-scope.php
[add] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-wpt/external/wpt/service-workers/service-worker/navigation-preload/README.txt
[modify] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py
[modify] https://crrev.com/6e01aaaf5d8005a96e817d458e6d2c1de43331d6/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py

Comment 10 by bugdroid1@chromium.org, Mar 23 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc

commit 7d998666c33c0eaaf9c6b2fa874644c1c03f31fc
Author: mike <mike@mikepennisi.com>
Date: Thu Mar 23 16:00:13 2017

Upstream service worker message event tests to WPT

This patch corrects invalid assertions relating to the `ports` property
described by the ExtendableMessageEvent API (see crbug.com/702352 and
crbug.com/702361). It also re-formats the tests to improve test precision (by
reducing reliance on the `toString` operation) and more closely align with the
patterns used within the Web Platform Tests project.

BUG=688116,702352,702361
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2751113005
Cr-Commit-Position: refs/heads/master@{#459099}

[add] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https-expected.txt
[add] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https.html
[add] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html
[add] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js
[add] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-loopback-worker.js
[rename] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-ping-worker.js
[add] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-pong-worker.js
[add] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-utils.js
[add] https://crrev.com/7d998666c33c0eaaf9c6b2fa874644c1c03f31fc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-worker.js
[delete] https://crrev.com/f57859facd3f9b3468693cb4869a4566c6624eb1/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/extendable-message-event.html
[delete] https://crrev.com/f57859facd3f9b3468693cb4869a4566c6624eb1/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-constructor-worker.js
[delete] https://crrev.com/f57859facd3f9b3468693cb4869a4566c6624eb1/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-loopback-worker.js
[delete] https://crrev.com/f57859facd3f9b3468693cb4869a4566c6624eb1/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-pong-worker.js
[delete] https://crrev.com/f57859facd3f9b3468693cb4869a4566c6624eb1/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-worker.js

Comment 11 by bugdroid1@chromium.org, Mar 24 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/420b56c73fae6392e98998f0588af0f54d79436d

commit 420b56c73fae6392e98998f0588af0f54d79436d
Author: mike <mike@mikepennisi.com>
Date: Fri Mar 24 20:31:33 2017

Upstream service worker `claim` tests to WPT

BUG=688116, 675540
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2763123002
Cr-Commit-Position: refs/heads/master@{#459538}

[modify] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-not-using-registration.https.html
[modify] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-using-registration.https.html
[rename] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-with-redirect.https.html
[copy] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/claim-with-redirect-iframe.html
[add] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/update-claim-worker.py
[copy] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/claim-with-redirect.html
[rename] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/claim-with-redirect-iframe.html
[add] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/redirect.php
[rename] https://crrev.com/420b56c73fae6392e98998f0588af0f54d79436d/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/update-claim-worker.php
[delete] https://crrev.com/22f8c680aa180e30b0bb41ecbd6a38af2eccad7a/third_party/WebKit/LayoutTests/http/tests/serviceworker/claim-not-using-registration.html
[delete] https://crrev.com/22f8c680aa180e30b0bb41ecbd6a38af2eccad7a/third_party/WebKit/LayoutTests/http/tests/serviceworker/claim-using-registration.html

Comment 12 by bugdroid1@chromium.org, Mar 29 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/68b9ec68fc7709b47a66fe10320b64c5b008e79d

commit 68b9ec68fc7709b47a66fe10320b64c5b008e79d
Author: mike <mike@mikepennisi.com>
Date: Wed Mar 29 16:06:50 2017

Upstream service worker `controller` tests to WPT

The Web Platform Tests project includes equivalent versions of these
tests. Those copies have since been extended with additional assertions,
rendering the Chromium versions obsolve.

Remove the Chromium tests in favor of the more rigorous WPT versions.
Correct a small formatting error introduced by the extension to the WPT
tests.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2778223003
Cr-Commit-Position: refs/heads/master@{#460405}

[modify] https://crrev.com/68b9ec68fc7709b47a66fe10320b64c5b008e79d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/controller-on-load.https.html
[delete] https://crrev.com/e7727c85ef1e113d274a9328d93c4ef196e2fa7c/third_party/WebKit/LayoutTests/http/tests/serviceworker/controller-on-load.html
[delete] https://crrev.com/e7727c85ef1e113d274a9328d93c4ef196e2fa7c/third_party/WebKit/LayoutTests/http/tests/serviceworker/controller-on-reload.html

Comment 13 by bugdroid1@chromium.org, Mar 31 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6b2ff25cd6773cca63208bd50cba3a20b31cfba

commit b6b2ff25cd6773cca63208bd50cba3a20b31cfba
Author: mike <mike@mikepennisi.com>
Date: Fri Mar 31 02:28:19 2017

Upstream service worker `client` tests to WPT

BUG=688116, 705685
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2778903002
Cr-Commit-Position: refs/heads/master@{#461000}

[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/client-id.https.html
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-client-types.https.html
[modify] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-cross-origin.https.html
[modify] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get.https.html
[modify] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-matchall-client-types.https.html
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-matchall-on-evaluation.https.html
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/client-id-worker.js
[copy] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-get-client-types-frame.html
[copy] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-get-client-types-shared-worker.js
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-get-cross-origin-frame.html
[modify] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-get-worker.js
[modify] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-matchall-client-types-iframe.html
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-matchall-on-evaluation-worker.js
[modify] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-matchall-worker.js
[copy] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/clients-get-client-types.html
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/clients-matchall-include-uncontrolled.html
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/clients-matchall.html
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/clients-get-client-types-frame.html
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/clients-get-client-types-shared-worker.js
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/clients-get-worker.js
[rename] https://crrev.com/b6b2ff25cd6773cca63208bd50cba3a20b31cfba/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/clients-matchall-worker.js
[delete] https://crrev.com/d015b23fea83d7ae0c5aaa687a3c53f82ee91c21/third_party/WebKit/LayoutTests/http/tests/serviceworker/clients-get-cross-origin.html
[delete] https://crrev.com/d015b23fea83d7ae0c5aaa687a3c53f82ee91c21/third_party/WebKit/LayoutTests/http/tests/serviceworker/clients-get.html
[delete] https://crrev.com/d015b23fea83d7ae0c5aaa687a3c53f82ee91c21/third_party/WebKit/LayoutTests/http/tests/serviceworker/clients-matchall-client-types.html
[delete] https://crrev.com/d015b23fea83d7ae0c5aaa687a3c53f82ee91c21/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/clients-matchall-client-types-iframe.html

Comment 14 by bugdroid1@chromium.org, Apr 7 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/406fa418432ec6bcb3b40f2fa95b30da5175e581

commit 406fa418432ec6bcb3b40f2fa95b30da5175e581
Author: mike <mike@mikepennisi.com>
Date: Fri Apr 07 21:11:27 2017

Upstream service worker ext. event tests to WPT

The Web Platform Tests project includes equivalent versions of these
tests.

- `extendable-event-async-waituntil.html` - the version in WPT has been
  extended with additional assertions, rendering the Chromium version
  obsolete.
- `extendable-event-waituntil.html` - the version in WPT has been
  extended to support (but not require) more rigorous compliance with
  the specification. Update that test to be more precise and document
  the expected failure in the Chromium infrastructure.

BUG=688116, 709591
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2789003002
Cr-Commit-Position: refs/heads/master@{#463003}

[add] https://crrev.com/406fa418432ec6bcb3b40f2fa95b30da5175e581/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/extendable-event-waituntil.https-expected.txt
[modify] https://crrev.com/406fa418432ec6bcb3b40f2fa95b30da5175e581/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/extendable-event-waituntil.https.html
[modify] https://crrev.com/406fa418432ec6bcb3b40f2fa95b30da5175e581/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/extendable-event-waituntil.js
[delete] https://crrev.com/f0967b500becdadb10fa3b91bea592105fb74730/third_party/WebKit/LayoutTests/http/tests/serviceworker/extendable-event-async-waituntil.html
[delete] https://crrev.com/f0967b500becdadb10fa3b91bea592105fb74730/third_party/WebKit/LayoutTests/http/tests/serviceworker/extendable-event-waituntil.html
[delete] https://crrev.com/f0967b500becdadb10fa3b91bea592105fb74730/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/extendable-event-waituntil.js

Comment 15 by m...@mikepennisi.com, Apr 19 2017

It has occasionally been necessary to persist some tests even after equivalent
code has been upstreamed into Web Platform Tests. In these cases, I have been
re-locating the files to the `chromium/` directory, which was previously
created for this purpose.

In one few case, the re-located files depended on a resource that was shared by
files that had yet to be addressed: `redirect.php`. Due to "scope" restrictions
within the Service Workers specification, it wasn't possible to simply update
the path used to reference that script. Because it was small and well-defined,
I elected to simply copy it to `chromium/resources/`.

Moving forward, I do not think this solution is tenable, though. Some shared
resources are referenced by many files, sometimes indirectly through still
other shared resources. By copying files, we risk seeing "drift" between
like-named files and utility functions. That may cause confusion in the short
term, and it will make the ongoing migration work more difficult.

Here are the alternatives I've come up with so far:

- Proxy requests. I experimented with a PHP script that would proxy requests
  for files in `chromium/resources/` to corresponding files in `resources/`,
  but the test server does not seem to support the technology (i.e. curl) we
  would need to do this with sufficient precision (e.g. preserving
  request/response headers).
- Migrate all the tests in a single atomic commit. While I would be happy to
  defer patch submission like this, I don't think anyone would want to review
  such a change set.
- Move all shared resources into `chromium/resources/` first. Although files
  moved into `chromium/` cannot load "upwards" from `../resources/`, the
  yet-to-be-migrated files may load "downwards" from `chromium/resources/`.
  This will result in a large amount of initial churn, where all tests will
  need to be updated with new resource paths.
- Use a new naming convention. Instead of placing Chromium-specific tests
  within a directory dedicated to that purpose, simply re-name the test files
  to communicate this distinction. I'd suggest a prefix (e.g.
  `chromium.test-name-here.html`) so that the files are grouped together in
  lexicographically-sorted listings.

Given the choice, I would take the final option because it seems to be the
simplest to implement and to review. I don't have the experience to make the
decision, though. For instance, I can see that tests for other platform
features use the `chromium/` directory convention. It's not clear if there is
any tooling built around that pattern.

But that's why I've written all this up--could anyone on the development team
give some guidance on the best way forward?

Comment 16 by mek@chromium.org, Apr 19 2017

A few other options would be:
- Add a .htaccess file to the appropriate directory to set Service-Worker-Allowed headers to allow different scopes
- Use .htaccess file in chromium/resources to redirect to corresponding files in resources/

But at least to me prefix naming convention of chromium specific tests sounds fine too, especially as ultimately all remaining tests should be chromium specific.

Comment 17 by shimazu@chromium.org, Apr 20 2017

Prefix naming convention sounds good to me too. After all tests are moved, all tests in http/tests/serviceworker should be chromium specific.

Comment 18 by bugdroid1@chromium.org, Apr 24 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5cd9b369845c99709d101b09c350170b34fd51f

commit b5cd9b369845c99709d101b09c350170b34fd51f
Author: mike <mike@mikepennisi.com>
Date: Mon Apr 24 18:39:05 2017

Upstream service worker `fetch` tests to WPT

The Web Platform Tests project includes equivalent versions of the
following tests:

- third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-canvas-tainting.html
- third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-cors-xhr.html

Remove the above Chromium-specific files to promote the use of the more
widely shared versions.

The following test file is more thorough than the equivalent version in
WPT. It contains the same assertions as those found in the WPT version,
but it also includes versions with an alternative value of the `img-src`
CSP directive.

- third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-csp.html

Extend the WPT version with the new assertions and remove the
Chromium-specific file. Also remove infrastructure configuration which
previously prevented the WPT version from being executed.

BUG=688116, 658997
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2805313003
Cr-Commit-Position: refs/heads/master@{#466697}

[modify] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt
[add] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-cors-xhr.https-expected.txt
[modify] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-csp.https.html
[modify] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-csp-iframe.html
[rename] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-canvas-tainting.html
[rename] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-cors-xhr.html
[rename] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-csp-expected.txt
[rename] https://crrev.com/b5cd9b369845c99709d101b09c350170b34fd51f/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-csp.html

Comment 19 by m...@bocoup.com, Apr 24 2017

Okay, I'll move forward with the `chromium.` prefix. Thanks!

Comment 20 by bugdroid1@chromium.org, May 1 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b

commit 07b83d70ca740271a8acaa3c3e9b32eb01d5c48b
Author: mike <mike@mikepennisi.com>
Date: Mon May 01 17:25:21 2017

Upstream service worker `fetch` tests to WPT

Reconcile the remaining Service Worker tests that concern the Fetch
standard. As noted below, some tests must be persisted in the Chromium
project due to unresolved timeout issues in the build environment (see
https://crbug.com/658997).

**fetch-event-async-respond-with**

The Chromium-specific version of this test is almost identical to the
version provided by the Web Platform Test suite, though it suffers from
timeout issues in the build environment.

Rename the Chromium-specific version to document its deprecated status
and improve the upstream version to defer frame removal and omit
unnecessary resource.

**fetch-event-network-error**

The upstream version of this test is almost identical to the
Chromium-specific version.

The Chromium-specific version of this test is almost identical to the
version available upstream. The upstream version is preferable because
it contains an additional assertion not found in the Chromium version.

Remove the Chromium-specific version of this test, and update the
upstream version to omit an unnecessary resource.

**fetch-event-respond-with-argument**

Re-locate Chromium-specific test to the Web Platform Test suite
directory so that it may be included in that project.

**fetch-event-respond-with-stops-propagation**

The Chromium-specific version of this test is almost identical to the
version provided by the Web Platform Test suite, though it suffers from
timeout issues in the build environment.

Rename the Chromium-specific version to reflect its deprecated status,
and improve the upstream version to defer frame removal and omit
unnecessary resource.

**fetch-event**

Remove sub-tests from the Chromium-specific version that are present in
the upstream version. Rename the test file to reflect the
implementation-specific nature of the test.

Extend the upstream version with a relaxed version of Chromium's
sub-test for request headers.

In both versions, formalize tear down logic to ensure consistent frame
removal and subsequent client de-registration.

BUG=688116, 658997
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2836233002
Cr-Commit-Position: refs/heads/master@{#468341}

[modify] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-async-respond-with.https.html
[modify] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-network-error.https.html
[rename] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-respond-with-argument.https.html
[modify] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html
[modify] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event.https-expected.txt
[modify] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event.https.html
[rename] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-respond-with-argument-iframe.html
[rename] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-respond-with-argument-worker.js
[modify] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-test-worker.js
[rename] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-event-async-respond-with.html
[add] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-event-headers.html
[rename] https://crrev.com/07b83d70ca740271a8acaa3c3e9b32eb01d5c48b/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-event-respond-with-stops-propagation.html
[delete] https://crrev.com/76aca77545743215506fc9e9eb0c1299e89553ae/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-event-network-error.html
[delete] https://crrev.com/76aca77545743215506fc9e9eb0c1299e89553ae/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-event.html
[delete] https://crrev.com/76aca77545743215506fc9e9eb0c1299e89553ae/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-event-network-error-controllee-iframe.html
[delete] https://crrev.com/76aca77545743215506fc9e9eb0c1299e89553ae/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-event-network-error-worker.js

Comment 21 by bugdroid1@chromium.org, May 3 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e438b70bdaeaa556a261916ead0e6286f4c077bf

commit e438b70bdaeaa556a261916ead0e6286f4c077bf
Author: mike <mike@mikepennisi.com>
Date: Wed May 03 17:35:08 2017

Remove duplicate service worker tests

third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-frame-resource.html

This test is equivalent to the upstream version.

- third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-mixed-content-to-inscope.html
- third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-mixed-content-to-outscope.html

These tests are roughly equivalent to the upstream versions. Because the
upstream versions only differ in the inclusion of additional assertions,
the Chromium-specific versions can be safely removed.

BUG=688116
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2859653002
Cr-Commit-Position: refs/heads/master@{#469024}

[modify] https://crrev.com/e438b70bdaeaa556a261916ead0e6286f4c077bf/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[delete] https://crrev.com/6010ecd22cdaf85debc53c1b6e9baf4e585cd574/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-frame-resource.html
[delete] https://crrev.com/6010ecd22cdaf85debc53c1b6e9baf4e585cd574/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-mixed-content-to-inscope.html
[delete] https://crrev.com/6010ecd22cdaf85debc53c1b6e9baf4e585cd574/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-mixed-content-to-outscope-expected.txt
[delete] https://crrev.com/6010ecd22cdaf85debc53c1b6e9baf4e585cd574/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-mixed-content-to-outscope.html
[delete] https://crrev.com/6010ecd22cdaf85debc53c1b6e9baf4e585cd574/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html
[delete] https://crrev.com/6010ecd22cdaf85debc53c1b6e9baf4e585cd574/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html
[delete] https://crrev.com/6010ecd22cdaf85debc53c1b6e9baf4e585cd574/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-mixed-content-iframe.html

Comment 22 by bugdroid1@chromium.org, May 3 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d4ce2a062601d712fcc1dc52f4e106fe4618579

commit 4d4ce2a062601d712fcc1dc52f4e106fe4618579
Author: mike <mike@mikepennisi.com>
Date: Wed May 03 19:26:39 2017

Upstream service worker registration tests to WPT

The test for `getRegistration` in Chromium is identical to the
corresponding test in the Web Platform Tests project and may therefore
be removed.

The test for `getRegistrations` is likewise highly similar.
Schedule iframe removal to consistently occur following
sub-test completion (regardless of test results).

BUG=688116, 658997
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2853383004
Cr-Commit-Position: refs/heads/master@{#469071}

[modify] https://crrev.com/4d4ce2a062601d712fcc1dc52f4e106fe4618579/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/4d4ce2a062601d712fcc1dc52f4e106fe4618579/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html
[rename] https://crrev.com/4d4ce2a062601d712fcc1dc52f4e106fe4618579/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.getregistrations.html
[delete] https://crrev.com/9a3f5f993acb59b16a6e1d5f157a46f6c7a11df8/third_party/WebKit/LayoutTests/http/tests/serviceworker/getregistration.html

Comment 24 by bugdroid1@chromium.org, May 5 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/be8f71f78b95b5d953e1f385120f9aa7f797ed0d

commit be8f71f78b95b5d953e1f385120f9aa7f797ed0d
Author: mike <mike@mikepennisi.com>
Date: Fri May 05 18:19:49 2017

Upstream service worker `fetch` test to WPT

**fetch-request-html-imports**

Use HTTPS version of absolute URLs and schedule iframe element to be
removed at the completion of the test.

**fetch-request-resources**

Extend the WPT version of this test with the novel aspects of the
Chromium version:

- assertions for the `redirect` attribute of the Request object
- 1 additional test case for image resource requests
- 2 additional test cases for stylesheet resource requests
- 15 test cases for "fetch" requests
- 6 test cases for audio resource requests

Note that while the Chromium version also contains test cases for image
resources loaded via CSS, equivalent tests are already present upstream
(under the name `fetch-request-css-images.https.html`) and therefore do
not need to be migrated.

Chromium continues to fail the upstream version due to its additional
assertions for the `integrity` attribute of the Request object. Due to
this, it cannot be used as a substitute for the Chromium-specific
version. Persist the Chromium-specific version under a new file name
documenting its deprecated status.

BUG=688116
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2858093002
Cr-Commit-Position: refs/heads/master@{#469726}

[rename] https://crrev.com/be8f71f78b95b5d953e1f385120f9aa7f797ed0d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-html-imports.https.html
[modify] https://crrev.com/be8f71f78b95b5d953e1f385120f9aa7f797ed0d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-resources.https.html
[add] https://crrev.com/be8f71f78b95b5d953e1f385120f9aa7f797ed0d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-html-imports-iframe.html
[rename] https://crrev.com/be8f71f78b95b5d953e1f385120f9aa7f797ed0d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-html-imports-worker.js
[modify] https://crrev.com/be8f71f78b95b5d953e1f385120f9aa7f797ed0d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-resources-iframe.https.html
[modify] https://crrev.com/be8f71f78b95b5d953e1f385120f9aa7f797ed0d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-resources-worker.js
[rename] https://crrev.com/be8f71f78b95b5d953e1f385120f9aa7f797ed0d/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-request-resources.html
[delete] https://crrev.com/e520c4590bfdf0c571bf534ababda17939b9e4ef/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-html-imports-iframe.html

Comment 26 by bugdroid1@chromium.org, May 8 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e9f34ed893dd0ab15ac4834becee26c4886620d7

commit e9f34ed893dd0ab15ac4834becee26c4886620d7
Author: mike <mike@mikepennisi.com>
Date: Mon May 08 20:25:49 2017

Upstream service wrkr `importScripts` tests to WPT

In order to contribute this test logic to the Web Platform Tests
project, the invalid assertion it includes needed to be corrected.
Because the test was previously formatted as a single sub-test, the
resultant failure tended to obscure the results of assertions for
independent conditions. Re-factor the test to support more fine-grained
reporting, and white-list the specific failure as "allowed" in the
Chromium build infrastructure.

BUG=688116, 719052
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2864783002
Cr-Commit-Position: refs/heads/master@{#470105}

[add] https://crrev.com/e9f34ed893dd0ab15ac4834becee26c4886620d7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/import-scripts-resource-map.https.html
[add] https://crrev.com/e9f34ed893dd0ab15ac4834becee26c4886620d7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/import-scripts-updated-flag.https-expected.txt
[add] https://crrev.com/e9f34ed893dd0ab15ac4834becee26c4886620d7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/import-scripts-updated-flag.https.html
[add] https://crrev.com/e9f34ed893dd0ab15ac4834becee26c4886620d7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/import-scripts-echo.py
[add] https://crrev.com/e9f34ed893dd0ab15ac4834becee26c4886620d7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/import-scripts-resource-map-worker.js
[add] https://crrev.com/e9f34ed893dd0ab15ac4834becee26c4886620d7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/import-scripts-updated-flag-worker.js
[add] https://crrev.com/e9f34ed893dd0ab15ac4834becee26c4886620d7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/import-scripts-version.py
[delete] https://crrev.com/ebd2fa73e3046f3d6397545285a41fa1d78c4be8/third_party/WebKit/LayoutTests/http/tests/serviceworker/importScripts.html
[delete] https://crrev.com/ebd2fa73e3046f3d6397545285a41fa1d78c4be8/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/duplicate-import-worker.js
[delete] https://crrev.com/ebd2fa73e3046f3d6397545285a41fa1d78c4be8/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/echo.php
[delete] https://crrev.com/ebd2fa73e3046f3d6397545285a41fa1d78c4be8/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/get-version.php
[delete] https://crrev.com/ebd2fa73e3046f3d6397545285a41fa1d78c4be8/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/import-scripts-worker.js

Comment 27 by bugdroid1@chromium.org, May 9 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/906aedf74008e1d36dfe1d48fdf236afb3cc5572

commit 906aedf74008e1d36dfe1d48fdf236afb3cc5572
Author: mike <mike@mikepennisi.com>
Date: Tue May 09 06:26:28 2017

Upstream service worker `fetch` test to WPT

**fetch-request-css-cross-origin-mime-check**

Update resource file paths as appropriate and use HTTPS version of
absolute URLs.

**fetch-request-fallback**

Both the Chromium version and upstream version of this test cover the
following conditions:

- same origin XHR should succeed
- CORS-unsupported other origin XHR should fail
- CORS-supported other origin XHR should succeed
- redirected XHR should succeed
- XHR which is redirected to CORS-unsupported other origin should fail
- XHR which is redirected to CORS-supported other origin should succeed

However, the Chromium version includes additional tests for image
requests:

- image request should succeed
- other origin image request should succeed
- CORS-unsupported other origin image request should fail
- CORS-supported other origin image request should succeed
- redirected image request should succeed
- image request which is redirected to other origin should succeed
- image request which is redirected to CORS-unsupported other origin should fail
- image request which is redirected to CORS-supported other origin should succeed

The two versions differ significantly in test structure, as well. Adopt
the Chromium version's structure because that implements more granular
assertion messages.

BUG=688116
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2858933003
Cr-Commit-Position: refs/heads/master@{#470248}

[modify] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[rename] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-cross-origin-mime-check.https.html
[modify] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-fallback.https.html
[rename] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-cross-origin-mime-check-cross.css
[rename] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-cross-origin-mime-check-cross.html
[rename] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-cross-origin-mime-check-iframe.html
[rename] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-cross-origin-mime-check-same.css
[rename] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-cross-origin-mime-check-same.html
[rename] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-cross-origin-mime-check-worker.js
[modify] https://crrev.com/906aedf74008e1d36dfe1d48fdf236afb3cc5572/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-fallback-iframe.html
[delete] https://crrev.com/0979251b5a413aa37bb82e8d72d75cd7a1c5e106/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-request-fallback.html
[delete] https://crrev.com/0979251b5a413aa37bb82e8d72d75cd7a1c5e106/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-fallback-iframe.html
[delete] https://crrev.com/0979251b5a413aa37bb82e8d72d75cd7a1c5e106/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-fallback-worker.js

Comment 28 by bugdroid1@chromium.org, May 9 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a3e413c07f490356a2a9b5cf623954ed9d35827

commit 6a3e413c07f490356a2a9b5cf623954ed9d35827
Author: mike <mike@mikepennisi.com>
Date: Tue May 09 18:51:55 2017

Upstream service worker `fetch` tests to WPT

**fetch-request-css-base-url**

The Chromium-specific version of this test is almost identical to the
version provided by the Web Platform Test suite. The upstream version
differs only in its use of Promises for control flow. However, the
upstream version also suffers from timeout issues in the build
environment.

Rename the Chromium-specific version to reflect its deprecated status,
and re-enable the upstream version as an expected timeout.

**fetch-request-xhr**

Update the upstream version to improve failure reporting and to include
novel tests from the Chromium version for HTTP header values (modified
to comply with the Fetch specification).

Update the Chromium-specific version to document its deprecated status
and invalid assertions.

Update both versions to improve state management via `Test#add_cleanup`.

**fetch-response-xhr**

Update the upstream version to avoid a race condition.

Update the Chromium-specific version to document its deprecated status.

Update both versions to improve state management via `Test#add_cleanup`.

BUG=688116, 595993, 658997
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2862353002
Cr-Commit-Position: refs/heads/master@{#470395}

[modify] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr.https.html
[modify] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-response-xhr.https.html
[modify] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
[modify] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html
[rename] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-request-css-base-url.html
[rename] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-request-xhr.html
[rename] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.fetch-response-xhr.html
[modify] https://crrev.com/6a3e413c07f490356a2a9b5cf623954ed9d35827/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-xhr-iframe.html

Comment 31 by bugdroid1@chromium.org, May 12 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7794609a04bdf904491f8d9501f6cd5ecf39adde

commit 7794609a04bdf904491f8d9501f6cd5ecf39adde
Author: mike <mike@mikepennisi.com>
Date: Fri May 12 16:58:31 2017

Upstream service worker opaque-response-preloaded.https.html test to WPT

- Re-locate file for eventual submission to the Web Platform Tests
  project
- Add "clean up" logic to remove iframe from document
- Remove implementation-specific details from in-line documentation

BUG=688116, 625575
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2877673004
Cr-Commit-Position: refs/heads/master@{#471341}

[add] https://crrev.com/7794609a04bdf904491f8d9501f6cd5ecf39adde/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/opaque-response-preloaded.https.html
[rename] https://crrev.com/7794609a04bdf904491f8d9501f6cd5ecf39adde/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/opaque-response-preloaded-iframe.html
[add] https://crrev.com/7794609a04bdf904491f8d9501f6cd5ecf39adde/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/opaque-response-preloaded-worker.js
[delete] https://crrev.com/6f323a5f1fd9ad313745573f945739541dd40161/third_party/WebKit/LayoutTests/http/tests/serviceworker/opaque-response-in-memorycache.html
[delete] https://crrev.com/6f323a5f1fd9ad313745573f945739541dd40161/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/opaque-response-in-memorycache-worker.js

Comment 32 by bugdroid1@chromium.org, May 12 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/036a8648e3fee70b4414d0567fdf278ece77ce8b

commit 036a8648e3fee70b4414d0567fdf278ece77ce8b
Author: mike <mike@mikepennisi.com>
Date: Fri May 12 17:27:20 2017

Re-located duplicated service worker test

The Web Platform Tests project maintains a more rigorous version of this
test, but because that version currently fails in Chromium, this version
cannot be removed without negatively effecting test coverage.

Re-name the test file and add an in-line comment to document the test's
deprecated status.

BUG=688116, 507169
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2882483002
Cr-Commit-Position: refs/heads/master@{#471350}

[add] https://crrev.com/036a8648e3fee70b4414d0567fdf278ece77ce8b/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.performance-timeline.html
[delete] https://crrev.com/ee4dc418f02280aa61686a064cb2d2371e153a2f/third_party/WebKit/LayoutTests/http/tests/serviceworker/performance-timeline.html

Comment 33 by bugdroid1@chromium.org, May 15 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4c4a4de426ccab70896c80c48e58b770420c008

commit f4c4a4de426ccab70896c80c48e58b770420c008
Author: mike <mike@mikepennisi.com>
Date: Mon May 15 23:05:04 2017

Upstream service worker `postMessage` tests to WPT

**postmessage-msgport-to-client**

This test exists in both WPT and the Chromium project tree. Although the
two implementations assert the same behavior, the Chromium version is
preferable for a number of reasons:

- It uses the `promise_test` function and expresses the test body in
  terms of promises, resulting in improved test readability.
- It extends the "message" event lifetime via
  `ExtendableEvent#waitUntil`, discouraging unexpected worker
  termination.

Update the upstream version of the test with these improvements. In
addition, remove the dynamically-generated iframe at the test's
conclusion. Remove the Chromium-specific version of the test.

**postmessage-to-client**

This test exists in both WPT and the Chromium project tree. Although the
two implementations assert the same behavior, the Chromium version is
preferable for a number of reasons:

- It uses the `promise_test` function and expresses the test body in
  terms of promises, resulting in improved test readability.
- It extends the "message" event lifetime via
  `ExtendableEvent#waitUntil`, discouraging unexpected worker
  termination.

Retain the additional assertions present in the upstream version (i.e.
those for the `bubbles` and `cancelable` attributes of the event
object). Update the upstream version of the test with these
improvements. In addition, remove the dynamically-generated iframe at
the test's conclusion. Remove the Chromium-specific version of the test.

**postmessage**

This test exists in both WPT and the Chromium project tree. Although the
two implementations assert the same behavior, the Chromium version is
preferable for a number of reasons:

- It includes additional tests concerning the transference of
  ArrayBuffer instances between clients and worker
- It uses the `promise_test` function and expresses the test body in
  terms of promises, resulting in improved test readability.

Update the upstream version of the test with these improvements. Remove
the Chromium-specific version of the test.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2875383002
Cr-Commit-Position: refs/heads/master@{#471940}

[modify] https://crrev.com/f4c4a4de426ccab70896c80c48e58b770420c008/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage-msgport-to-client.https.html
[modify] https://crrev.com/f4c4a4de426ccab70896c80c48e58b770420c008/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage-to-client.https.html
[modify] https://crrev.com/f4c4a4de426ccab70896c80c48e58b770420c008/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage.https.html
[modify] https://crrev.com/f4c4a4de426ccab70896c80c48e58b770420c008/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/postmessage-msgport-to-client-worker.js
[modify] https://crrev.com/f4c4a4de426ccab70896c80c48e58b770420c008/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/postmessage-to-client-worker.js
[rename] https://crrev.com/f4c4a4de426ccab70896c80c48e58b770420c008/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/postmessage-transferables-worker.js
[delete] https://crrev.com/cff8d177b5cbcbaabf7e9860576d2f629f94debb/third_party/WebKit/LayoutTests/http/tests/serviceworker/postmessage-msgport-to-client.html
[delete] https://crrev.com/cff8d177b5cbcbaabf7e9860576d2f629f94debb/third_party/WebKit/LayoutTests/http/tests/serviceworker/postmessage-to-client.html
[delete] https://crrev.com/cff8d177b5cbcbaabf7e9860576d2f629f94debb/third_party/WebKit/LayoutTests/http/tests/serviceworker/postmessage.html
[delete] https://crrev.com/cff8d177b5cbcbaabf7e9860576d2f629f94debb/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/postmessage-msgport-to-client-worker.js
[delete] https://crrev.com/cff8d177b5cbcbaabf7e9860576d2f629f94debb/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/postmessage-to-client-worker.js
[delete] https://crrev.com/cff8d177b5cbcbaabf7e9860576d2f629f94debb/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/postmessage-worker.js

Comment 34 by bugdroid1@chromium.org, May 16 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/981a96bc5df9e0c392193199c5a6d701a973f0f0

commit 981a96bc5df9e0c392193199c5a6d701a973f0f0
Author: mike <mike@mikepennisi.com>
Date: Tue May 16 05:39:39 2017

Upstream service worker `ready` test to WPT

This test exists in both WPT and the Chromium project tree. Although the
two implementations assert the same behavior, the Chromium version is
preferable for a number of reasons:

- It uses the `promise_test` function and expresses the test body in
  terms of promises, resulting in improved test readability.
- It includes additional sub-tests

Update the upstream version of the test with these improvements. In
addition:

- remove unnecessary precaution from newly-introduced sub-tests
- remove the dynamically-generated iframe at the conclusion of each
  sub-test

Remove the Chromium-specific version of the test.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2880823002
Cr-Commit-Position: refs/heads/master@{#472021}

[modify] https://crrev.com/981a96bc5df9e0c392193199c5a6d701a973f0f0/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ready.https.html
[rename] https://crrev.com/981a96bc5df9e0c392193199c5a6d701a973f0f0/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/register-iframe.html
[delete] https://crrev.com/d411c5d512aa58ebabaf8eb4f6594285d7bea86e/third_party/WebKit/LayoutTests/http/tests/serviceworker/ready.html

Comment 35 by bugdroid1@chromium.org, May 17 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e5241c1ac5cf149707ce97b0a877e0529bd61de2

commit e5241c1ac5cf149707ce97b0a877e0529bd61de2
Author: mike <mike@mikepennisi.com>
Date: Wed May 17 05:04:03 2017

Upstream service worker navigation tests to WPT

**navigation-redirect**

Update existing assertions to adhere to the latest version of the Fetch
specification. The relevant change from that document [1] is explained
as follows:

> [...]
> * Only when redirects are automatically followed should we set the
> skip-service-worker flag, otherwise we negatively affect navigations.
> [...]

(Note that the Request's "skip-service-worker flag" was subsequently
re-implemented as "service-workers mode" in [2].)

Insert two additional tests introduced by Chromium project commit
cb6838f5badc8c2df03f387f4aa726629214179a, whose message reads:

> Make no-location redirect response to be "opaque redirect" when
> redirect mode is manual.
>
> According to the spec, even if location header is not set, we should
> treat the redirect response as "opaqueredirect" if the redirect mode
> of the fetch request is "manual".
>
> This behavior was changed by this commit on the spec.
> https://github.com/whatwg/fetch/commit/3e501f29eceff41eb81c60fb9937e33e23cf5492

Remove the "-expectations.txt" file for this test since Chromium passes
the corrected version. Remove the Chromium-specific version of the test.

**navigation-redirect-body**

Re-locate test file to Web Platform Test directory for eventual
automated upstreaming. Simplify test body by constructing necessary DOM
declaratively with HTML. Schedule frame removal to occur following test
completion.

**navigation-redirect-to-http**

Re-locate test file to Web Platform Test directory for eventual
automated upstreaming. Prefer the generalized `redirect.py` script over
a test-specific script defining equivalent functionality. Correct typo
in test title.

[1] https://github.com/whatwg/fetch/commit/ec6f5ef5f99cb6b0dd6c701b49791810fb380b04
[2] https://github.com/whatwg/fetch/commit/d41c2380dc828e7a23c6196a344b42b2d0e9beec

BUG=688116
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2872363002
Cr-Commit-Position: refs/heads/master@{#472332}

[add] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-redirect-body.https.html
[add] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-redirect-to-http.https.html
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-redirect.https-expected.txt
[modify] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-redirect.https.html
[rename] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-body-worker.js
[add] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-body.py
[modify] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-out-scope.py
[modify] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-scope1.py
[modify] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-scope2.py
[rename] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-to-http-iframe.html
[rename] https://crrev.com/e5241c1ac5cf149707ce97b0a877e0529bd61de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-to-http-worker.js
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-redirect-body.html
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-redirect-to-http.html
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-redirect.html
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/navigation-redirect-body.php
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/navigation-redirect-other-origin.html
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/navigation-redirect-out-scope.php
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/navigation-redirect-scope1.php
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/navigation-redirect-scope2.php
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/navigation-redirect-to-http.php
[delete] https://crrev.com/7272b31c2cd71e1ef2f1b0161920d2e040eb5424/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/navigation-redirect-worker.js

Comment 36 by bugdroid1@chromium.org, May 18 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9190eb27531ee100bcb83450c9c32c5568531afd

commit 9190eb27531ee100bcb83450c9c32c5568531afd
Author: mike <mike@mikepennisi.com>
Date: Thu May 18 03:30:18 2017

Upstream service worker "register" tests to WPT

**register-default-scope**

This test exists in both WPT and the Chromium project tree. Because they
differ only in implementation details of the testing infrastructure, the
Chromium-specific version may be removed without affecting test coverage
in the Chromium project.

**register-link-element**

This test was previously re-located to the Web Platform Tests project
[1], but its corresponding "expectations" file was mistakenly persisted.
Remove that file.

[1] See commit e46007715a723c2219f49db6199f1af09cbbc7db in the Chromium
    project

**register-same-scope-different-script-url**

This test exists in both WPT and the Chromium project tree. The WPT
version is slightly weaker because it accounts for a condition that is
not possible according to the latest version of the Service Workers
specification [2].

> # Install
>
> [...]
>
> 17. Run the Update Registration State algorithm passing registration,
>     "installing" and null as the arguments.
> 18. Run the Update Worker State algorithm passing registration’s
>     waiting worker and installed as the arguments.
> 19. Invoke Finish Job with job.
> 20. Wait for all the tasks queued by Update Worker State invoked in
>     this algorithm have executed.
> 21. Invoke Try Activate with registration.

Due to step 20, worker activation does not occur until all prior tasks
(which includes microtasks such as the Promise handler microtask created
in the test's body) have executed.

Remove the conditional logic from the WPT version and remove the
Chromium test file.

[2] https://w3c.github.io/ServiceWorker/#installation-algorithm,
    retrieved on 2017-05-16

**register-wait-forever-in-install-worker**

The Web Platform Tests project maintains a more rigorous version of this
test, but because that version currently fails in Chromium, this version
cannot be removed without negatively effecting test coverage.

Re-name the test file and add an in-line comment to document the test's
deprecated status.

**register-foreign-fetch-error**

Update URLs to suitable values for the Web Platform Tests project.

BUG=688116, 723037
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2892473003
Cr-Commit-Position: refs/heads/master@{#472636}

[add] https://crrev.com/9190eb27531ee100bcb83450c9c32c5568531afd/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/register-foreign-fetch-errors.https.html
[modify] https://crrev.com/9190eb27531ee100bcb83450c9c32c5568531afd/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/register-same-scope-different-script-url.https.html
[rename] https://crrev.com/9190eb27531ee100bcb83450c9c32c5568531afd/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/register-foreign-fetch-errors-worker.js
[rename] https://crrev.com/9190eb27531ee100bcb83450c9c32c5568531afd/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.register-wait-forever-in-install-worker.html
[delete] https://crrev.com/8aaa656f06ce8379a55bf81fa4cdca123ff43485/third_party/WebKit/LayoutTests/http/tests/serviceworker/register-default-scope.html
[delete] https://crrev.com/8aaa656f06ce8379a55bf81fa4cdca123ff43485/third_party/WebKit/LayoutTests/http/tests/serviceworker/register-foreign-fetch-errors.html
[delete] https://crrev.com/8aaa656f06ce8379a55bf81fa4cdca123ff43485/third_party/WebKit/LayoutTests/http/tests/serviceworker/register-link-element-expected.txt
[delete] https://crrev.com/8aaa656f06ce8379a55bf81fa4cdca123ff43485/third_party/WebKit/LayoutTests/http/tests/serviceworker/register-same-scope-different-script-url.html

Comment 37 by bugdroid1@chromium.org, May 18 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f5a2de23dd577e4235b22719e127831dcb5f37b3

commit f5a2de23dd577e4235b22719e127831dcb5f37b3
Author: mike <mike@mikepennisi.com>
Date: Thu May 18 15:29:18 2017

Upstream service wrkr "registration" tests to WPT

**registration**

This test file was upstreamed to the Web Platform Tests project in
Chromium commit e46007715a723c2219f49db6199f1af09cbbc7db, but the
associated "expectations" file was mistakenly persisted. Remove the
expectations file.

**registration-end-to-end**

The version of this test in the Chromium source tree is equivalent to
the version available in the Web Platform Tests project. Remove the
Chromium version.

**registration-events**

The version of this test in the Chromium source tree is equivalent to
the version available in the Web Platform Tests project. Remove the
Chromium version.

**registration-service-worker-attributes**

The version defined by the Chromium project is more strict in that it
does not allow workers to transition between states before Promise
resolution microtasks have been executed. Because any such transition
would be in violation of the service workers specification, the
additional strictness is preferable.

Remove the logic that relaxes the WPT version of this test, and remove
the Chromium test file entirely.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2893743003
Cr-Commit-Position: refs/heads/master@{#472821}

[modify] https://crrev.com/f5a2de23dd577e4235b22719e127831dcb5f37b3/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/registration-service-worker-attributes.https.html
[delete] https://crrev.com/f344e0cdffec00b918859ccc01419cd1791b35dc/third_party/WebKit/LayoutTests/http/tests/serviceworker/registration-end-to-end.html
[delete] https://crrev.com/f344e0cdffec00b918859ccc01419cd1791b35dc/third_party/WebKit/LayoutTests/http/tests/serviceworker/registration-events.html
[delete] https://crrev.com/f344e0cdffec00b918859ccc01419cd1791b35dc/third_party/WebKit/LayoutTests/http/tests/serviceworker/registration-expected.txt
[delete] https://crrev.com/f344e0cdffec00b918859ccc01419cd1791b35dc/third_party/WebKit/LayoutTests/http/tests/serviceworker/registration-service-worker-attributes.html
[delete] https://crrev.com/f344e0cdffec00b918859ccc01419cd1791b35dc/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/end-to-end-worker.js
[delete] https://crrev.com/f344e0cdffec00b918859ccc01419cd1791b35dc/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/events-worker.js

Comment 38 by bugdroid1@chromium.org, May 18 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/74008fbe10dff1e03e4d5a9c941d6700705231df

commit 74008fbe10dff1e03e4d5a9c941d6700705231df
Author: mike <mike@mikepennisi.com>
Date: Thu May 18 19:35:35 2017

Upstream service worker "referer" tests to WPT

**referer**

This test exists in both WPT and the Chromium project tree. They differ
only in implementation details of the testing infrastructure.  However,
the upstream version suffers from timeout issues in the build
environment.

Rename the Chromium-specific version to reflect its deprecated status,
and re-enable the upstream version as an expected timeout.

**referrer-policy-header**

Move test file for automated contribution to the Web Platform Tests
project. Update URLs to use contextual values. Express asynchronous
sub-test using the `promise_test` function. Consistently remove iframe
regardless of sub-test result. Specify necessary HTTP headers in a
format that is supported by the Web Platform Tests project.

BUG=688116, 658997
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2883373002
Cr-Commit-Position: refs/heads/master@{#472902}

[modify] https://crrev.com/74008fbe10dff1e03e4d5a9c941d6700705231df/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/74008fbe10dff1e03e4d5a9c941d6700705231df/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/referrer-policy-header.https.html
[add] https://crrev.com/74008fbe10dff1e03e4d5a9c941d6700705231df/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-rewrite-worker-referrer-policy.js
[add] https://crrev.com/74008fbe10dff1e03e4d5a9c941d6700705231df/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-rewrite-worker-referrer-policy.js.headers
[rename] https://crrev.com/74008fbe10dff1e03e4d5a9c941d6700705231df/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/referrer-policy-iframe.html
[rename] https://crrev.com/74008fbe10dff1e03e4d5a9c941d6700705231df/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.referer.html
[delete] https://crrev.com/9258f1b1b8e234f289aaf7bd2031c208ecca58ce/third_party/WebKit/LayoutTests/http/tests/serviceworker/referrer-policy-header.html
[delete] https://crrev.com/9258f1b1b8e234f289aaf7bd2031c208ecca58ce/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-rewrite-worker.php

Comment 39 by bugdroid1@chromium.org, May 18 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dca85dac110e00bb8a22e1b9d94fb44d44b2d518

commit dca85dac110e00bb8a22e1b9d94fb44d44b2d518
Author: mike <mike@mikepennisi.com>
Date: Thu May 18 20:36:28 2017

Upstream service worker tests to WPT

**install-event-type-worker**

This test is nearly identical to the version available in the Web
Platform Tests project. Update the upstream version with the only
meaningful difference between the tests: an additional assertion for the
event object provided to the service worker's `oninstall` event handler.
Extend assertions with description strings to aid debugging in case of
test failure.

**interfaces**

Extend the upstream version with the additional assertions found in the
Chromium-specific version. Remove the Chromium-specific version.
Re-locate the associated "resource" file as it is reference by
unrelated tests.

**invalid-blobtype**

Remove the Chromium-specific version because it is equivalent to the
upstream version. Simplify script resource URLs in the upstream version.

**invalid-header**

Remove the Chromium-specific version because it is equivalent to the
upstream version. Simplify script resource URLs in the upstream version.

**multiple-register**

Remove the Chromium-specific version because it is equivalent to the
upstream version. Correct a typo in an assertion message in the upstream
version.

BUG=688116, 724212
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2865313003
Cr-Commit-Position: refs/heads/master@{#472916}

[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-blobtype.https.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-header.https.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multiple-register.https.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/install-event-type-worker.js
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-worker.sub.js
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/invalid-blobtype-iframe.https.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/invalid-header-iframe.https.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-basics.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-get-basics.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/http/tests/credentialmanager/credentialscontainer-get-errors.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/http/tests/credentialmanager/federatedcredential-basics.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/http/tests/credentialmanager/passwordcredential-basics.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/http/tests/credentialmanager/passwordcredential-fetch.html
[modify] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/http/tests/credentialmanager/passwordcredential-redirect.html
[rename] https://crrev.com/dca85dac110e00bb8a22e1b9d94fb44d44b2d518/third_party/WebKit/LayoutTests/http/tests/credentialmanager/resources/interfaces.js
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/install-event-type.html
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/interfaces.html
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/invalid-blobtype.html
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/invalid-header.html
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/multiple-register.html
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/install-event-type-worker.js
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/interfaces-worker.js
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/invalid-blobtype-iframe.html
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/invalid-blobtype-worker.js
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/invalid-header-iframe.html
[delete] https://crrev.com/ba5159d871bb21b4b151262dd9234d0261b81331/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/invalid-header-worker.js

Comment 40 by bugdroid1@chromium.org, May 19 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9a736f232d37141444b55fc6a3d36eb78f8c86ec

commit 9a736f232d37141444b55fc6a3d36eb78f8c86ec
Author: mike <mike@mikepennisi.com>
Date: Fri May 19 15:59:57 2017

Upstream service worker "timing" test to WPT

The version of this test in the Chromium source tree is equivalent to
the version available in the Web Platform Tests project. The WPT version
was previously marked as an expected failure because it constructed URLs
in terms of the HTTP protocol. This is correct within the Chromium
infrastructure (where the "secure context" requirement of the service
worker specification is satisfied by the use of the origin `127.0.0.1`),
but it is inappropriate for use within the WPT testing infrastructure
(where HTTPS is used to provide a secure context).

Correct the upstream version of the test, remove Chromium's "expected
failure" file, and remove the Chromium version of the test.

BUG=688116, 678905
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2895473002
Cr-Commit-Position: refs/heads/master@{#473206}

[delete] https://crrev.com/2c43ab991daa30205059b6d8a92a3857373061ff/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resource-timing.https-expected.txt
[modify] https://crrev.com/9a736f232d37141444b55fc6a3d36eb78f8c86ec/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resource-timing.https.html
[delete] https://crrev.com/2c43ab991daa30205059b6d8a92a3857373061ff/third_party/WebKit/LayoutTests/http/tests/serviceworker/resource-timing.html
[delete] https://crrev.com/2c43ab991daa30205059b6d8a92a3857373061ff/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/resource-timing-iframe.html
[delete] https://crrev.com/2c43ab991daa30205059b6d8a92a3857373061ff/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/resource-timing-worker.js

Comment 41 by bugdroid1@chromium.org, May 19 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/732f505038a242a0353375cc78126b3956650b16

commit 732f505038a242a0353375cc78126b3956650b16
Author: mike <mike@mikepennisi.com>
Date: Fri May 19 17:12:15 2017

Upstream srvc wrkr "redirected resp" test to WPT

Reformat the test in terms of a series of distinct sub-tests with
expressive titles. This provides more expressive feedback in the event of
test failure. It also makes test results deterministic in the event of
multiple test failures.

Create a new version of this test that omits references to internal APIs
and place that in the "external" directory for eventual contribution to the
Web Platform Tests project.

Re-name the original test file to explicitly document its role as a
Chromium-specific test and limit its assertions to only those internal
details.

BUG=688116, 658249
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2878003003
Cr-Commit-Position: refs/heads/master@{#473221}

[add] https://crrev.com/732f505038a242a0353375cc78126b3956650b16/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/redirected-response.https.html
[add] https://crrev.com/732f505038a242a0353375cc78126b3956650b16/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.redirected-response.html
[delete] https://crrev.com/9fe4c439346a542a207dc9122fe68b8a40f68dcd/third_party/WebKit/LayoutTests/http/tests/serviceworker/redirected-response.html

Comment 42 by bugdroid1@chromium.org, May 19 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/51eb76c3327468323acfea2393253f846d5aea25

commit 51eb76c3327468323acfea2393253f846d5aea25
Author: mike <mike@mikepennisi.com>
Date: Fri May 19 17:26:31 2017

Remove duplicate service worker test

This test exists in both WPT and the Chromium project tree. The WPT
version is slightly weaker because it accounts for a condition that is
not possible according to the latest version of the Service Workers
specification [1].

> # Install
>
> [...]
>
> 16. Run the Update Registration State algorithm passing registration,
>     "waiting" and registration’s installing worker as the arguments.
> 17. Run the Update Registration State algorithm passing registration,
>     "installing" and null as the arguments.
> 18. Run the Update Worker State algorithm passing registration’s
>     waiting worker and installed as the arguments.
> 19. Invoke Finish Job with job.
> 20. Wait for all the tasks queued by Update Worker State invoked in
>     this algorithm have executed.
> 21. Invoke Try Activate with registration.

Due to step 20, worker activation does not occur until all prior tasks
(which includes microtasks such as the Promise handler microtask created
in the test's body) have executed.

Remove the conditional logic from the WPT version and remove the
Chromium test file. Explicitly un-register workers following test
completion.

[1] https://w3c.github.io/ServiceWorker/#installation-algorithm,
    retrieved on 17.05.18

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2873373004
Cr-Commit-Position: refs/heads/master@{#473227}

[modify] https://crrev.com/51eb76c3327468323acfea2393253f846d5aea25/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/onactivate-script-error.https.html
[delete] https://crrev.com/82369251bef0ac33df90166ce95fdaf5aaf53ee6/third_party/WebKit/LayoutTests/http/tests/serviceworker/onactivate-script-error.html
[delete] https://crrev.com/82369251bef0ac33df90166ce95fdaf5aaf53ee6/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/onactivate-throw-error-from-nested-event-worker.js
[delete] https://crrev.com/82369251bef0ac33df90166ce95fdaf5aaf53ee6/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/onactivate-throw-error-then-cancel-worker.js
[delete] https://crrev.com/82369251bef0ac33df90166ce95fdaf5aaf53ee6/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/onactivate-throw-error-then-prevent-default-worker.js
[delete] https://crrev.com/82369251bef0ac33df90166ce95fdaf5aaf53ee6/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/onactivate-throw-error-with-empty-onerror-worker.js
[delete] https://crrev.com/82369251bef0ac33df90166ce95fdaf5aaf53ee6/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/onactivate-throw-error-worker.js

Comment 43 by bugdroid1@chromium.org, May 19 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/97d4d455f11785e8681ad01335b9239032c658ba

commit 97d4d455f11785e8681ad01335b9239032c658ba
Author: mike <mike@mikepennisi.com>
Date: Fri May 19 17:30:03 2017

Remove duplicate service worker "register" test

This test is identical to the version available in the Web Platform
Tests project and may therefore be removed without impacting coverage.

BUG=688116, 365886
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2888823005
Cr-Commit-Position: refs/heads/master@{#473230}

[delete] https://crrev.com/79ae465115ced930a6daeb8a58f0aa7dfa07f6af/third_party/WebKit/LayoutTests/http/tests/serviceworker/rejections.html

Comment 44 by bugdroid1@chromium.org, May 19 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1ab24e6317f69a8fc15f1f12023a8c98fb065ce2

commit 1ab24e6317f69a8fc15f1f12023a8c98fb065ce2
Author: mike <mike@mikepennisi.com>
Date: Fri May 19 17:34:37 2017

Upstream service wrkr "respond with" tests to WPT

**(fetch-event-)respond-with-readable-stream**

**(fetch-event-)respond-with-response-body-with-invalid-chunk**

Re-locate test files to Web Platform Test directory for eventual
automated upstreaming. Modify file names according to convention set by
related tests in that project. Update resource URLs to suitable values
for that project. Schedule frame removal to occur following test
completion. Introduce a "use strict" directive. Simplify Promise
creation.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2893793004
Cr-Commit-Position: refs/heads/master@{#473232}

[rename] https://crrev.com/1ab24e6317f69a8fc15f1f12023a8c98fb065ce2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html
[rename] https://crrev.com/1ab24e6317f69a8fc15f1f12023a8c98fb065ce2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html
[rename] https://crrev.com/1ab24e6317f69a8fc15f1f12023a8c98fb065ce2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-respond-with-readable-stream-iframe.html
[rename] https://crrev.com/1ab24e6317f69a8fc15f1f12023a8c98fb065ce2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-respond-with-readable-stream-worker.js
[rename] https://crrev.com/1ab24e6317f69a8fc15f1f12023a8c98fb065ce2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-respond-with-response-body-with-invalid-chunk-iframe.html
[rename] https://crrev.com/1ab24e6317f69a8fc15f1f12023a8c98fb065ce2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-respond-with-response-body-with-invalid-chunk-worker.js

Comment 45 by bugdroid1@chromium.org, May 22 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06e4fc07e59c52bfcdb94b424b6ffef20245ada3

commit 06e4fc07e59c52bfcdb94b424b6ffef20245ada3
Author: mike <mike@mikepennisi.com>
Date: Mon May 22 16:04:44 2017

Upstream service wrkr "iframe sandbox" test to WPT

**sandbox-iframe-register-link-element**

Re-locate test files to Web Platform Test directory for eventual
automated upstreaming. Re-factor to use `promise_test`. Add additional
subtest verifying observance of the `allow-same-origin` directive.
Remove unnecessary `<script>` tag. Add "use strict" directives to
scripts.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2896643002
Cr-Commit-Position: refs/heads/master@{#473585}

[modify] https://crrev.com/06e4fc07e59c52bfcdb94b424b6ffef20245ada3/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[add] https://crrev.com/06e4fc07e59c52bfcdb94b424b6ffef20245ada3/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/iframe-sandbox-register-link-element.https.html
[add] https://crrev.com/06e4fc07e59c52bfcdb94b424b6ffef20245ada3/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/iframe-register-link-element.html
[delete] https://crrev.com/f0a16200825ea532a475b9169f9fce6c040793d5/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/iframe-register-link-element.html
[delete] https://crrev.com/f0a16200825ea532a475b9169f9fce6c040793d5/third_party/WebKit/LayoutTests/http/tests/serviceworker/sandbox-iframe-register-link-element.html

Comment 46 by bugdroid1@chromium.org, May 22 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a51bf4dc7726796505882c1b96eed0ec40c28d4f

commit a51bf4dc7726796505882c1b96eed0ec40c28d4f
Author: mike <mike@mikepennisi.com>
Date: Mon May 22 16:10:49 2017

Upstream service worker "script URL" test to WPT

This test is nearly identical to the version available in the Web
Platform Tests project. Update the upstream version with the only
meaningful difference between the tests: an additional assertion for the
interpretation of fragment identifiers. Re-factor test body to use
`promise_test` and format code accordingly. Add a "use strict"
directive. Remove the Chromium version of the test.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2894883003
Cr-Commit-Position: refs/heads/master@{#473586}

[modify] https://crrev.com/a51bf4dc7726796505882c1b96eed0ec40c28d4f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/serviceworkerobject-scripturl.https.html
[delete] https://crrev.com/06e4fc07e59c52bfcdb94b424b6ffef20245ada3/third_party/WebKit/LayoutTests/http/tests/serviceworker/serviceworkerobject-scripturl.html

Comment 47 by bugdroid1@chromium.org, May 22 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b7d76092f05699bab9d8d9c3fd5433f04dfd3334

commit b7d76092f05699bab9d8d9c3fd5433f04dfd3334
Author: mike <mike@mikepennisi.com>
Date: Mon May 22 16:11:31 2017

Upstream service worker "request" tests to WPT

**request-body-blob**

Re-locate test file to Web Platform Test directory for eventual
automated upstreaming. Update resource URLs to suitable values for that
project. Schedule frame removal to occur following test completion.
Introduce a "use strict" directive.

**request-end-to-end**

This test exists in both WPT and the Chromium project tree, although the
two implementations differ in the following ways:

- Test structure - the WPT version uses `async_test` while the Chromium
  version uses `promise_test`
- Client-worker communication - the WPT version mediates communication
  between the client and the service worker via a dedicated
  MessageChannel. The Chromium version implements this communication via
  the "Handle Fetch" mechanism.
- "User-Agent" header assertion - the WPT version asserts that the
  "User-Agent" header is not set while the Chromium version asserts that
  it is set to the value of the client document's `navigator.userAgent`
  string (the former is correct)
- "Request construction assertion" - the Chromium version asserts that
  the expected exception is thrown when attempting to construct a new
  Request instance from the intercepted instance. The WPT version makes
  no such assertion.

Modify the WPT version to use the test structure from the Chromium
version, as this improves test readability. Adopt the communication
solution from the Chromium version, as this improves maintainability and
makes the test less susceptible to failure from unrelated bugs. Persist
the "User-Agent" assertion from the WPT version and incorporate the
"Request construction" assertion from the Chromium version. Add "use
strict" directives to the test files.

Because Chromium continues to fail the WPT version of the test, the
Chromium version cannot be removed without negatively effecting test
coverage in that project. Persist the Chromium version of the test, but
re-name the file, remove the faulty assertion, and add a comment
documenting its deprecated status.

BUG=688116, 595993
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2889153004
Cr-Commit-Position: refs/heads/master@{#473587}

[rename] https://crrev.com/b7d76092f05699bab9d8d9c3fd5433f04dfd3334/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/request-body-blob.https.html
[modify] https://crrev.com/b7d76092f05699bab9d8d9c3fd5433f04dfd3334/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/request-end-to-end.https.html
[rename] https://crrev.com/b7d76092f05699bab9d8d9c3fd5433f04dfd3334/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/request-body-blob-iframe.html
[rename] https://crrev.com/b7d76092f05699bab9d8d9c3fd5433f04dfd3334/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/request-body-blob-worker.js
[modify] https://crrev.com/b7d76092f05699bab9d8d9c3fd5433f04dfd3334/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/request-end-to-end-worker.js
[rename] https://crrev.com/b7d76092f05699bab9d8d9c3fd5433f04dfd3334/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.request-end-to-end.html
[modify] https://crrev.com/b7d76092f05699bab9d8d9c3fd5433f04dfd3334/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/request-end-to-end-worker.js

Comment 49 by bugdroid1@chromium.org, May 26 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8712f4d7c992f65300438340d211945c75a7f87d

commit 8712f4d7c992f65300438340d211945c75a7f87d
Author: mike <mike@mikepennisi.com>
Date: Fri May 26 03:59:16 2017

Remove duplicate service wrkr "uncontrolled" test

This test is identical to the version available in the Web Platform
Tests project and may therefore be removed without impacting coverage.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2897313003
Cr-Commit-Position: refs/heads/master@{#474902}

[delete] https://crrev.com/dd404929f0f3d121a74361a394e1727fee2189a6/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fail-on-fetch-worker.js
[delete] https://crrev.com/dd404929f0f3d121a74361a394e1727fee2189a6/third_party/WebKit/LayoutTests/http/tests/serviceworker/uncontrolled-page.html

Comment 50 by bugdroid1@chromium.org, May 29 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ebf9c47dfbfe4bba16e5e7997fb382603e3c2de2

commit ebf9c47dfbfe4bba16e5e7997fb382603e3c2de2
Author: mike <mike@mikepennisi.com>
Date: Mon May 29 05:56:34 2017

Upstream service worker "update" tests to WPT

**update-served-from-cached**

This test asserts caching behavior, but the relevant standards do not
explicitly require conformance in this regard. The behavior under test
is therefore not generally enforceable in the Web Platform Tests
project. Label the test as Chromium-specific and include an in-line
comment to document this distinction.

**update**

This test exists in both WPT and the Chromium project tree. The WPT
version is slightly weaker because it accounts for a condition that is
not possible according to the latest version of the Service Workers
specification [1].

> # Install
>
> [...]
>
> 16. Run the Update Registration State algorithm passing registration,
>     "waiting" and registration’s installing worker as the arguments.
> 17. Run the Update Registration State algorithm passing registration,
>     "installing" and null as the arguments.
> 18. Run the Update Worker State algorithm passing registration’s
>     waiting worker and installed as the arguments.
> 19. Invoke Finish Job with job.
> 20. Wait for all the tasks queued by Update Worker State invoked in
>     this algorithm have executed.
> 21. Invoke Try Activate with registration.

Due to step 20, worker activation does not occur until all prior tasks
(which includes microtasks such as the Promise handler microtask created
in the test's body) have executed.

Remove the conditional logic from the WPT version. Ensure
iframe removal takes place regardless of test outcome. Add a 'use
strict' directive to script body. Remove unnecessary invocation of
`Test#done`. Remove the Chromium version of the test.

[1] https://w3c.github.io/ServiceWorker/#installation-algorithm
    retrieved on 17.05.25

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2904063003
Cr-Commit-Position: refs/heads/master@{#475294}

[modify] https://crrev.com/ebf9c47dfbfe4bba16e5e7997fb382603e3c2de2/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/update.https.html
[rename] https://crrev.com/ebf9c47dfbfe4bba16e5e7997fb382603e3c2de2/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.update-served-from-cache.html
[delete] https://crrev.com/e6a7d7e3cd5665b6bc9b0e8cac4c813c52f90b02/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/update-worker.php
[delete] https://crrev.com/e6a7d7e3cd5665b6bc9b0e8cac4c813c52f90b02/third_party/WebKit/LayoutTests/http/tests/serviceworker/update.html

Comment 51 by bugdroid1@chromium.org, May 29 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b576b1bee0590f3e011cda1652c19057d48f8a93

commit b576b1bee0590f3e011cda1652c19057d48f8a93
Author: mike <mike@mikepennisi.com>
Date: Mon May 29 06:02:15 2017

Upstream service worker "unregister" tests to WPT

**unregister-controller**

The Chromium version of this test is equivalent to the version available
in the Web Platform Tests project and may therefore be removed without
impacting coverage (along with its associated "resource" file).

**unregister-then-register-new-script**

The Chromium version of this test is equivalent to the version available
in the Web Platform Tests project and may therefore be removed without
impacting coverage. Remove the associated "resource" file from the
Chromium project because it is no longer referenced by any tests.

**unregister-then-register**

The Chromium version of this test is largely equivalent to the version
available in the Web Platform Tests project and may therefore be removed
without impacting coverage. The Chromium includes an additional
sub-test, however. Extend the Web Platform Test version with this
additional sub-test.

Remove an irrelevant comment that describes a possible extension to the
test (although the referenced object equality is expected in some
contexts, it is not expected in the associated sub-test because the
relevant objects are created in distinct JavaScript realms).

**unregister**

The Chromium version of this test is equivalent to the version available
in the Web Platform Tests project and may therefore be removed without
impacting coverage.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2904123002
Cr-Commit-Position: refs/heads/master@{#475298}

[modify] https://crrev.com/b576b1bee0590f3e011cda1652c19057d48f8a93/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/unregister-then-register.https.html
[delete] https://crrev.com/3fd7dbe308d04ad7132bae51d86aceb33885b4ab/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/reject-install-worker.js
[delete] https://crrev.com/3fd7dbe308d04ad7132bae51d86aceb33885b4ab/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/unregister-controller-page.html
[delete] https://crrev.com/3fd7dbe308d04ad7132bae51d86aceb33885b4ab/third_party/WebKit/LayoutTests/http/tests/serviceworker/unregister-controller.html
[delete] https://crrev.com/3fd7dbe308d04ad7132bae51d86aceb33885b4ab/third_party/WebKit/LayoutTests/http/tests/serviceworker/unregister-then-register-new-script.html
[delete] https://crrev.com/3fd7dbe308d04ad7132bae51d86aceb33885b4ab/third_party/WebKit/LayoutTests/http/tests/serviceworker/unregister-then-register.html
[delete] https://crrev.com/3fd7dbe308d04ad7132bae51d86aceb33885b4ab/third_party/WebKit/LayoutTests/http/tests/serviceworker/unregister.html

Comment 52 by bugdroid1@chromium.org, May 29 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a03921af62dfc391b10999380a25e2baf2bf22bc

commit a03921af62dfc391b10999380a25e2baf2bf22bc
Author: mike <mike@mikepennisi.com>
Date: Mon May 29 17:01:26 2017

Upstream service wrkr "skipWaiting" tests to WPT

**skip-waiting-installed**

This test exists in both the Web Platform Tests project and in the
Chromium project, but the two versions differ slightly. Update the Web
Platform Tests version with improvements available in the Chromium
version:

- Remove unnecessary `<script>` include
- Discourage worker termination by invoking `event.waitUntil`
- Refactor promise management to avoid timing out in response to
  assertion failures
- Introduce a "use strict" directive

The Chromium version contains an additional assertion that is faulty.
Extend the Web Platform Tests version with a corrected form of this
assertion. Persist the Chromium version in its current state in order to
preserve test coverage, but annotate that version with references to a
new Chromium issue which tracks the resolution of the underlying bug.

**skip-waiting-using-registration**

This test exists in equivalent forms in both the Web Platform Tests
project and in the Chromium project. Update the Web Platform Tests
version:

- Remove unnecessary `<script>` include
- Refactor promise management to avoid timing out in response to
  assertion failures
- Increase prevision of test "cleanup" logic
- Introduce a "use strict" directive

Remove the Chromium version of the test.

**skip-waiting-without-client**

This test exists in equivalent forms in both the Web Platform Tests
project and in the Chromium project. Remove an unnecessary `<script>`
include from the Web Platform Tests version. Remove the Chromium version
of the test.

**skip-waiting-without-using-registration**

This test exists in equivalent forms in both the Web Platform Tests
project and in the Chromium project. Update the Web Platform Tests
version:

- Remove unnecessary `<script>` include
- Increase prevision of test "cleanup" logic
- Introduce a "use strict" directive

Remove the Chromium version of the test.

**skip-waiting**

This test exists in equivalent forms in both the Web Platform Tests
project and in the Chromium project. Update the Web Platform Tests
version:

- Remove unnecessary `<script>` include
- Increase prevision of test "cleanup" logic
- Introduce a "use strict" directive

Remove the Chromium version of the test.

---

Remove the `skip-waiting-worker.js` "resource" file from the Chromium
project as it is no longer referenced by any tests.

BUG=688116, 725616
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2900183002
Cr-Commit-Position: refs/heads/master@{#475361}

[modify] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/skip-waiting-installed-worker.js
[add] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-installed.https-expected.txt
[modify] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-installed.https.html
[modify] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-using-registration.https.html
[modify] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-without-client.https.html
[modify] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-without-using-registration.https.html
[modify] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting.https.html
[rename] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.skip-waiting-installed.html
[modify] https://crrev.com/a03921af62dfc391b10999380a25e2baf2bf22bc/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/skip-waiting-installed-worker.js
[delete] https://crrev.com/ae70e708c0a58bf54e190956cb9a560bb5036974/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/skip-waiting-worker.js
[delete] https://crrev.com/ae70e708c0a58bf54e190956cb9a560bb5036974/third_party/WebKit/LayoutTests/http/tests/serviceworker/skip-waiting-using-registration.html
[delete] https://crrev.com/ae70e708c0a58bf54e190956cb9a560bb5036974/third_party/WebKit/LayoutTests/http/tests/serviceworker/skip-waiting-without-client.html
[delete] https://crrev.com/ae70e708c0a58bf54e190956cb9a560bb5036974/third_party/WebKit/LayoutTests/http/tests/serviceworker/skip-waiting-without-using-registration.html
[delete] https://crrev.com/ae70e708c0a58bf54e190956cb9a560bb5036974/third_party/WebKit/LayoutTests/http/tests/serviceworker/skip-waiting.html

Comment 53 by bugdroid1@chromium.org, May 30 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/04cdcb87fc9391957c0b08aec388f881e0d0d94c

commit 04cdcb87fc9391957c0b08aec388f881e0d0d94c
Author: mike <mike@mikepennisi.com>
Date: Tue May 30 02:18:22 2017

Upstream service worker "statechange" tests to WPT

**state**

This test exists in equivalent forms in both the Web Platform Tests
project and in the Chromium project. Remove the Chromium version of the
test.

**synced-state**

This test exists in both WPT and the Chromium project tree. The WPT
version is slightly weaker because it accounts for a condition that is
not possible according to the latest version of the Service Workers
specification [1].

> # Install
>
> [...]
>
> 16. Run the Update Registration State algorithm passing registration,
>     "waiting" and registration’s installing worker as the arguments.
> 17. Run the Update Registration State algorithm passing registration,
>     "installing" and null as the arguments.
> 18. Run the Update Worker State algorithm passing registration’s
>     waiting worker and installed as the arguments.
> 19. Invoke Finish Job with job.
> 20. Wait for all the tasks queued by Update Worker State invoked in
>     this algorithm have executed.
> 21. Invoke Try Activate with registration.

Due to step 20, worker activation does not occur until all prior tasks
(which includes microtasks such as the Promise handler microtask created
in the test's body) have executed.

Remove the conditional logic from the WPT version. Ensure
de-registration takes place regardless of test outcome. Ensure failure
does not cause test timeout. Add a 'use strict' directive. Remove the
Chromium version of the test.

[1] https://w3c.github.io/ServiceWorker/#installation-algorithm
    retrieved on 17.05.24

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2899343003
Cr-Commit-Position: refs/heads/master@{#475404}

[modify] https://crrev.com/04cdcb87fc9391957c0b08aec388f881e0d0d94c/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/synced-state.https.html
[delete] https://crrev.com/b6c527525ecceb571644520ba7e907f88afbce7c/third_party/WebKit/LayoutTests/http/tests/serviceworker/state.html
[delete] https://crrev.com/b6c527525ecceb571644520ba7e907f88afbce7c/third_party/WebKit/LayoutTests/http/tests/serviceworker/synced-state.html

Comment 54 by bugdroid1@chromium.org, May 30 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d677eb1d7292c42d3902f28e2add76e9c65684d

commit 4d677eb1d7292c42d3902f28e2add76e9c65684d
Author: mike <mike@mikepennisi.com>
Date: Tue May 30 02:53:25 2017

Upstream service wrkr "window client" test to WPT

Re-locate test files to Web Platform Test directory for eventual
automated upstreaming.

The original version of this test registered a handler for the service
worker's "install" event after initial evaluation. Because this practice
is discouraged by the specification, it should be avoided. Re-factor the
test to immediately register the event handler and to preserve the
necessary behavior through an explicit message channel with the client.

Add a "use strict" directive to script bodies. Introduce a variable
declaration for a previously-undeclared binding. Correct a typo in an
error message. Ensure that each sub-test's asynchronous "cleanup" logic
is complete prior to advancing to the next sub-test.

BUG=688116
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2906963002
Cr-Commit-Position: refs/heads/master@{#475409}

[add] https://crrev.com/4d677eb1d7292c42d3902f28e2add76e9c65684d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/windowclient-navigate-worker.js
[add] https://crrev.com/4d677eb1d7292c42d3902f28e2add76e9c65684d/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/windowclient-navigate.https.html
[delete] https://crrev.com/338bf607d38c8a0ace9dd2e0480cad386af2dc4e/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/windowclient-navigate-worker.js
[delete] https://crrev.com/338bf607d38c8a0ace9dd2e0480cad386af2dc4e/third_party/WebKit/LayoutTests/http/tests/serviceworker/windowclient-navigate.html

Comment 55 by bugdroid1@chromium.org, May 30 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b72cc4fb1f44b3c5944962b7984850cba88188c7

commit b72cc4fb1f44b3c5944962b7984850cba88188c7
Author: mike <mike@mikepennisi.com>
Date: Tue May 30 15:45:21 2017

Upstream service wrkr "HTTP to HTTPS" tests to WPT

**http-to-https-redirect-and-register**

The Web Platform Tests project's infrastructure can only provide secure
contexts through the use of the HTTPS protocol. This restriction
precludes the strategy used by this test because an HTTPS-origin page
cannot load an HTTP-origin iframe.

Introduce a related test that may run in the WPT infrastructure: one
that creates browsing contexts via `window.open`. Update the surrounding
logic to accomodate this alteration. Additionally, update URLs to
suitable values for the WPT project, using the `base_path` utility
function as per convention there.

Because the new version differs substantially, the original version
cannot be removed without decreasing test coverage. Persist the original
version of the test within the Chromium project, and document the
rational for doing so.

Update both versions to include "use strict" directives for all script
bodies and to avoid including unnecessary script resources.

BUG=688116, 522900
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2911073002
Cr-Commit-Position: refs/heads/master@{#475538}

[add] https://crrev.com/b72cc4fb1f44b3c5944962b7984850cba88188c7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/http-to-https-redirect-and-register.https.html
[add] https://crrev.com/b72cc4fb1f44b3c5944962b7984850cba88188c7/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/http-to-https-redirect-and-register-iframe.html
[rename] https://crrev.com/b72cc4fb1f44b3c5944962b7984850cba88188c7/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium.http-to-https-redirect-and-register-iframe.html
[modify] https://crrev.com/b72cc4fb1f44b3c5944962b7984850cba88188c7/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/register.html

Comment 56 by bugdroid1@chromium.org, May 31 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/35aa2825fa9b58a5f89b53e4a730bd2327cb108b

commit 35aa2825fa9b58a5f89b53e4a730bd2327cb108b
Author: mike <mike@mikepennisi.com>
Date: Wed May 31 23:14:39 2017

Upstream service worker indexedDB tests to WPT

The Web Platform Tests project includes a version that is roughly
equivalent, but it does not explicitly extend the lifetime of the
"message" event handler. Introduce this logic in the upstream version to
discourage worker termination.

Introduce additional improvements not previously implemented by either version:

- Schedule promise rejection in response to failed IndexedDB operations in
  order to improve reporting under failure conditions.
- Consistently destroy database following test execution

Remove the Chromium-specific version of this test.

BUG=688116
R=mek@chromium.org

Review-Url: https://codereview.chromium.org/2867573002
Cr-Commit-Position: refs/heads/master@{#476082}

[modify] https://crrev.com/35aa2825fa9b58a5f89b53e4a730bd2327cb108b/third_party/WebKit/LayoutTests/FlagExpectations/enable-network-service
[modify] https://crrev.com/35aa2825fa9b58a5f89b53e4a730bd2327cb108b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/indexeddb.https.html
[modify] https://crrev.com/35aa2825fa9b58a5f89b53e4a730bd2327cb108b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/indexeddb-worker.js
[delete] https://crrev.com/cb36afa5925c2971e27b9653802a74264d76fa2b/third_party/WebKit/LayoutTests/http/tests/serviceworker/indexeddb.html
[delete] https://crrev.com/cb36afa5925c2971e27b9653802a74264d76fa2b/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/indexeddb-worker.js

Comment 57 by bugdroid1@chromium.org, Jun 1 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7fdac9fc2a776ad2ed4c3df752896e0f33861b69

commit 7fdac9fc2a776ad2ed4c3df752896e0f33861b69
Author: mike <mike@mikepennisi.com>
Date: Thu Jun 01 16:44:45 2017

Upstream service worker "XHR" test to WPT

The original version of this test would only pass if the service worker
did *not* intercept the XHR request. That behavior conflicted with the
Fetch and Service Worker specification and with the test's documentation
itself. Update the test to pass only if the service worker intercepts
the request.

In addition:

- Update URLs to suitable values for the Web Platform Tests project
- Add "use strict" directives to script bodies
- Increase precision of "cleanup" logic scheduling
- Re-name files to adhere to precent set by existing WPT tests
- Catch and report errors within Promise chain rather than relying on
  implicit reporting of uncaught errors.

BUG=688116, 602051
R=falken@chromium.org

Review-Url: https://codereview.chromium.org/2907443002
Cr-Commit-Position: refs/heads/master@{#476324}

[modify] https://crrev.com/7fdac9fc2a776ad2ed4c3df752896e0f33861b69/third_party/WebKit/LayoutTests/FlagExpectations/enable-network-service
[add] https://crrev.com/7fdac9fc2a776ad2ed4c3df752896e0f33861b69/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr-sync.https-expected.txt
[add] https://crrev.com/7fdac9fc2a776ad2ed4c3df752896e0f33861b69/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr-sync.https.html
[add] https://crrev.com/7fdac9fc2a776ad2ed4c3df752896e0f33861b69/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-sync-iframe.html
[add] https://crrev.com/7fdac9fc2a776ad2ed4c3df752896e0f33861b69/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-sync-worker.js
[delete] https://crrev.com/1704affd92a33a48072fa0dfb0a63af1853a493a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/sync-xhr-doesnt-deadlock-iframe.html
[delete] https://crrev.com/1704affd92a33a48072fa0dfb0a63af1853a493a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/sync-xhr-doesnt-deadlock.data
[delete] https://crrev.com/1704affd92a33a48072fa0dfb0a63af1853a493a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/sync-xhr-doesnt-deadlock.js
[delete] https://crrev.com/1704affd92a33a48072fa0dfb0a63af1853a493a/third_party/WebKit/LayoutTests/http/tests/serviceworker/sync-xhr-doesnt-deadlock-expected.txt
[delete] https://crrev.com/1704affd92a33a48072fa0dfb0a63af1853a493a/third_party/WebKit/LayoutTests/http/tests/serviceworker/sync-xhr-doesnt-deadlock.html

Comment 58 by m...@mikepennisi.com, Jun 6 2017

Hey Matt,

Of the seven remaining tests, the following five would benefit from using
IndexedDB as a worker-client messaging channel:

- ServiceWorkerGlobalScope/registration-attribute.html [1]
- ServiceWorkerGlobalScope/unregister.html [2]
- ServiceWorkerGlobalScope/update.html [3]
- websocket/websocket-in-service-worker.html [4]
- waiting.html [5]

Because this same pattern would help improve existing WPT tests (by allowing us
to reduce reliance on global worker state), I've written a small library to
limit duplication. There has been reluctance to merge that patch [6], and
although the reasoning isn't clear, I suspect it's due to the cognitive
overhead of any test-specific library code.

I could use your input on the best way to proceed. Should I just be patient and
continue to advocate for the library? (If so, could you say as much on the pull
request thread?) Or do you think it's time to bite the bullet and migrate each
test with a bit of duplicated code?

[1] https://chromium.googlesource.com/chromium/src/+/9f34e33cccb12917a71c2c3b6ec1077db28fbbdd/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/registration-attribute.html
[2] https://chromium.googlesource.com/chromium/src/+/9f34e33cccb12917a71c2c3b6ec1077db28fbbdd/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/unregister.html
[3] https://chromium.googlesource.com/chromium/src/+/9f34e33cccb12917a71c2c3b6ec1077db28fbbdd/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/update.html
[4] https://chromium.googlesource.com/chromium/src/+/9f34e33cccb12917a71c2c3b6ec1077db28fbbdd/third_party/WebKit/LayoutTests/http/tests/serviceworker/websocket/websocket-in-service-worker.html
[5] https://chromium.googlesource.com/chromium/src/+/9f34e33cccb12917a71c2c3b6ec1077db28fbbdd/third_party/WebKit/LayoutTests/http/tests/serviceworker/waiting.html
[6] https://github.com/w3c/web-platform-tests/pull/5206

Comment 59 by falken@chromium.org, Jun 8 2017

Hey, sorry that I haven't read up on the entire discussion. Thanks for being thorough about adhering to the spec. I would have to read the tests to form a stronger opinion, but my gut feeling is indexeddb is a bit of overkill and just relying on global state isn't so bad. Is it possible to re-architect some of the tests to not rely on global state?

Comment 60 by m...@mikepennisi.com, Jun 21 2017

I mentioned this in the GitHub.com pull request, but one alternative to using
IndexedDB would be to send event data from the worker to the client via the
`clients` interface. This might be simpler in some ways, but I'm reluctant to
use the Service Worker API to test the Service Worker API.

But I'm also reluctant to upstream tests that are known to have a race
condition, however rare expression of the race might be today. Do you have any
ideas for ways we could express these tests both safely *and* simply?

(Sorry for the delayed response, by the way; it looks like I'm not receiving
e-mail notifications for comments on this issue.)

Comment 61 by bugdroid1@chromium.org, Aug 4 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f

commit f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f
Author: Matt Falkenhagen <falken@chromium.org>
Date: Fri Aug 04 23:21:09 2017

Upstream service worker prototype test to WPT

Original patch by mike@mikepennisi.com at https://codereview.chromium.org/2933913002/
Updated with new test expectations only.

Original CL description follows:

Recent improvements to the Web Platform Test's `idlharness.js` utility
introduced tests for immutable prototype objects [1] [2].

Update WPT's existing interface tests (and Chromium "expectations"
files) to use `idlharness.js` and remove the Service-Worker-specific
`interfaces.js` utility (which is far less thorough). Refactor tests
across two files to avoid duplicating sub-test names within the same
test.

[1] https://github.com/w3c/web-platform-tests/commit/55f606ec31b88e7ab7689c2ab3e630cfd2348fae
[2] https://github.com/w3c/web-platform-tests/commit/13b0e2d8d609603b0230ba950404ea21c149f0db

BUG=688116

TBR=yukishiino as it was reviewed on https://codereview.chromium.org/2933913002/

Change-Id: Ic75c68e7a9daafda5d6f00b2bd1bc8ed318fe907
Reviewed-on: https://chromium-review.googlesource.com/598829
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492168}
[modify] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/close-worker.js
[rename] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/immutable-prototype-serviceworker.https.html
[add] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-sw.https-expected.txt
[add] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-sw.https.html
[add] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-window.https-expected.txt
[add] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-window.https.html
[delete] https://crrev.com/c69cf190e88350c1555817fd62dc8a10886d8350/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces.https-expected.txt
[delete] https://crrev.com/c69cf190e88350c1555817fd62dc8a10886d8350/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces.https.html
[rename] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/immutable-prototype-serviceworker.js
[add] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-idls.js
[modify] https://crrev.com/f89e39b05ba3e25aa9e53b5ac28963f50e7bf47f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-worker.sub.js
[delete] https://crrev.com/c69cf190e88350c1555817fd62dc8a10886d8350/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces.js

Comment 62 by falken@chromium.org, Aug 4 2017

#60: sorry Mike, I missed your comment until just now. I'll take a closer look when we try to upstream the remaining tests.

Comment 63 by m...@mikepennisi.com, Aug 5 2017

No worries, Matt. Thanks for getting back to me.

Comment 64 by falken@chromium.org, Oct 10 2017

Cc: nhiroki@chromium.org
Issue 558244 has been merged into this issue.

Comment 66 by bugdroid1@chromium.org, Nov 3 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8033b7be1537b7b851b9cca319dcdbeb6cfbe61f

commit 8033b7be1537b7b851b9cca319dcdbeb6cfbe61f
Author: Matt Falkenhagen <falken@chromium.org>
Date: Fri Nov 03 22:08:20 2017

service worker: Remove unregister.html test that is already in WPT.

This test is nearly identical to unregister.https.html. The only differences
are the test uses waitUntil() in the message event and it uses a non-existent
page for a scope instead of a blank page. Remove unregister.html and add
waitUntil() calls to unregister.https.html.

Bug: 452910, 688116
Change-Id: I41c42ae090837eceaf90d3b3c7c4f6383c4ef821
Reviewed-on: https://chromium-review.googlesource.com/753202
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513927}
[modify] https://crrev.com/8033b7be1537b7b851b9cca319dcdbeb6cfbe61f/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/unregister-worker.js
[delete] https://crrev.com/7e48597ca845814c9bba50234cb749cfdc8374e3/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/unregister-worker.js
[delete] https://crrev.com/7e48597ca845814c9bba50234cb749cfdc8374e3/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/unregister.html

Comment 67 by bugdroid1@chromium.org, Nov 6 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/52da969019c65c69a47546a5f31445852b1d0e73

commit 52da969019c65c69a47546a5f31445852b1d0e73
Author: Matt Falkenhagen <falken@chromium.org>
Date: Mon Nov 06 19:59:14 2017

service worker: Upstream changes to registration-attribute.html

This test diverged slightly from the WPT test. Merge the changes in and
remove the chromium version.

Bug: 437677, 557551, 688116
Change-Id: Id3d06fef9e2d577987f268009c25619cff004966
Reviewed-on: https://chromium-review.googlesource.com/754461
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514215}
[modify] https://crrev.com/52da969019c65c69a47546a5f31445852b1d0e73/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/52da969019c65c69a47546a5f31445852b1d0e73/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html
[rename] https://crrev.com/52da969019c65c69a47546a5f31445852b1d0e73/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/registration-attribute-newer-worker.js
[modify] https://crrev.com/52da969019c65c69a47546a5f31445852b1d0e73/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/resources/registration-attribute-worker.js
[delete] https://crrev.com/ed84a8aeabdf334cfd6007a9e6b9449c7d52e4f1/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/registration-attribute.html
[delete] https://crrev.com/ed84a8aeabdf334cfd6007a9e6b9449c7d52e4f1/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/registration-attribute-worker.js

Comment 68 by bugdroid1@chromium.org, Nov 6 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e1c19f1ff90ee8703222f00a0dc5feb8bbcba4b9

commit e1c19f1ff90ee8703222f00a0dc5feb8bbcba4b9
Author: Matt Falkenhagen <falken@chromium.org>
Date: Mon Nov 06 23:12:51 2017

service worker: Remove unused resources/ files in http/tests/serviceworker

These were probably resources for tests that have been upstreamed to WPT
and removed.

Bug: 688116
Change-Id: Id9c08e2297b6c00c303f41734f9edeb9211c3749
Reviewed-on: https://chromium-review.googlesource.com/754243
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514279}
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/clients-get-frame.html
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/clients-matchall-client-types-shared-worker.js
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/extendable-event-async-waituntil.js
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-event-after-navigation-within-page-iframe.html
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-css-base-url-iframe.html
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-css-base-url-style.css
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-resources-iframe.html
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-resources-worker.js
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-xhr-iframe.html
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-response-xhr-iframe.html
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/frame-for-getregistrations.html
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/invalid-chunked-encoding-with-flush.php
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/mint-new-worker.php
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/oninstall-throw-error-from-nested-event-worker.js
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/oninstall-throw-error-then-cancel-worker.js
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/oninstall-throw-error-then-prevent-default-worker.js
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/oninstall-throw-error-with-empty-onerror-worker.js
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/oninstall-throw-error-worker.js
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/progressive.php
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/reply-to-message.html
[delete] https://crrev.com/7137772545d02aafc21f3d560c6fb2406b699cb3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/simple-intercept-worker.js

Comment 69 by bugdroid1@chromium.org, Nov 7 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8bd1736e25ad74b82871d7fb5bae99306dac9113

commit 8bd1736e25ad74b82871d7fb5bae99306dac9113
Author: Matt Falkenhagen <falken@chromium.org>
Date: Tue Nov 07 00:36:31 2017

service worker: Replace XHR tests with a test in interfaces-sw.https.html

This removes Chromium's xhr-is-not-exposed.html and WPT's xhr.https.html,
replacing them with a simple test in interfaces-sw.https.html.

xhr-is-not-exposed.html was from https://crbug.com/395931
xhr.https.html was from https://bugzilla.mozilla.org/show_bug.cgi?id=931243

Bug: 395931, 688116
Change-Id: I5315bd9e6c0f0fc117ab7924da908a002dda5203
Reviewed-on: https://chromium-review.googlesource.com/755882
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514321}
[modify] https://crrev.com/8bd1736e25ad74b82871d7fb5bae99306dac9113/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-sw.https-expected.txt
[modify] https://crrev.com/8bd1736e25ad74b82871d7fb5bae99306dac9113/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/interfaces-worker.sub.js
[delete] https://crrev.com/e20a3faec1761a6d3d9e12cba0f942ea8cba36d8/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/xhr.js
[delete] https://crrev.com/e20a3faec1761a6d3d9e12cba0f942ea8cba36d8/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/xhr.https.html
[delete] https://crrev.com/e20a3faec1761a6d3d9e12cba0f942ea8cba36d8/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/xhr-is-not-exposed-to-service-workers-expected.txt
[delete] https://crrev.com/e20a3faec1761a6d3d9e12cba0f942ea8cba36d8/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/xhr-is-not-exposed-to-service-workers.html

Comment 70 by bugdroid1@chromium.org, Nov 7 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9ddecf04a93bdfdc24464e460b61515a3e349052

commit 9ddecf04a93bdfdc24464e460b61515a3e349052
Author: Matt Falkenhagen <falken@chromium.org>
Date: Tue Nov 07 00:38:33 2017

service worker: Upstream and cleanup waiting.https.html.

The WPT and Chromium versions diverged. The WPT version was testing
something looser than today's spec requires. In today's spec, the
Install algorithm has steps in this order:
- Run the Update Registration State algorithm passing registration, "waiting"
  and registration’s installing worker as the arguments.
- Run the Update Registration State algorithm passing registration,
  "installing" and null as the arguments.
- Run the Update Worker State algorithm passing registration’s waiting worker
  and installed as the arguments.
- Wait for all the tasks queued by Update Worker State invoked in this
algorithm have executed.

So when the worker reaches 'installed' state, registration.installing
should be null and registration.waiting should be set. Furthermore, activation
has not yet occurred, so registration.active should be null.

Change the test to assert this and also modernize it by making it a
promise_test; and remove the Chromium version.

Bug: 379012, 688116
Change-Id: I6a51b3dfb014658eba7734f26b89cb158d070541
Reviewed-on: https://chromium-review.googlesource.com/755394
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514323}
[modify] https://crrev.com/9ddecf04a93bdfdc24464e460b61515a3e349052/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/waiting.https.html
[delete] https://crrev.com/41539671102ef65148f07d72ddb89b3be24ec787/third_party/WebKit/LayoutTests/http/tests/serviceworker/waiting.html

Comment 71 by bugdroid1@chromium.org, Nov 8 2017

Project Member

Comment 72 by bugdroid1@chromium.org, Nov 9 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/237056311110485b348bcb4f10648dea3b6a81e8

commit 237056311110485b348bcb4f10648dea3b6a81e8
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Nov 09 00:22:27 2017

service worker: Upstream sandboxed iframe test to WPT.

This test is a fine subject matter for WPT.

Bug: 486308, 688116
Change-Id: I91d8484286094c695fe2219f0c017e25e8bfd34c
Reviewed-on: https://chromium-review.googlesource.com/759168
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515030}
[rename] https://crrev.com/237056311110485b348bcb4f10648dea3b6a81e8/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/sandboxed-iframe-fetch-event-iframe.html
[rename] https://crrev.com/237056311110485b348bcb4f10648dea3b6a81e8/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/sandboxed-iframe-fetch-event-worker.js
[modify] https://crrev.com/237056311110485b348bcb4f10648dea3b6a81e8/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/test-helpers.sub.js
[add] https://crrev.com/237056311110485b348bcb4f10648dea3b6a81e8/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/sandboxed-iframe-fetch-event.https.html
[delete] https://crrev.com/8cf249895a6631fd5203f4e2d3dc487e68ec6346/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/sandboxed-iframe-fetch-event.html

Comment 73 by bugdroid1@chromium.org, Nov 9 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/194e15e332e1af79dfe4813d1e0c1c36d1f17d95

commit 194e15e332e1af79dfe4813d1e0c1c36d1f17d95
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Nov 09 02:44:42 2017

service worker: Expand and upstream tests on detached contexts.

This upstreams service worker tests:
chromium/extendable-message-event.html
chromium/unregister-on-detached-iframe.html

These tests are useful as a WPT as it tests web-exposed behavior.

Expand the tests and upstream them as detached-context.https.html.

Bug: 688116, 603817, 543198
Change-Id: I2b9798e19a1b1ec76d9a4472f412acb324a50e0c
Reviewed-on: https://chromium-review.googlesource.com/759136
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515070}
[add] https://crrev.com/194e15e332e1af79dfe4813d1e0c1c36d1f17d95/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/detached-context.https.html
[delete] https://crrev.com/a9de482718f2f065ebd47963ca3d82485a7a4833/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/extendable-message-event.html
[delete] https://crrev.com/a9de482718f2f065ebd47963ca3d82485a7a4833/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/unregister-on-detached-iframe.html

Comment 74 by bugdroid1@chromium.org, Nov 9 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8af846a42f5d526148e97385ecdcc35184e08b45

commit 8af846a42f5d526148e97385ecdcc35184e08b45
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Nov 09 11:00:38 2017

service worker: Upstream frame removal/detached tests.

This expands and upstreams:
* chromium/frame-detached-by-navigation.html
* chromium/frame-removed.html

Chromium behavior seems a bit weird but for now upload the WPT
to get the test visible, and we can refine the expectations later.

Bug: 713732, 522791, 688116
Change-Id: I4af7fb668f9ef2e4aaff580ba129e6ae353f0e18
Reviewed-on: https://chromium-review.googlesource.com/760061
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515134}
[modify] https://crrev.com/8af846a42f5d526148e97385ecdcc35184e08b45/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/8af846a42f5d526148e97385ecdcc35184e08b45/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/8af846a42f5d526148e97385ecdcc35184e08b45/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/detached-context.https.html
[delete] https://crrev.com/bd4e3a9b4d6469e2e191747bb00c3779d9d46e10/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/frame-detached-by-navigation.html
[delete] https://crrev.com/bd4e3a9b4d6469e2e191747bb00c3779d9d46e10/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/frame-removed.html

Comment 75 by bugdroid1@chromium.org, Nov 9 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d3a1dace85586cb7ca5611f66e7287cd72c4cc9d

commit d3a1dace85586cb7ca5611f66e7287cd72c4cc9d
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Nov 09 20:23:57 2017

service worker: Improve test respond-with-body-accessed-response.html

This is in preparation for upstreaming to WPT for easier reviewing.
* Use promise_test for the different test cases.
* Other minor cleanups.

Bug: 446188, 688116
Change-Id: I9905b904da538e2cfe7bd84d18b88d24057f064b
Reviewed-on: https://chromium-review.googlesource.com/760387
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515264}
[modify] https://crrev.com/d3a1dace85586cb7ca5611f66e7287cd72c4cc9d/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/respond-with-body-accessed-response-iframe.html
[modify] https://crrev.com/d3a1dace85586cb7ca5611f66e7287cd72c4cc9d/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/respond-with-body-accessed-response-worker.js
[modify] https://crrev.com/d3a1dace85586cb7ca5611f66e7287cd72c4cc9d/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/respond-with-body-accessed-response.html

Comment 76 by bugdroid1@chromium.org, Nov 9 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e46e0f31b83d24f05a74b6144237770c8e06e613

commit e46e0f31b83d24f05a74b6144237770c8e06e613
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Nov 09 23:04:29 2017

service worker: Upstream respond-with-body-accessed-response.html to WPT

This is testing web-exposed behavior. The test had a comment that
Response.body is still being specced, and now it is specced.

Bug: 446188, 688116
Change-Id: I4d725b9172389ad675404a817d81c321cdef13d0
Reviewed-on: https://chromium-review.googlesource.com/760496
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515336}
[rename] https://crrev.com/e46e0f31b83d24f05a74b6144237770c8e06e613/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/respond-with-body-accessed-response-iframe.html
[rename] https://crrev.com/e46e0f31b83d24f05a74b6144237770c8e06e613/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/respond-with-body-accessed-response-worker.js
[rename] https://crrev.com/e46e0f31b83d24f05a74b6144237770c8e06e613/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/respond-with-body-accessed-response.jsonp
[rename] https://crrev.com/e46e0f31b83d24f05a74b6144237770c8e06e613/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/respond-with-body-accessed-response.https.html

Comment 77 by bugdroid1@chromium.org, Nov 13 2017

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f6067d2cfe7b41ce57655b84ae89467538d290ae

commit f6067d2cfe7b41ce57655b84ae89467538d290ae
Author: Matt Falkenhagen <falken@chromium.org>
Date: Mon Nov 13 02:42:58 2017

service worker: Prepare sandboxed-iframe-navigator-serviceworker.html for upstreaming

To help reviewing this patch first changes the test and another one will
move it to external/wpt.

The subject matter seems fine for WPT although the final promise_test was
intended as just a crash test and Chromium's behavior is not totally
matching the spec. I wrote the expectation according to my interpretation
of the spec and nhiroki's TODO.

Bug: 688116, 532855, 486308
Change-Id: Ia6b9b178c21691a1abca3c60c7fc38ee86ea0989
Reviewed-on: https://chromium-review.googlesource.com/761270
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515878}
[modify] https://crrev.com/f6067d2cfe7b41ce57655b84ae89467538d290ae/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/sandboxed-iframe-navigator-serviceworker-iframe.html
[add] https://crrev.com/f6067d2cfe7b41ce57655b84ae89467538d290ae/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/sandboxed-iframe-navigator-serviceworker-expected.txt
[modify] https://crrev.com/f6067d2cfe7b41ce57655b84ae89467538d290ae/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/sandboxed-iframe-navigator-serviceworker.html

Comment 79 by bugdroid1@chromium.org, Apr 20 2018

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/197b0cd027d15754e48dce24add9a785cbd72e3a

commit 197b0cd027d15754e48dce24add9a785cbd72e3a
Author: Matt Falkenhagen <falken@chromium.org>
Date: Fri Apr 20 02:14:12 2018

service worker: Remove "chromium" names from http/tests/serviceworker

The entire directory is all non-upstreamable tests now, so we don't need
"chromium" anymore. We had some file names prefixed with "chromium." and
subdirectories called "chromium". This was making some relative paths
complicated and and was confusing when some files had the prefix and
some didn't.

Bug: 688116
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: I873cee47baa0338f57af8c6d4b90caac7fdd3c04
Reviewed-on: https://chromium-review.googlesource.com/1020480
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552233}
[modify] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/LeakExpectations
[modify] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/SlowTests
[modify] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/README.md
[delete] https://crrev.com/e2c1314045b9ec07100d46c4c4902d0e852cc436/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/README.txt
[delete] https://crrev.com/e2c1314045b9ec07100d46c4c4902d0e852cc436/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/fetch-error-messages.html
[delete] https://crrev.com/e2c1314045b9ec07100d46c4c4902d0e852cc436/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/blank.html
[delete] https://crrev.com/e2c1314045b9ec07100d46c4c4902d0e852cc436/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/empty-worker.js
[delete] https://crrev.com/e2c1314045b9ec07100d46c4c4902d0e852cc436/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/redirect.php
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/claim-with-redirect.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/clients-openwindow.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/csp-fetch-from-installed-service-worker-connect.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/csp-fetch-from-installed-service-worker-default.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/csp-fetch-from-installed-service-worker-script.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/css-import-crash.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/dynamic-import.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-canvas-tainting.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-cors-xhr.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-csp-expected.txt
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-csp.html
[add] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-error-messages.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-event-headers.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-event-synthetic-respond-with.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-request-with-gc.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-script-onerror-expected.txt
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/fetch-script-onerror.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/force-refresh-ready.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/force-refresh-registration.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/http-to-https-redirect-and-register-iframe.html
[modify] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/insecure-parent-frame.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/invalid-code-cache.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/load-flushed-script.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/memory-cache.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/navigation-preload-after-gc.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/navigation-preload-gc-before-response.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/navigation-preload-resource-timing.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/preload-response-after-gc.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/resources/navigation-preload-after-gc-scope.php
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/resources/navigation-preload-after-gc-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/resources/navigation-preload-gc-before-response-scope.php
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/resources/navigation-preload-gc-before-response-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/resources/navigation-preload-resource-timing-scope.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/resources/navigation-preload-resource-timing-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/resources/preload-response-after-gc-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/resources/worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation_preload/use-counter.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/no-filesystem.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/notificationclick-can-focus.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/notificationclick-can-openwindow.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/performance-timeline.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/postmessage-after-terminate.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/postmessage-cross-process.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/redirected-response.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/register-different-script-many-times.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/register-error-messages.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/register-wait-forever-in-install-worker.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/registration-stress.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/request-body-blob-crash.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/request-end-to-end.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resolve-after-window-close-expected.txt
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resolve-after-window-close.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/claim-with-redirect-iframe.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/clients-openwindow.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/css-import-crash-iframe.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/css-import-crash-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/css-import-crash.css
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/dynamic-import-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/feature-worker.js
[modify] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-canvas-tainting-iframe.html
[modify] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-cors-xhr-iframe.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-error-messages-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-event-synthetic-respond-with-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-with-gc-iframe.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-request-with-gc.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-script-onerror-iframe.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-script-onerror-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-script-onerror.php
[modify] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/insecure-parent.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/load-flushed-script.php
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/memory-cache-controlled.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/memory-cache-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/memory-cache.jsonp
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/no-filesystem.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/notificationclick-can-focus.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/notificationclick-can-openwindow.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/ping-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/postmessage-cross-process-helper.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/postmessage-cross-process-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/postmessage-port-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/postmessage-worker.js
[modify] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/referer-iframe.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/request-body-blob-crash-iframe.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/request-body-blob-crash-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/resolve-after-window-close.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/respondwith-fetch-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/service-worker-allowed-worker.php
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/service-worker-mixed-response-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/service-worker-mixed-response.php
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/slow-fetch-and-stop-worker-iframe.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/slow-response.php
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/stop-worker-with-pending-fetch.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/sw-test-helpers.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/update-claim-worker.php
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/use-isReload-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/usecounter-fetch-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/usecounter-window.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/usecounter-worker.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/usecounter.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/window-close-during-registration.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/windowclient-focus.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/windowclient-focus.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/xhr-is-not-exposed-to-service-workers.js
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/service-worker-allowed.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/service-worker-gc-expected.txt
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/service-worker-gc.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/service-worker-mixed-response.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/stop-worker-during-respond-with.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/stop-worker-with-pending-fetch.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/update-served-from-cache.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/url-limits.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/usecounter-fetch.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/usecounter-on-claim.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/usecounter-on-load.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/usecounter-on-reload.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/usecounter.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/window-close-during-registration-expected.txt
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/window-close-during-registration.html
[rename] https://crrev.com/197b0cd027d15754e48dce24add9a785cbd72e3a/third_party/WebKit/LayoutTests/http/tests/serviceworker/windowclient-focus.html

Comment 80 by bugdroid1@chromium.org, Apr 23 2018

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ee071fc361982e8c134910929ae437861929c26

commit 7ee071fc361982e8c134910929ae437861929c26
Author: Matt Falkenhagen <falken@chromium.org>
Date: Mon Apr 23 05:18:31 2018

service worker: Upstream Service-Worker-Allowed test to WPT.

Also add test cases for Service-Worker-Allowed header values that are
absolute URLs.

Currently Chrome accepts SWA header values that are cross-origin to the
script URL since it seems to only care about the path of the URL. It
seems strange but that seems to agree with the spec:
https://github.com/w3c/ServiceWorker/issues/1307

Bug: 688116
Change-Id: I6dca55ea8525803efd2e55bf4166c863d62d31fa
Reviewed-on: https://chromium-review.googlesource.com/1023672
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552639}
[add] https://crrev.com/7ee071fc361982e8c134910929ae437861929c26/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/Service-Worker-Allowed-header.https.html
[delete] https://crrev.com/90504eab44d2738b818ece47e056b0341e468bd3/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/service-worker-allowed-worker.php
[delete] https://crrev.com/90504eab44d2738b818ece47e056b0341e468bd3/third_party/WebKit/LayoutTests/http/tests/serviceworker/service-worker-allowed.html

Comment 81 by falken@chromium.org, Apr 23 2018

Labels: -Type-Bug Type-Task
Status: Fixed (was: Assigned)
I'll declare this issue fixed. We started with 162 test files when this issue was created and now have 56, so over 100 test files were upstreamed (i.e., removed, merged, or upstreamed).

A big thank you to Mike Pennisi for doing the bulk of the work.

What's remaining in http/tests/serviceworker is described in the README:
(1) Tests needed because Chrome fails the corresponding WPT test.
(2) Tests of very implementation-specific behavior.
(3) Tests that require Internals API.

There is one test insecure-parent-frame.html that should be upstreamed but it was difficult.

Comment 82 by m...@mikepennisi.com, Apr 23 2018

My pleasure! Thanks to you and Mek for all the code review and also to Rick Byers for coordinating!

Comment 83 by bugdroid1@chromium.org, Dec 11

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/304d00ba30545c8ccdcc6725648a2e406d57aa1f

commit 304d00ba30545c8ccdcc6725648a2e406d57aa1f
Author: Matt Falkenhagen <falken@chromium.org>
Date: Tue Dec 11 05:49:23 2018

service worker: Remove fetch-* http tests redundant with WPT tests.

Remove the following tests:
- fetch-canvas-tainting.html
- fetch-cors-xhr.html
- fetch-csp.html

These are redundant with corresponding WPT tests. They previously could
not be removed without losing test coverage because the WPT tests were
being skipped due to time outs, see
https://codereview.chromium.org/2805313003/. But those WPT tests are now
passing. A small exception is the WPT fetch-canvas-tainting* tests
flakily timeout, but they are still enabled and mostly passing so we
won't lose test coverage.

These tests were originally written at r179595 and upstreamed to WPT
at https://github.com/web-platform-tests/wpt/commit/b2e3ab765e26436850208dbdcf747c3be75b1999.

Bug: 688116, 373120
Change-Id: Ic2dc2ddc322aae89b1e06e5a16b1ed8c30265d00
Reviewed-on: https://chromium-review.googlesource.com/c/1370236
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615440}
[delete] https://crrev.com/3c3a6bf89f098f528d1af34f94c85d6dec60a367/third_party/blink/web_tests/http/tests/serviceworker/fetch-canvas-tainting.html
[delete] https://crrev.com/3c3a6bf89f098f528d1af34f94c85d6dec60a367/third_party/blink/web_tests/http/tests/serviceworker/fetch-cors-xhr.html
[delete] https://crrev.com/3c3a6bf89f098f528d1af34f94c85d6dec60a367/third_party/blink/web_tests/http/tests/serviceworker/fetch-csp-expected.txt
[delete] https://crrev.com/3c3a6bf89f098f528d1af34f94c85d6dec60a367/third_party/blink/web_tests/http/tests/serviceworker/fetch-csp.html
[delete] https://crrev.com/3c3a6bf89f098f528d1af34f94c85d6dec60a367/third_party/blink/web_tests/http/tests/serviceworker/resources/fetch-canvas-tainting-iframe.html
[delete] https://crrev.com/3c3a6bf89f098f528d1af34f94c85d6dec60a367/third_party/blink/web_tests/http/tests/serviceworker/resources/fetch-cors-xhr-iframe.html
[delete] https://crrev.com/3c3a6bf89f098f528d1af34f94c85d6dec60a367/third_party/blink/web_tests/http/tests/serviceworker/resources/fetch-csp-iframe.html

Sign in to add a comment