-
Notifications
You must be signed in to change notification settings - Fork 4
/
636.txt
53 lines (38 loc) · 2.92 KB
/
636.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
45
46
47
48
49
50
51
52
53
[6] [DFN[[RUBYB[[[大域スクリプト片付けジョブ]]]@en[global script clean-up job]]]]とは、
[[スクリプト]]の実行直後に行われる、不要になった資源を開放する操作です。
* 仕様書
[REFS[
- [1] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#global-script-clean-up-jobs-list>'''
- [13] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#run-the-global-script-clean-up-jobs>
- [8] [CITE[File API]] ([TIME[2014-03-26 19:56:12 +09:00]] 版) <http://dev.w3.org/2006/webapi/FileAPI/#lifeTime>
]REFS]
* 大域スクリプト片付けジョブ
[3] [[大域スクリプト片付けジョブ]]は、[[スクリプト]]を実行できません [SRC[>>1]]。
[4] [[大域スクリプト片付けジョブ]]同士の実行順序が意味を持つことはできません [SRC[>>1]]。
[2] [[関連する類似起源閲覧文脈の単位]]は、
[DFN[[RUBYB[[[大域スクリプト片付けジョブリスト]]]@en[global script clean-up jobs list]]]]を持ちます。
これは初期状態では空でなければなりません。 [SRC[>>1]]
[9] [[大域スクリプト片付けジョブ]]には次のものがあります。
[FIG(list)[
- [[自動revoke]] [SRC[>>8]]
]FIG]
* 実行
[5] [DFN[[RUBYB[[[大域スクリプト片付けジョブを走らせる]]]@en[run the global script clean-up jobs]]]]とは、
[[大域スクリプト片付けジョブリスト]]のジョブをそれぞれ実行し、[[大域スクリプト片付けジョブリスト]]を空にすることをいいます
[SRC[>>1]]。
[11] これが呼び出されるのは次の場面です。
[FIG(list)[
- [[clean up after running a callback]] ([[コード入口点に飛ぶ]]手順から呼ばれる)
- [[イベントループのスピン]]
]FIG]
[12] すなわち[[スクリプト]]が実行された直後や中断される時に呼び出されます。
* 歴史
[7] [[大域スクリプト片付けジョブ]]は[[マイクロタスク]]と似ており、
実際当初は[[マイクロタスク]]として定義することも検討されていましたが [SRC[>>10]]、
適切ではないとして[[大域スクリプト片付けジョブリスト]]が新設されました。
[[マイクロタスク]]が実行される場面であっても[[大域スクリプト片付けジョブ]]は実行されないことがありますし、
逆に[[マイクロタスク]]の内部でも[[大域スクリプト片付けジョブ]]が実行されることがあります
([[複合マイクロタスク]]からの[[コールバック]]呼び出しなど)。
[REFS[
- [10] [CITE@en[Bug 19554 – Needed: An Algorithmic "Hook" For Culling URL.objectURLs with autoRevoke=true]] ([TIME[2014-04-15 05:05:24 +09:00]] 版) <https://www.w3.org/Bugs/Public/show_bug.cgi?id=19554>
]REFS]