Index: third_party/WebKit/LayoutTests/imported/wpt/service-workers/stub-3.2.5-navigator-service-worker-ready.html |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/service-workers/stub-3.2.5-navigator-service-worker-ready.html b/third_party/WebKit/LayoutTests/imported/wpt/service-workers/stub-3.2.5-navigator-service-worker-ready.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..67a690ddc5b2d40c1c21a0bf021a49fbddb0c760 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/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> |
+ |