application cache selection algorithm

application cache selection algorithm

仕様書

呼び出し

[8] このアルゴリズムは、HTML構文解析器またはXML構文解析器によって根要素文書に挿入される時 >>1, >>3 または navigate によってダミーの Document が作られた時 >>4, >>5, >>6, >>7 に呼び出されます。

[9] 次の場合には、指定された URL がこのアルゴリズム入力であるキャッシュマニフェストとして使われます。

[21] 仕様上 >>20HTML構文解析器にのみ適用され、XML構文解析器には適用されないことになっています。 それが意図通りなのかどうかは不明です。

[15] それ以外の場合は、キャッシュマニフェストなしが入力となります。

処理の同期

[16] 構文解析中の文書AppCache 由来の場合には、 同期的に処理が行われます。 そうでなくキャッシュマニフェストが指定されている場合は、 application cache download process非同期的に実行されます。

[17] ダウンロード処理が実行される場合、 AppCache文書に関連付けられて有効になるタイミングは構文解析器の動作とは完全に独立しています。 構文解析器によって img 要素などが挿入されたり、 スクリプトが実行されたりして fetch が発生したり、 あるいは (スクリプト利用者、あるいは構文解析器自体により) 新たに navigate が発生したりする場合もありますが、 いずれにせよ、 AppCache がその際に使われるかどうかは予測不能です。

利用者エージェントAppCache を使うか利用者の確認を得ることも認められています。

歴史

[19] >>18 はなぜかHTML構文解析器のみ変更していて、XML構文解析器は変更されていません。

[22] Align Fetch's destination concept with changes in Fetch (sideshowbarker著, ) <https://github.com/whatwg/html/commit/5e8f96a85d182d36c177db0d6fdde58b4ded86d4>