summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html')
-rw-r--r--testing/web-platform/tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html67
1 files changed, 67 insertions, 0 deletions
diff --git a/testing/web-platform/tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html b/testing/web-platform/tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html
new file mode 100644
index 000000000..67a690ddc
--- /dev/null
+++ b/testing/web-platform/tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html
@@ -0,0 +1,67 @@
+<!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>
+