/
633.txt
90 lines (72 loc) · 5.57 KB
/
633.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
[1] [DFN[[RUBYB[[[関連する類似起源閲覧文脈群の単位]]]@en[unit of related similar-origin browsing contexts]]]]は、
[[Webブラウザー]]の動作に深く関わる[[閲覧文脈]]群の単位です。
* 仕様書
[REFS[
- [2] '''[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/#unit-of-related-similar-origin-browsing-contexts>'''
- [7] [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/#calling-scripts>
- [14] [CITE@en-US[DOM Standard]] ([TIME[2014-04-14 11:10:59 +09:00]] 版) <http://dom.spec.whatwg.org/#mutation-observers>
- [18] [CITE[File API]] ([TIME[2014-03-26 19:56:12 +09:00]] 版) <http://dev.w3.org/2006/webapi/FileAPI/#lifeTime>
]REFS]
* 意味
[3] [[関連閲覧文脈の単位]]をそれぞれ更に分割して、 [CODE(JS)@en[[[document.domain]]]]
[[属性]]の適当な操作を通じて[[活性文書]]の[F[起源][文書の起源]]が同一グループの他のメンバーと[[同じ起源ドメイン]]であるが、
他のグループのメンバーのいずれとも[[同じ起源ドメイン]]ではないような最小数のグループとします。
このようなグループそれぞれを[DFN[[RUBYB[[[関連する類似起源閲覧文脈群の単位]]]@en[unit of related similar-origin browsing contexts]]]]といいます。
[SRC[>>2]]
[4] 厳密な定義は >>3 の通りですが、これを不正確に言い換えるとすなわち、
親子関係など関係を持っている[[閲覧文脈]]のうち、[[サブドメイン]]を除いた[[ドメイン]]
([[eTLD+1]]) でまとめたグループ、ということになります。
[23] [[閲覧文脈]]の[[活性文書]]は [[navigate]] や[[履歴の探索]]によって変化しますから、
[[関連する類似起源閲覧文脈の単位]]に含まれる[[閲覧文脈]]も、随時変化します。
* 関連する類似起源閲覧文脈群の単位の状態
[5] [[関連する類似起源閲覧文脈群の単位]]は、次の状態を持ちます。
[FIG(list members)[
: [8] [F[イベントループ]] :
今後実行する[[タスク]]その他を管理するものです。
: [13] [[global script clean-up jobs list]] [SRC[>>7]] :
: [19] [[Blob URL Store]] [SRC[>>18]] :
: [20] [[Revocation List]] [SRC[>>18]] :
: [F[信号スロットリスト]] :
[[変異観察器]]で [CODE[slotchange]] の通知に使われます。
: [F[カスタム要素反応群スタック]] :
今後実行するべき[[カスタム要素反応]]の[[スタック]]です。
: [F[現在要素キュー]] :
: [16] [[mutation observer compound microtask queued flag]] [SRC[>>14]] :
: [17] [CODE(DOMi)@en[[[MutationObserver]]]] のリスト [SRC[>>14]] :
]FIG]
[HISTORY[
[6] かつては、次のようなものもありました。
[FIG(list)[
- [12] [DEL[[[スクリプト設定群オブジェクトのスタック]] [SRC[>>7]]]]
- [10] [DEL[[[関連する類似起源閲覧文脈の単位]]は、[[[CODE(DOMi)@en[MutationObserver]] scripting environment]] です [SRC[>>7]]。]]
-- [15] この定義は [[DOM Standard]] 側ではもう使われていないようです。 ([[DOM Standard]] から [[HTML Standard]]
への [[Normative Reference]] となるのを回避していた時期の定義のようです。)
-- [22] >>21 で削除されました。
- [11] [[表]]の[[整列]] ([[sort the tables with pending sorts]]) は[[関連する類似起源閲覧文脈の単位]]内の
[CODE(HTMLe)@en[[[table]]]] [[要素]]を探します。
]FIG]
]HISTORY]
[26] これら[[仕様書]]上で[[関連する類似起源閲覧文脈群の単位]]ごとに定義される[[オブジェクト]]やそれを使った処理は、
実装上は、より粗い単位で共有できます。例えば、単一[[プロセス]]で動作する[[Webブラウザー]]では、
[[起源]]に関わらずすべての[[タスク]]を同一の[[イベントループ]]で実行することとしても構いません。
しかし、その定義より、異なる[[関連する類似起源閲覧文脈群の単位]]に属する[[スクリプト]]同士は
([CODE(DOMm)@en[postMessage]] などを経由せずに) 直接アクセスする手段を持ちませんから、
[[著者]]はこの実装戦略の違いを直接的に観測することはできません。
* 歴史
[REFS[
- [21] [CITE@en[Web Applications 1.0 r8577 Fix prose around the <textarea> value / maxlength issues to be slightly less confusing and ambiguous. Clean up some text around MutationObservers.]] ([TIME[2014-04-24 00:38:00 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=8576&to=8577>
]REFS]
[24] [CITE@en[Rewrite script execution on top of ES · whatwg/html@4891d18]]
([TIME[2015-12-22 22:00:26 +09:00]] 版)
<https://github.com/whatwg/html/commit/4891d18aaf2df1d40aa61f467a5a10cfc19dd85d>
[25] [CITE@en[Merge effective script origin into origin · whatwg/html@8a843f2]]
([TIME[2016-03-31 16:47:04 +09:00]] 版)
<https://github.com/whatwg/html/commit/8a843f2169a6864a3024c4329528dccb2051d275>
[FIG(quote)[
[FIGCAPTION[
[9] [CITE[Site Isolation - The Chromium Projects]]
( ([TIME[2016-05-15 03:03:27 +09:00]]))
<https://www.chromium.org/developers/design-documents/site-isolation>
]FIGCAPTION]
> The HTML spec refers to this group as a "unit of related similar-origin browsing contexts." In Chrome, we refer to this as a SiteInstance. All of the documents within a SiteInstance are allowed to script each other, and we must thus render them in the same process.
]FIG]