Skip to content

Commit ce4df66

Browse files
[permissions] Add an optional topLevelOrigin parameter to the permissions.setPermission command w3c/permissions@a867a0e
1 parent ffb126b commit ce4df66

File tree

1 file changed

+132
-63
lines changed

1 file changed

+132
-63
lines changed

webappsec-permissions-ja.html

Lines changed: 132 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,8 @@
144144
●●options
145145

146146
spec_title:Permissions
147-
spec_date:2025-06-24
148-
trans_update:2024-12-21
147+
spec_date:2025-09-26
148+
trans_update:2025-09-30
149149
source_checked:230612
150150
page_state_key:WEBAPPSEC
151151
original_url:https://w3c.github.io/permissions/
@@ -612,6 +612,11 @@
612612
%生成元:target origin
613613
%~UA:user agent
614614
%利用者~文脈~ID:user context id
615+
%~key:target key
616+
%~target群:targets
617+
%設定群~list:settings list
618+
%設定群~key:settings key
619+
%合致したか:matches
615620

616621
●許可/保安
617622
許容list:allowlist::許容 list:許容リスト
@@ -732,54 +737,54 @@
732737
●●ref_normative
733738

734739
[dom]
735-
<DOM Standard>. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
740+
<DOM Standard>. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
736741
[ecma-262]
737-
<ECMAScript Language Specification>. Ecma International. URL: https://tc39.es/ecma262/multipage/
742+
<ECMAScript Language Specification>. Ecma International. URL: https://tc39.es/ecma262/multipage/
738743
[HTML]
739-
<HTML Standard>. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
744+
<HTML Standard>. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
740745
[infra]
741-
<Infra Standard>. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
746+
<Infra Standard>. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
742747
[Notifications]
743-
<Notifications API Standard>. Anne van Kesteren. WHATWG. Living Standard. URL: https://notifications.spec.whatwg.org/
748+
<Notifications API Standard>. Anne van Kesteren. WHATWG. Living Standard. URL: https://notifications.spec.whatwg.org/
744749
[Permissions-Policy]
745-
<Permissions Policy>. Ian Clelland. W3C. 6 May 2025. W3C Working Draft. URL: https://www.w3.org/TR/permissions-policy-1/
750+
<Permissions Policy>. Ian Clelland. W3C. 6 August 2025. W3C Working Draft. URL: https://www.w3.org/TR/permissions-policy-1/
746751
[permissions-registry]
747-
<Permissions Registry>. W3C. Draft Registry. URL: https://w3c.github.io/permissions-registry/
752+
<Permissions Registry>. W3C. Draft Registry. URL: https://w3c.github.io/permissions-registry/
748753
[RFC2119]
749-
<Key words for use in RFCs to Indicate Requirement Levels>. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
754+
<Key words for use in RFCs to Indicate Requirement Levels>. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
750755
[RFC8174]
751-
<Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words>. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
756+
<Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words>. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
752757
[WebDriver]
753-
<WebDriver>. Simon Stewart; David Burns. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/webdriver1/
758+
<WebDriver>. Simon Stewart; David Burns. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/webdriver1/
754759
[WebDriver-BiDi]
755-
<WebDriver BiDi>. James Graham; Alex Rudenko; Maksim Sadym. W3C. 20 June 2025. W3C Working Draft. URL: https://www.w3.org/TR/webdriver-bidi/
760+
<WebDriver BiDi>. James Graham; Alex Rudenko; Maksim Sadym. W3C. 26 September 2025. W3C Working Draft. URL: https://www.w3.org/TR/webdriver-bidi/
756761
[webdriver2]
757-
<WebDriver>. Simon Stewart; David Burns. W3C. 20 June 2025. W3C Working Draft. URL: https://www.w3.org/TR/webdriver2/
762+
<WebDriver>. Simon Stewart; David Burns. W3C. 8 September 2025. W3C Working Draft. URL: https://www.w3.org/TR/webdriver2/
758763
[WEBIDL]
759-
<Web IDL Standard>. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL: https://webidl.spec.whatwg.org/
764+
<Web IDL Standard>. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL: https://webidl.spec.whatwg.org/
760765

761766
●●ref_informative
762767

763768
[appmanifest]
764-
<Web Application Manifest>. Marcos Caceres; Kenneth Christiansen; Diego Gonzalez-Zuniga; Daniel Murphy; Christian Liebel. W3C. 5 May 2025. W3C Working Draft. URL: https://www.w3.org/TR/appmanifest/
769+
<Web Application Manifest>. Marcos Caceres; Kenneth Christiansen; Diego Gonzalez-Zuniga; Daniel Murphy; Christian Liebel. W3C. 3 September 2025. W3C Working Draft. URL: https://www.w3.org/TR/appmanifest/
765770
[Geolocation]
766-
<Geolocation>. Marcos Caceres; Reilly Grant. W3C. 11 April 2025. W3C Recommendation. URL: https://www.w3.org/TR/geolocation/
771+
<Geolocation>. Marcos Caceres; Reilly Grant. W3C. 23 September 2025. W3C Recommendation. URL: https://www.w3.org/TR/geolocation/
767772
[GETUSERMEDIA]
768-
<Media Capture and Streams>. Cullen Jennings; Jan-Ivar Bruaroey; Henrik Boström; youenn fablet. W3C. 26 May 2025. CRD. URL: https://www.w3.org/TR/mediacapture-streams/
773+
<Media Capture and Streams>. Cullen Jennings; Jan-Ivar Bruaroey; Henrik Boström; youenn fablet. W3C. 25 September 2025. CRD. URL: https://www.w3.org/TR/mediacapture-streams/
769774
[local-font-access]
770-
<Local Font Access API>. W3C. Draft Community Group Report. URL: https://wicg.github.io/local-font-access/
775+
<Local Font Access API>. W3C. Draft Community Group Report. URL: https://wicg.github.io/local-font-access/
771776
[orientation-event]
772-
<Device Orientation and Motion>. Reilly Grant; Marcos Caceres. W3C. 12 February 2025. CRD. URL: https://www.w3.org/TR/orientation-event/
777+
<Device Orientation and Motion>. Reilly Grant; Marcos Caceres. W3C. 12 February 2025. CRD. URL: https://www.w3.org/TR/orientation-event/
773778
[Permissions]
774-
<Permissions>. Marcos Caceres; Mike Taylor. W3C. 20 December 2024. W3C Working Draft. URL: https://www.w3.org/TR/permissions/
779+
<Permissions>. Marcos Caceres; Mike Taylor. W3C. 24 June 2025. W3C Working Draft. URL: https://www.w3.org/TR/permissions/
775780
[push-api]
776-
<Push API>. Peter Beverloo; Martin Thomson; Marcos Caceres. W3C. 3 September 2024. W3C Working Draft. URL: https://www.w3.org/TR/push-api/
781+
<Push API>. Marcos Caceres; Kagami Rosylight. W3C. 25 September 2025. W3C Working Draft. URL: https://www.w3.org/TR/push-api/
777782
[w3c-process]
778-
<W3C Process Document>. Elika J. Etemad (fantasai); Florian Rivoal. W3C. 3 November 2023. URL: https://www.w3.org/policies/process/
783+
<W3C Process Document>. Elika J. Etemad (fantasai); Florian Rivoal. W3C. 18 August 2025. URL: https://www.w3.org/policies/process/
779784
[Web-Share]
780-
<Web Share API>. Marcos Caceres; Eric Willigers; Matt Giuca. W3C. 30 May 2023. W3C Recommendation. URL: https://www.w3.org/TR/web-share/
785+
<Web Share API>. Marcos Caceres; Eric Willigers; Matt Giuca. W3C. 30 May 2023. W3C Recommendation. URL: https://www.w3.org/TR/web-share/
781786
[window-management]
782-
<Window Management>. Joshua Bell; Mike Wasserman. W3C. 7 June 2024. W3C Working Draft. URL: https://www.w3.org/TR/window-management/
787+
<Window Management>. Joshua Bell; Mike Wasserman. W3C. 7 June 2024. W3C Working Draft. URL: https://www.w3.org/TR/window-management/
783788

784789

785790
●●trans_metadata
@@ -2118,9 +2123,18 @@ <h2 title="Specifying a powerful feature">4. 強力な特能の指定-法</h2>
21182123
A permission key generation algorithm:
21192124
</dt>
21202125
<dd>
2121-
所与の`環境~設定群~obj$に対し,新たな`許可~key$を返す。
2126+
<p>
2127+
所与の
2128+
( `生成元$, `生成元$ )
2129+
に対し,新たな`許可~key$を返す。
2130+
</p>
2131+
2132+
<p class="trans-note">
2133+
2 個目の生成元には、
2134+
通例的には,ある`環境~設定群~obj$の`~top-level生成元$enVが渡される。
2135+
</p>
21222136
2123-
Takes an environment settings object, and returns a new permission key.\
2137+
Takes an origin origin and an origin top level origin, and returns a new permission key.\
21242138
</dd>
21252139
<dd>
21262140
未指定な場合の既定は、
@@ -2138,13 +2152,13 @@ <h2 title="Specifying a powerful feature">4. 強力な特能の指定-法</h2>
21382152
`既定の許可~key生成~algo@
21392153
は、
21402154
所与の
2141-
( `環境~設定群~obj$ %設定群 )
2155+
( `生成元$ %生成元, `生成元$ %~top-level生成元 )
21422156
に対し
21432157
2144-
~RET %設定群 の`~top-level生成元$enV
2158+
~RET %~top-level生成元
21452159
2146-
The default permission key generation algorithm, given an environment settings object settings, runs the following steps:
2147-
• Return settings's top-level origin.
2160+
The default permission key generation algorithm, given an origin origin and an origin top level origin, runs the following steps:
2161+
• Return top level origin.
21482162
</dd>
21492163
<dd class="note">注記(許可の委任):
21502164
ほとんどの`強力な特能$は、
@@ -2382,7 +2396,7 @@ <h2 title="Specifying a powerful feature">4. 強力な特能の指定-法</h2>
23822396
<p>
23832397
`既定の強力な特能@
23842398
とは、
2385-
`強力な特能$のうち,上の各種
2399+
`強力な特能$のうち,上に挙げた各種
23862400
型/~algo
23872401
]すべてが既定のそれらにされたものをいう。
23882402
@@ -2494,9 +2508,9 @@ <h3 title="Reading the current permission state">5.1. 現在の許可~状態の
24942508
• If document is not allowed to use feature, return "denied".
24952509
</li>
24962510
<li>
2497-
%~key ~LET %特能 の`許可~key生成~algo$( %記述子, %設定群 )
2511+
%~key ~LET %特能 の`許可~key生成~algo$( %設定群 の`生成元$enV, %設定群 の`~top-level生成元$enV )
24982512
2499-
Let key be the result of generating a permission key for descriptor with settings.
2513+
Let key be the result of generating a permission key for descriptor with settings's origin and settings's top-level origin.
25002514
</li>
25012515
<li>
25022516
%~entry ~LET `許可~store~entryを取得する$( %記述子, %~key )
@@ -2629,13 +2643,18 @@ <h3 title="Requesting permission to use a powerful feature">5.2. 強力な特能
26292643
</div>
26302644
</li>
26312645
<li>
2632-
%~key ~LET `許可~key生成~algo$( `現在の設定群~obj$ )
2646+
%設定群 ~LET `現在の設定群~obj$
2647+
2648+
Let settings be the current settings object.
2649+
</li>
2650+
<li>
2651+
%~key ~LET %特能 の`許可~key生成~algo$( %設定群 の`生成元$enV, %設定群 の`~top-level生成元$enV )
26332652
2634-
Let key be the result of generating a permission key with the current settings object.
2653+
Let key be the result of generating a permission key for descriptor with settings's origin and settings's top-level origin.
26352654
</li>
26362655
<li>
26372656
<p>
2638-
`~taskを~queueする$( 【`~task~source$が指定されていない(`許可~task~source$?)】, 次の手続き, `現在の設定群~obj$の`担当の~event~loop$enV )
2657+
`~taskを~queueする$( 【`~task~source$が指定されていない(`許可~task~source$?)】, 次の手続き, %設定群 の`担当の~event~loop$enV )
26392658
26402659
Queue a task on the current settings object's responsible event loop to\
26412660
</p>
@@ -3347,52 +3366,82 @@ <h2 title="Automated testing">B. 自動化された~test法</h2>
33473366
⇒#
33483367
`PermissionDescriptor$I %記述子,
33493368
`PermissionState$I %状態,
3350-
`生成元$ %生成元 ~DF ~NULL,
3369+
`許可~key$ %~key ~DF ~NULL,
33513370
`~UA$ %~UA ~DF ε
33523371
◎終
33533372
に対し:
33543373
3355-
To set a permission given a PermissionDescriptor descriptor, a PermissionState state, an optional origin, and an optional user agent:
3374+
To set a permission given a PermissionDescriptor descriptor, a PermissionState state, an optional permission key key, and an optional user agent:
33563375
</p>
33573376
<ol>
33583377
<li>
3359-
~IF[
3360-
%生成元 ~EQ ~NULL
3361-
3362-
3363-
%生成元 ~SET `現在の設定群~obj$の`生成元$enV
3378+
%特能 ~LET %記述子 で`識別される特能$
33643379
3365-
Let target origin be current settings object's origin if origin is null, or origin otherwise.
3366-
</li>
3380+
</li>
33673381
<li>
3368-
%~target群 ~LET ~AND↓ を満たす
3369-
`環境~設定群~obj$たちが成す`~list$
3370-
【順序は指定されていない】
3382+
~IF[
3383+
%~key ~EQ ~NULL
3384+
33713385
3372-
( その`生成元$enV, %生成元 )
3373-
は`同一-生成元$である
3386+
%~key ~SET %特能 の`許可~key生成~algo$( `現在の設定群~obj$の`生成元$enV, `現在の設定群~obj$の`~top-level生成元$enV )
33743387
3375-
Let targets be a list containing all environment settings objects whose origin is same origin with target origin,\
3388+
Let target key be the result of generating a permission key for descriptor with current settings object's origin and current settings object's top-level origin if key is null, or key otherwise.
33763389
</li>
33773390
<li>
33783391
<p>
3379-
~IF[
3380-
%~UA ~NEQ ε
3381-
3382-
3383-
%~target群 から %~UA に属さないものを`除去する$
3392+
%設定群~list ~LET %~UA に応じて[
3393+
~NULL ならば すべての`環境~設定群~obj$/
3394+
~ELSE_ %~UA に属する`環境~設定群~obj$
3395+
]たちが成す`~list$
3396+
3397+
Let settings list be a list containing all environment settings objects which belong to the user agent if provided, or all user agents otherwise.
33843398
</p>
3399+
33853400
<p class="trans-note">
3386-
この段の~logicは、
3401+
順序は指定されていない。
3402+
以下の~logicは、
33873403
複数の`~UA$が`同時に稼働し得る@https://github.com/w3c/permissions/pull/438$ことに基づく。
33883404
例えば、[
33893405
私的~閲覧~mode下で稼働するものと他のもの/
33903406
異なる利用者~profileの下で稼働するものどうし
33913407
]は,異なる~UAであると見なされる。
33923408
</p>
3409+
</li>
3410+
<li>
3411+
%~target群 ~LET 新たな`~list$
3412+
3413+
Let targets be an empty list.
3414+
</li>
3415+
<li>
3416+
<p>
3417+
%設定群~list を成す
3418+
~EACH( %設定群 )
3419+
に対し:
3420+
3421+
For each environment settings object settings in settings list:
3422+
</p>
3423+
<ol>
3424+
<li>
3425+
%設定群~key ~LET %特能 の`許可~key生成~algo$( %設定群 の`生成元$enV, %設定群 の`~top-level生成元$enV )
3426+
3427+
Let settings key be be the result of generating a permission key for descriptor with settings's origin and settings's top-level origin.
3428+
</li>
3429+
<li>
3430+
%合致したか ~LET %特能 の`許可~key比較~algo$( %設定群~key, %~key )
3431+
3432+
Let matches be the result of running the permission key comparison algorithm for descriptor, given settings key and key.
3433+
</li>
3434+
<li>
3435+
~IF[
3436+
%合致したか ~EQ ~T
3437+
3438+
3439+
%~target群 に %設定群 を`付加する$
33933440
3394-
and which belong to the user agent if provided, or all user agents otherwise.
3441+
If matches, then append settings to targets.
33953442
</li>
3443+
</ol>
3444+
</li>
33963445
<li>
33973446
%~task群 ~LET 新たな`~list$
33983447
@@ -3421,7 +3470,9 @@ <h2 title="Automated testing">B. 自動化された~test法</h2>
34213470
<div class="algo">
34223471
手続きは
34233472
3424-
%状態 を,この時点で次を呼出した結果であったかのように解釈する
3473+
%状態 を[
3474+
この時点で次を呼出した結果
3475+
]であったかのように解釈する
34253476
34263477
`現在の許可~状態を取得する$( %記述子, %~target )
34273478
@@ -3718,6 +3769,7 @@ <h6 title="The permissions.setPermission Command">B.2.1.3.1. `permissions.setPer
37183769
descriptor: permissions.PermissionDescriptor,
37193770
state: permissions.PermissionState,
37203771
origin: text,
3772+
? topLevelOrigin: text,
37213773
? userContext: text,
37223774
}
37233775
</pre>
@@ -3787,7 +3839,11 @@ <h6 title="The permissions.setPermission Command">B.2.1.3.1. `permissions.setPer
37873839
37883840
</li>
37893841
<li>
3790-
%有型~記述子 ~LET `~IDL値に変換する$( %~parameter群, %許可~名 で`識別される特能$の`許可~記述子~型$ )
3842+
%特能 ~LET %許可~名 で`識別される特能$
3843+
3844+
</li>
3845+
<li>
3846+
%有型~記述子 ~LET `~IDL値に変換する$( %~parameter群, %特能 の`許可~記述子~型$ )
37913847
37923848
例外が投出されたときは
37933849
@@ -3799,6 +3855,19 @@ <h6 title="The permissions.setPermission Command">B.2.1.3.1. `permissions.setPer
37993855
%生成元 ~LET %~command~parameter群 を成す `origin^c ~fieldの値
38003856
38013857
Let origin be the value of the origin field of command parameters.
3858+
</li>
3859+
<li>
3860+
%~top-level生成元 ~LET %~command~parameter群 を成す `topLevelOrigin^c ~fieldは[
3861+
在るならば その値/
3862+
無いならば %生成元
3863+
3864+
3865+
Let top level origin be the value of the topLevelOrigin field of command parameters, if present, and origin otherwise.
3866+
</li>
3867+
<li>
3868+
%~key ~LET %特能 の`許可~key生成~algo$( %生成元, %~top-level生成元 )
3869+
3870+
Let key be the result of generating a permission key for descriptor with origin and top level origin.
38023871
</li>
38033872
<li>
38043873
<p>
@@ -3816,9 +3885,9 @@ <h6 title="The permissions.setPermission Command">B.2.1.3.1. `permissions.setPer
38163885
</p>
38173886
</li>
38183887
<li>
3819-
`許可を設定する$( %有型~記述子, %状態, %生成元, %~UA )
3888+
`許可を設定する$( %有型~記述子, %状態, %~key, %~UA )
38203889
3821-
Set a permission with typedDescriptor, state, and origin.
3890+
Set a permission with typedDescriptor, state, key, and user agent.
38223891
</li>
38233892
<li>
38243893
~RET `成功$wdr( ~NULL )

0 commit comments

Comments
 (0)