144144●●options
145145
146146spec_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
149149source_checked:230612
150150page_state_key:WEBAPPSEC
151151original_url:https://w3c.github.io/permissions/
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:許容リスト
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>
21182123A 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◎
26402659Queue 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◎
38013857Let 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