зеркало из https://github.com/mozilla/gecko-dev.git
68 строки
2.2 KiB
HTML
68 строки
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<title>Service Workers: ready</title>
|
|
<head>
|
|
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-ready">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<!--
|
|
|
|
`navigator.serviceWorker.ready` attribute must return the result of running
|
|
these steps:
|
|
|
|
1. Let `promise` be a newly-created [promise][1].
|
|
2. Return `promise`.
|
|
3. Run the following steps asynchronously:
|
|
1. Let `registration` be the result of running [_ScopeMatch
|
|
algorithm][2] with document's url as its argument.
|
|
2. If `registration` is null, then:
|
|
1. Wait for the document to have a matching [registration][3].
|
|
3. If the [registration][3], represented by `registration`, for the
|
|
document has an [active worker][4], then:
|
|
1. Resolve `promise` with the [ServiceWorker][5] object associated
|
|
with the [active worker][4].
|
|
2. Abort these steps.
|
|
4. If the [registration][3], represented by `registration`, for the
|
|
document has a [worker in waiting][6], then:
|
|
1. Resolve `promise` with the [ServiceWorker][5] object associated
|
|
with the [worker in waiting][6].
|
|
2. Abort these steps.
|
|
5. Wait until the [registration][3], represented by `registration`,
|
|
for the document acquires a [worker in waiting][6] through a new
|
|
[installation process][7].
|
|
6. Resolve `promise` with the [ServiceWorker][5] object associated
|
|
with the [worker in waiting][6].
|
|
Note that `ready` attribute is desinged in a way that the returned [promise][1]
|
|
will never reject. Instead, it waits until the [promise][1] resolves with a
|
|
newly installed [worker in waiting][6]. Hence, the `state` of the acquired
|
|
[`ServiceWorker`][8] object is either `installed`, `activating` or `activated`.
|
|
|
|
|
|
|
|
[1]: http://goo.gl/3TobQS
|
|
[2]: #scope-match-algorithm
|
|
[3]: #registration
|
|
[4]: #active-worker
|
|
[5]: #service-worker-interface
|
|
[6]: #worker-in-waiting
|
|
[7]: #installation-process
|
|
[8]: #service-worker
|
|
|
|
-->
|
|
|
|
|
|
|
|
<script>
|
|
test(function() {
|
|
// not_implemented();
|
|
}, "There are no tests for section ready so far.");
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|
|
|