* 仕様書

[REFS[
- [1] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-02-04 17:09:00 +09:00]] 版) <https://html.spec.whatwg.org/#allowed-to-navigate>'''
- [18] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2017-02-25 17:12:45 +09:00]]) <https://html.spec.whatwg.org/#one-permitted-sandboxed-navigator>
]REFS]

* 意味

[7] [[閲覧文脈]] [VAR[A]] が[[閲覧文脈]] [VAR[B]] を[DFN[[RUBYB[navigateすることを[RUBY[認][みと]]められる]@en[allowed to navigate]]]]か否かとは、
次のことをいいます [SRC[>>1]]。

[FIG(steps)[
= [8] 
[FIG(list)[
- [VAR[A]] と [VAR[B]] が異なる
- [VAR[A]] が [VAR[B]] の[[祖先閲覧文脈]]では''ない''
- [VAR[B]] は[F[最上位閲覧文脈]]では''ない''
- [VAR[A]] の[F[活性文書]]の[F[活性砂箱化フラグ集合]]の[F[sandboxed navigation browsing context flag]]が設定されている
]FIG]
... の''すべて''を満たすなら、
== [9] [[偽]]を返し、ここで停止します。
= [15] 
[FIG(list)[
- [VAR[A]] と [VAR[B]] が異なる
- [VAR[B]] が [VAR[A]] の[[祖先閲覧文脈]]では''ない''
- [VAR[B]] は[F[最上位閲覧文脈]]である
- [VAR[A]] の[F[活性文書]]の[F[活性砂箱化フラグ集合]]の[F[sandboxed navigation browsing context flag]]が設定されている
- [VAR[B]] の [F[one permitted sandboxed navigator]] が [VAR[A]] では''ない''
]FIG]
... の''すべて''を満たすなら、
== [16] [[偽]]を返し、ここで停止します。
= [10] 
[FIG(list)[
- [VAR[B]] が[F[最上位閲覧文脈]]である
- [VAR[B]] が [VAR[A]] の[[祖先閲覧文脈]]である
]FIG]
... の''すべて''を満たすなら、
== [11] 
[FIG(list)[

-
[VAR[A]] の [F[[CODE[WindowProxy]]]] の [F(ss)[Window]] の[F[過渡活性化]]が[[真]]
-
[VAR[A]] の [F[活性文書]]の[F[活性砂箱化フラグ集合]]の[F[sandboxed top-level navigation with user activation browsing context flag]]が[[真]]

]FIG]
... の''すべて''を満たすなら、
=== [12] [[偽]]を返し、ここで停止します。
== [13] 
[FIG(list)[

-
[VAR[A]]
の
[F[[CODE[WindowProxy]]]]
の
[F(ss)[Window]]
の[F[過渡活性化]]が[[偽]]
-
[VAR[A]]
の[F[活性文書]]の[F[活性砂箱化フラグ集合]]の[F[sandboxed top-level navigation without user activation browsing context flag]]が[[真]]

]FIG]
... の''すべて''を満たすなら、
=== [14] [[偽]]を返し、ここで停止します。
= [17] [[真]]を返します。
]FIG]

[20] [[閲覧文脈]]は、 [DFN[[F[one permitted sandboxed navigator]]]]
[SRC[>>18]] を持ちます。 [CODE(HTML)@en[sandbox]] で [[navigate]]
が制限されている時、特定の[[閲覧文脈]]からのみ [[navigate]]
を認める検査のために使われます。[[閲覧文脈の選択]]
(含・[[ハイパーリンクをたどる]]や [CODE(JS)@en[document.open]]) により設定されます。

* 文脈

[3] [[navigate]] から参照されます。

[5] [CODE(JS)@en[window.close]] から参照されます。

[19] [[履歴の探索]]から参照されます。

* 関連

[6] [[精通]]とは似て非なるものです。

* 歴史

[2] [CITE@en[Use browsing contexts's active document, it has no node document · whatwg/html@f7e01c0]]
([TIME[2016-02-10 22:51:45 +09:00]] 版)
<https://github.com/whatwg/html/commit/f7e01c01e99eb82491f4a05e6ee8ca5dcb60bf40>

[4] [CITE@en[Add allow-top-navigation-by-user-activation sandbox token]]
([[domenic]]著, [TIME[2017-02-24 04:51:48 +09:00]])
<https://github.com/whatwg/html/commit/8abd73ec3a56541e3f6486d3a593a8bcfd67295d>

[21] [CITE@en[Explicitly prevent sandboxed navigation via History]]
([[dtapuska]]著, [TIME[2019-08-14 03:02:21 +09:00]])
<https://github.com/whatwg/html/commit/2dafc5396632b1f9831f704f35d13d70194db484>

[22] [CITE@en[History traversal and the iframe sandbox. · Issue #880 · whatwg/html · GitHub]]
([TIME[2020-07-13 12:23:02 +09:00]])
<https://github.com/whatwg/html/issues/880>

[23] [CITE@en[Explicitly prevent sandboxed navigation in the history interface. by dtapuska · Pull Request #4787 · whatwg/html · GitHub]]
([TIME[2020-07-13 12:25:24 +09:00]])
<https://github.com/whatwg/html/pull/4787>

[24] [CITE@en[Revamp the user activation model]]
([[mustaqahmed]], [TIME[2019-12-05 04:09:23 +09:00]], [TIME[2022-01-25T07:41:12.000Z]])
<https://github.com/whatwg/html/commit/8f8c1f50158736b3cf16188377a0974a20367c8b>

[25] [CITE@en[Make "triggered by user activation" match browser behavior · Issue #1903 · whatwg/html]]
([TIME[2022-01-25T07:58:26.000Z]])
<https://github.com/whatwg/html/issues/1903>