-
Notifications
You must be signed in to change notification settings - Fork 4
/
797.txt
52 lines (33 loc) · 2.84 KB
/
797.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
* 仕様書
[REFS[
- [39] [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>
]REFS]
* 演算
[3] [[コールバックを走らせる準備]]で [[JavaScript実行文脈]]が上に [[push]] されます。
[4] [[コールバックを走らせた後の片付け]]で [[JavaScript実行文脈]]が削除されます。
[5] [[イベントループのスピン]]で[[スタック]]全体が複製されたり、
空にされたり、
複製した状態に戻されたりします。
* 歴史
** スクリプト設定群オブジェクトのスタック
[1] [[現職スクリプト]]の[[引数]]が[[スクリプト設定群オブジェクト]]として再編され、
[[スクリプト設定群オブジェクトのスタック]]が [[HTML Standard]] [[仕様書]]上の概念として導入されました。
;; [[環境設定群オブジェクト]]の歴史の項も参照。
[40] [[関連する類似起源閲覧文脈の単位]]ごとに1つ、
[DFN[[RUBYB[[[スクリプト設定群オブジェクトのスタック]]]@en[stack of script settings objects]]]]があります。 [SRC[>>39]]
;; [54] [[Web IDL]] では[DFN[[RUBYB[現職スクリプト群のスタック]@en[stack of incumbent scripts]]]]となっています。
[41] この[[スタック]]は、[[環境設定群オブジェクト]]を追加 ([[push]]) したり削除 ([[pop]])
したりできるものです。この[[スタック]]は、初期状態では空でなければ[['''なりません''']] [SRC[>>39]]。
このスタックに含まれる各項目 ([[環境設定群オブジェクト]]) には、
「[RUBYB[[[候補入口設定群オブジェクト]]]@en[candidate entry settings object]]」
というフラグをつけることができます [SRC[>>39]]。
[58] [[コード入口点に飛ぶ]]手順では、 [[JavaScript]] コードの実行の直前に[[スタック]]に [[push]]
され、直後に [[pop]] されます。
[55] [[コールバック関数の呼び出し]]では、 [[JavaScript]] [[関数]]の呼び出しの直前に[[スクリプト]]が[[現職スクリプトのスタック]]に [[push]]
され、直後に [[pop]] されます。
[56] 最も直近に [[push]] されたものを、[[現職設定群オブジェクト]]といいます。
[57] 最も直近に [[push]] された[[候補入口設定群オブジェクト]]フラグ付きのものを、
[[入口設定群オブジェクト]]といいます。
;; [61] 用法は、[[現職設定群オブジェクト]]と[[入口設定群オブジェクト]]を参照。
** 実行文脈スタック
[2] [CITE@en[Rewrite script execution on top of ES · whatwg/html@4891d18]] ([TIME[2015-12-22 22:10:28 +09:00]] 版) <https://github.com/whatwg/html/commit/4891d18aaf2df1d40aa61f467a5a10cfc19dd85d>