<!DOCTYPE html>
<html>
<title>Service Workers: event.waitUntil(f)</title>
    <head>
        <link rel="help" href="https://w3c.github.io/ServiceWorker/#wait-until-method">
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>

    </head>
    <body>

<!--

`event.waitUntil(f)` method, when called in `oninstall` or `onactivate`,
extends the lifetime of the event. When called in `oninstall`, it delays
treating the installing worker until the passed [Promise][1] resolves
successfully. This is primarily used to ensure that a `ServiceWorker` is not
active until all of the core caches it depends on are populated. When called in
`onactivate`, it delays treating the activating worker until the passed
[Promise][1] resolves successfully. This is primarily used to ensure that any
[Functional events][2] are not dispatched to the `ServiceWorker` until it
upgrades database schemas and deletes the outdated cache entries.

[1]: http://goo.gl/3TobQS
[2]: #functional-events

-->



    <script>
        test(function() {
            // not_implemented();
        }, "There are no tests for section event.waitUntil(f) so far.");
    </script>

    </body>
</html>

