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}
4 files changed