-
Notifications
You must be signed in to change notification settings - Fork 4
/
449.txt
44 lines (35 loc) · 2.26 KB
/
449.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
* 仕様書
[REFS[
- [1] [CITE@en[Service Workers Nightly]] ([TIME[2017-03-02 15:00:14 +09:00]]) <https://w3c.github.io/ServiceWorker/#serviceworkercontainer-ready-promise>
- [3] [CITE@en[Service Workers Nightly]] ([TIME[2017-03-02 15:00:14 +09:00]]) <https://w3c.github.io/ServiceWorker/#navigator-service-worker-ready>
]REFS]
* 状態
[2] [CODE(DOMi)@en[ServiceWorkerContainer]] は、
[DFN[[F[[RUBYB[[[準備完了約束]]]@en[ready promise]]]]]]を持ちます [SRC[>>1]]。
初期値は新しい[[約束]]です [SRC[>>1]]。
* 処理
[4] [CODE(DOMi)@en[ServiceWorkerContainer]] [[インターフェイス]]の
[DFN[[CODE(DOMm)@en[ready]]]] [[メソッド]]は、
次のようにしなければ[MUST[なりません]] [SRC[>>3]]。
[FIG(steps)[
= [5] [[文脈オブジェクト]]の[F[準備完了約束]]が [[settle]] 済みなら、
== [6] [[文脈オブジェクト]]の[F[準備完了約束]]を返し、ここで停止します。
= [7] [VAR[クライアント]]を、[[文脈オブジェクト]]の[F[サービスワーカークライアント]]に設定します。
= [9] [VAR[クライアントURL]]を、[VAR[クライアント]]の[F[作成URL]]に設定します。
= [11] 並列の処理を実行開始します。
= [10] [[文脈オブジェクト]]の[F[準備完了約束]]を返します。
]FIG]
[12] 並列の処理とは、[[並列に]]次のようにすることをいいます [SRC[>>3]]。
[FIG(steps)[
= [13] [VAR[登録]]を、[VAR[クライアントURL]]について[[サービスワーカー登録の一致]]を実行した結果に設定します。
= [8] [VAR[登録]]が [CODE[null]] の場合、
== [14] 後で続きを実行することとし、ここで停止します。
= [16] [VAR[登録]]の[F[活性ワーカー]]が [CODE[null]] の場合、
==
@@ [17] [VAR[登録]]の[F[活性ワーカー]]が変化するのを待ちます。
= [18] [[文脈オブジェクト]]の[F[準備完了約束]]を、
[VAR[登録]]の [CODE(DOMi)@en[ServiceWorkerRegistration]] [[オブジェクト]]で[[解決][約束の解決]]します。
]FIG]
@@
[15] 後で続きを実行するとは、 [[scope to registration map]]
に新しい項目が追加された時にこの並列の処理を実行することをいいます [SRC[>>3]]。