* 仕様書 [REFS[ - [1] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-03-28 21:58:58 +09:00]] 版) ''' - [2] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-03-28 21:58:58 +09:00]] 版) ''' - [3] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-03-28 21:58:58 +09:00]] 版) ''' - [17] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-03-28 21:58:58 +09:00]] 版) ]REFS] * 処理モデル ** 安定状態の提供 [4] [RUBYB[[[安定状態を提供]]]@en[provide a stable state]]する場合は次のように処理します。 [FIG[ - [5] 非同期的に実行される[[算法]]が[DFN[[RUBYB[[[安定状態を待っている]]]@en[awaiting a stable state]]]]なら、 -= [6] その[DFN[[RUBYB[[[同期区間]]]@en[synchronous section]]]]を走らせてから、 非同期算法を走らせるのを (適切であれば) 再開しなければ[['''なりません''']]。 [SRC[>>1]] - [18] [[媒体要素]]の [[official playback position]] を [[current playback position]] に設定しなければ[['''なりません''']]。 [SRC[>>17]] ]FIG] ;; [7] [[同期区間]]が [[DOM]] を変化させたり、[[スクリプト]]を実行したり、 その他副作用を起こすことはありません。 [SRC[>>3]] [8] 安定状態は次の場合に提供されます: - [9] [[イベント・ループ]]で、[[タスク]]を実行した後 - [10] [[HTML]] や [[XML]] の[[構文解析]]で、 [CODE(HTMLe)@en[[[script]]]] [[要素]]の[[終了タグ]]が処理される初めの段階 ([[スクリプト]]が実行される前) * 非同期的に安定状態を待つ算法 [12] 次の[[算法]]は、その途中で[[非同期]]的に[[安定状態を待つ]]部分があり、 [[同期区間]]の処理が規定されています。更にその後に非同期算法が続くものもあります。 - [11] [[update the image data]] ([CODE(HTMLe)@en[[[img]]]] [[要素]]の[[画像]]データの読み込み) - [13] [[媒体要素]]の[[資源選択算法]] ([CODE(HTMLe)@en[[[video]]]] [[要素]]や [CODE(HTMLe)@en[[[audio]]]] [[要素]]のデータの読み込み) - [14] [[媒体要素]]が [[[CODE(DOMi)@en[Document]]から削除]]された時の動作 - [15] [[媒体要素]]の [[seek]] - [16] [[text track]] が追加された時の処理 - [21] [CODE(DOMi)@en[[[PeerConnection]]]] [[構築子]] - [22] [[start autocommitting the scratch bitmap]] -- ただしコメント化されている: [CITE@en[Web Applications 1.0 r7509 First draft of a way to do canvas in workers.]] ([TIME[2012-11-17 05:26:00 +09:00]] 版) [20] これらをどのような順序で実行するかは特に規定されていません。 [19] [[スタイル・シート]]が [CODE(CSS)@en[[[@import]]]] などの参照を持つ場合に[[スタイル・シート]]を[[スクリプト]]から参照可能にしなければならないタイミングは、 [[イベント・ループ]]中の次の[[レンダリング]]の際、とされており [SRC[]]、 実質的に、[[安定状態]]の最後に行うということになります。 [23] [CITE@en[Bug 24707 – The pause (for blocking dialog) algorithm should not provide a stable state]] ( ([TIME[2014-02-21 08:33:59 +09:00]] 版)) [24] [CITE@en[Bug 24724 – Can the microtask and stable state concepts be merged?]] ( ([TIME[2014-02-21 08:38:38 +09:00]] 版)) [25] [CITE@en[Web Applications 1.0 r8498 Oops, edited the wrong line. (stable state and parsing)]] ( ([TIME[2014-02-22 03:50:00 +09:00]] 版))