We're now rolling this feature out to 100% on Chrome Stable (M117 and 
later).

On Tuesday, September 26, 2023 at 11:20:29 AM UTC-4 Chris Fredrickson wrote:

> Belatedly updating this thread in case folks are monitoring it -- we've 
> enabled this feature on 1% of Chrome Stable (M117) clients. We'll update 
> this thread again when we roll out to a higher percentage.
>
> As a reminder: if people would like to test this feature out before we've 
> fully shipped it, they can can follow the testing instructions here: 
> https://github.com/cfredric/chrome-storage-access-api#testing-instructions
>
> On Tuesday, August 22, 2023 at 1:26:10 PM UTC-4 Mike Taylor wrote:
>
>> LGTM3
>> On 8/22/23 10:49 AM, Yoav Weiss wrote:
>>
>> LGTM2
>>
>> On Wed, Aug 16, 2023 at 7:31 PM Chris Harrelson <chris...@chromium.org> 
>> wrote:
>>
>>> I agree with Chris F. that it's not worth the disruption to change the 
>>> name or its location, and that leaving the name as-is, even if suboptimal, 
>>> is a better outcome for web developers. 
>>>
>>> LGTM1
>>>
>>> On Wed, Aug 16, 2023 at 9:37 AM 'Jeffrey Yasskin' via blink-dev <
>>> blink-dev@chromium.org> wrote:
>>>
>>>> I see this as the other vendors endorsing Blink's general policy, 
>>>> implied by the wording in 
>>>> https://www.chromium.org/blink/guidelines/web-platform-changes-guidelines/#browser-engine-reviews,
>>>>  
>>>> that there's a high bar for name changes after shipping. If this API, 
>>>> which 
>>>> has a clearly inaccurate name and was shipped with no invitation for 
>>>> cross-vendor feedback, isn't worth changing after shipping, then it's not 
>>>> worth changing most APIs that Blink ships first either.
>>>>
>>>> Jeffrey
>>>>
>>>> On Wed, Aug 16, 2023 at 8:52 AM Alex Russell <slightly...@chromium.org> 
>>>> wrote:
>>>>
>>>>> Hrm; the TAG had (many years ago, when I served) noted big problems 
>>>>> with the shape of this API. It's surprising we're taking it as-is.
>>>>>
>>>>> On Tuesday, August 8, 2023 at 9:08:43 AM UTC-7 Chris Fredrickson wrote:
>>>>>
>>>>>> Hi Alex, 
>>>>>>
>>>>>> I hear you about the method names. However since Safari, Firefox, and 
>>>>>> Edge had all previously shipped this API using these names and web 
>>>>>> developers have already begun using it, it would have been disruptive 
>>>>>> for 
>>>>>> Chrome to force a rename. We opted to limit the disruption we caused to 
>>>>>> improving the ergonomics and security posture of the API instead (1 
>>>>>> <https://github.com/privacycg/storage-access/pull/138>, 2 
>>>>>> <https://github.com/privacycg/storage-access/pull/141>, 3 
>>>>>> <https://github.com/privacycg/storage-access/pull/132>, 4 
>>>>>> <https://github.com/privacycg/storage-access/pull/159>, 5 
>>>>>> <https://github.com/privacycg/storage-access/pull/169>, 6 
>>>>>> <https://github.com/privacycg/storage-access/pull/174>), since that 
>>>>>> was indeed disruptive but there was at least cross-browser interest in 
>>>>>> making those changes.
>>>>>>
>>>>>> Re: navigator vs document, there was previous discussion of this here 
>>>>>> <https://github.com/privacycg/storage-access/issues/22>. We did not 
>>>>>> specifically ask the TAG about which object they preferred, but they 
>>>>>> closed 
>>>>>> their review with no comments. Considering that each document's access 
>>>>>> is 
>>>>>> independent of access obtained by other documents (due to the per-frame 
>>>>>> security model), the choice of document makes some sense to me, 
>>>>>> personally 
>>>>>> - but there may be some best practice I'm unaware of.
>>>>>>
>>>>>> FWIW, Chrome is exploring 
>>>>>> <https://github.com/privacycg/storage-access/issues/102#issuecomment-1550967682>
>>>>>>  
>>>>>> ways to use document.requestStorageAccess() to provide access to 
>>>>>> unpartitioned DOM storage in the future, in which case the current name 
>>>>>> would be more appropriate.
>>>>>>
>>>>>> Chris
>>>>>>
>>>>>> On Monday, August 7, 2023 at 6:46:41 PM UTC-4 Alex Russell wrote:
>>>>>>
>>>>>>> Hey Chris, 
>>>>>>>
>>>>>>> Thanks for the details here.
>>>>>>>
>>>>>>> Can you perhaps outline why we didn't take the opportunity here to 
>>>>>>> rename this to better represent what the API actually does? E.g., 
>>>>>>> `requestUnpartitionedCookieAccess()`? And was any effort made to move 
>>>>>>> the 
>>>>>>> API to a more suitable object; e.g. `navigator`? Was this discussed 
>>>>>>> with 
>>>>>>> the TAG?
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Alex
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Monday, August 7, 2023 at 11:47:45 AM UTC-7 Chris Fredrickson 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Mike,
>>>>>>>>
>>>>>>>> Sure. MDN has a section 
>>>>>>>> <https://developer.mozilla.org/en-US/docs/Web/API/Storage_Access_API#browser_storage_access_policy_variations>
>>>>>>>>  
>>>>>>>> (which may be incomplete or outdated) on the implementation 
>>>>>>>> differences 
>>>>>>>> between Safari, Firefox, and Chromium-based browsers. But specifically 
>>>>>>>> related to the prompt requirements, there are two aspects that may 
>>>>>>>> cause 
>>>>>>>> compat issues:
>>>>>>>>
>>>>>>>>    1. 
>>>>>>>>    
>>>>>>>>    Permission lifetime. Storage Access grants have different 
>>>>>>>>    lifetimes in different browsers, so web developers may have to show 
>>>>>>>> a 
>>>>>>>>    prompt more often than they expect:
>>>>>>>>    1. 
>>>>>>>>       
>>>>>>>>       Firefox: 30 calendar days.
>>>>>>>>       2. 
>>>>>>>>       
>>>>>>>>       Chrome: 30 calendar days.
>>>>>>>>       3. 
>>>>>>>>       
>>>>>>>>       Safari: 30 days of browser usage.
>>>>>>>>       2. 
>>>>>>>>    
>>>>>>>>    User interaction requirement. Whether a user gesture is 
>>>>>>>>    required by document.requestStorageAccess() is inconsistent across 
>>>>>>>> browsers:
>>>>>>>>    1. 
>>>>>>>>       
>>>>>>>>       Firefox: always requires user interaction. (This is a 
>>>>>>>>       nonstandard behavior, but it appears Firefox is being updated 
>>>>>>>>       <https://phabricator.services.mozilla.com/D183175> to not 
>>>>>>>>       require user interaction in some cases.)
>>>>>>>>       2. 
>>>>>>>>       
>>>>>>>>       Chrome: requires user interaction unless the user has 
>>>>>>>>       already granted access.
>>>>>>>>       3. 
>>>>>>>>       
>>>>>>>>       Safari: always 
>>>>>>>>       
>>>>>>>> <https://github.com/privacycg/storage-access/issues/172#issuecomment-1521653447>
>>>>>>>>  
>>>>>>>>       requires user interaction. (This is a nonstandard behavior.)
>>>>>>>>       
>>>>>>>>
>>>>>>>> Since Firefox and Safari currently impose stricter user interaction 
>>>>>>>> requirements than what the spec dictates, this could lead to compat 
>>>>>>>> issues 
>>>>>>>> if web developers assume that browsers don't impose additional 
>>>>>>>> browser-specific constraints.
>>>>>>>>
>>>>>>>> There's one additional aspect, where web developers may not need to 
>>>>>>>> call document.requestStorageAccess() at all in certain situations in 
>>>>>>>> some 
>>>>>>>> browsers (which could lead to broken experiences if web developers 
>>>>>>>> assume 
>>>>>>>> they can always omit the explicit call):
>>>>>>>>
>>>>>>>>    - Firefox: if foo.example has obtained storage access while 
>>>>>>>>    embedded under bar.example, and the user loads a bar.example page 
>>>>>>>> that 
>>>>>>>>    includes a foo.example iframe, then that iframe will load with 
>>>>>>>> implicit 
>>>>>>>>    storage access -- without having to call 
>>>>>>>> document.requestStorageAccess() 
>>>>>>>>    first. (This is a deviation from the specification, but this part 
>>>>>>>> of the 
>>>>>>>>    spec was changed relatively recently 
>>>>>>>>    <https://github.com/privacycg/storage-access/issues/113> for 
>>>>>>>>    security reasons; Firefox is planning 
>>>>>>>>    <https://bugzilla.mozilla.org/show_bug.cgi?id=1837648> to 
>>>>>>>>    incorporate the recent changes.) 
>>>>>>>>
>>>>>>>> Chris
>>>>>>>> On Wednesday, August 2, 2023 at 5:02:35 PM UTC-4 Mike Taylor wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 8/2/23 4:47 PM, Chris Fredrickson wrote:
>>>>>>>>>
>>>>>>>>> Contact emails 
>>>>>>>>>
>>>>>>>>> cfred...@chromium.org, johann...@chromium.org, 
>>>>>>>>> shuu...@chromium.org
>>>>>>>>>
>>>>>>>>> Explainer 
>>>>>>>>>
>>>>>>>>> https://github.com/privacycg/storage-access/blob/main/README.md
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://github.com/cfredric/chrome-storage-access-api/blob/main/README.md
>>>>>>>>>
>>>>>>>>> Specification 
>>>>>>>>>
>>>>>>>>> https://privacycg.github.io/storage-access
>>>>>>>>>
>>>>>>>>> Summary 
>>>>>>>>>
>>>>>>>>> The Storage Access API provides a means for authenticated 
>>>>>>>>> cross-site embeds to check whether access to unpartitioned cookies is 
>>>>>>>>> blocked and request access if it is blocked. This request may be 
>>>>>>>>> surfaced 
>>>>>>>>> to the user as a prompt, or auto-granted/auto-denied. Chrome will 
>>>>>>>>> support 
>>>>>>>>> the Storage Access API by implementing all the behaviors listed in 
>>>>>>>>> the 
>>>>>>>>> specification, i.e. with user prompts, and additionally having its 
>>>>>>>>> own 
>>>>>>>>> user-agent-specific behaviors. Chrome’s implementation is available 
>>>>>>>>> for testing 
>>>>>>>>> <https://github.com/cfredric/chrome-storage-access-api#testing-instructions>
>>>>>>>>>  
>>>>>>>>> starting in Chrome 117.
>>>>>>>>>
>>>>>>>>> The Storage Access API is related to other cookie-focused projects 
>>>>>>>>> like CHIPS 
>>>>>>>>> <https://developer.chrome.com/en/docs/privacy-sandbox/chips/> and 
>>>>>>>>> First-Party 
>>>>>>>>> Sets <https://github.com/WICG/first-party-sets> as preparation 
>>>>>>>>> for phasing out third-party cookies 
>>>>>>>>> <https://developer.chrome.com/en/docs/privacy-sandbox/third-party-cookie-phase-out/>
>>>>>>>>>  
>>>>>>>>> in Chrome.
>>>>>>>>>
>>>>>>>>> Note that Edge previously sent an I2I 
>>>>>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/e5fu5Q06ntA/m/UUqPuA8hEQAJ>
>>>>>>>>>  
>>>>>>>>> for the Storage Access API feature (with their own 
>>>>>>>>> user-agent-specific 
>>>>>>>>> behavior), and Chrome has previously sent an I2S 
>>>>>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/V9PzoCvIIIs/m/CZ4JT7YaAgAJ>
>>>>>>>>>  
>>>>>>>>> for support for the Storage Access API gated on First-Party Sets 
>>>>>>>>> membership 
>>>>>>>>> (without user prompts). This I2S is intended for support for the API 
>>>>>>>>> across 
>>>>>>>>> sites that are not within the same First-Party Set.
>>>>>>>>>
>>>>>>>>> Blink component 
>>>>>>>>>
>>>>>>>>> Blink>StorageAccessAPI 
>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EStorageAccessAPI>
>>>>>>>>>
>>>>>>>>> TAG review 
>>>>>>>>>
>>>>>>>>> https://github.com/w3ctag/design-reviews/issues/807 (review of 
>>>>>>>>> overall API, not of prompts)
>>>>>>>>>
>>>>>>>>> TAG review status 
>>>>>>>>>
>>>>>>>>> Positive 
>>>>>>>>> <https://github.com/w3ctag/design-reviews/issues/807#issuecomment-1431464692>
>>>>>>>>>
>>>>>>>>> Risks
>>>>>>>>>
>>>>>>>>> Interoperability and Compatibility 
>>>>>>>>>
>>>>>>>>> There is minor compatibility risk as Firefox and Safari already 
>>>>>>>>> differ slightly in their user-agent-specific prompt requirements. 
>>>>>>>>> Chrome's 
>>>>>>>>> planned behavior 
>>>>>>>>> <https://github.com/cfredric/chrome-storage-access-api> is 
>>>>>>>>> closest to Safari's current behavior, and we aim to standardize as 
>>>>>>>>> much of 
>>>>>>>>> this user-agent-specific behavior as possible over time.
>>>>>>>>>
>>>>>>>>> Could you elaborate on the differences for prompt requirements, 
>>>>>>>>> and how that might lead to compat issues?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Gecko: Shipping
>>>>>>>>>
>>>>>>>>> WebKit: Shipping
>>>>>>>>>
>>>>>>>>> Web developers: There has been great developer interest in the 
>>>>>>>>> Storage Access API, given that it provides the only predictable way 
>>>>>>>>> of 
>>>>>>>>> working with cross-site cookies in many browsers. Various developers 
>>>>>>>>> have 
>>>>>>>>> chimed in on https://github.com/whatwg/html/issues/3338 and filed 
>>>>>>>>> issues on https://github.com/privacycg/storage-access.
>>>>>>>>>
>>>>>>>>> Other signals: Edge has shipped Blink's previous implementations 
>>>>>>>>> of this API, which differ from Chrome's plans. We have kept (and 
>>>>>>>>> intend to 
>>>>>>>>> continue keeping) Edge engineers in the loop about these changes and 
>>>>>>>>> there 
>>>>>>>>> will be feature flags to control Blink's behavior.
>>>>>>>>>
>>>>>>>>> WebView application risks 
>>>>>>>>>
>>>>>>>>> Does this intent deprecate or change behavior of existing APIs, 
>>>>>>>>> such that it has potentially high risk for Android WebView-based 
>>>>>>>>> applications? No.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Debuggability 
>>>>>>>>>
>>>>>>>>> None
>>>>>>>>>
>>>>>>>>> Will this feature be supported on all six Blink platforms 
>>>>>>>>> (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? 
>>>>>>>>>
>>>>>>>>> No. It will be supported on all Blink platforms except Android 
>>>>>>>>> WebView initially. We may add WebView support in the future.
>>>>>>>>>
>>>>>>>>> Is this feature fully tested by web-platform-tests 
>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>>>>> ? 
>>>>>>>>>
>>>>>>>>> No. Browser UI is not testable by WPTs, since that is UA-specific. 
>>>>>>>>> (The Storage Access API spec itself is tested by WPTs 
>>>>>>>>> <https://wpt.fyi/results/storage-access-api>.)
>>>>>>>>>
>>>>>>>>> Flag name on chrome://flags 
>>>>>>>>>
>>>>>>>>> #storage-access-api, #permission-storage-access-api
>>>>>>>>>
>>>>>>>>> Finch feature name 
>>>>>>>>>
>>>>>>>>> StorageAccessAPI, PermissionStorageAccessAPI
>>>>>>>>>
>>>>>>>>> Non-finch justification 
>>>>>>>>>
>>>>>>>>> None
>>>>>>>>>
>>>>>>>>> Requires code in //chrome? 
>>>>>>>>>
>>>>>>>>> True
>>>>>>>>>
>>>>>>>>> Estimated milestones
>>>>>>>>>     Shipping on desktop: 117 
>>>>>>>>>     Shipping on Android: 120
>>>>>>>>>
>>>>>>>>> Anticipated spec changes 
>>>>>>>>>
>>>>>>>>> Some minor changes are expected in order to properly take user 
>>>>>>>>> settings into account: 
>>>>>>>>> https://github.com/privacycg/storage-access/pull/174 and an 
>>>>>>>>> analogous change for document.requestStorageAccess.
>>>>>>>>>
>>>>>>>>> There is ongoing discussion 
>>>>>>>>> <https://github.com/privacycg/storage-access/issues/102> on how 
>>>>>>>>> to offer access to unpartitioned DOM storage via this API.
>>>>>>>>>
>>>>>>>>> The spec has been in incubation being co-developed by all three 
>>>>>>>>> browser engines for a while and is close to graduation as tracked 
>>>>>>>>> here: 
>>>>>>>>> https://github.com/whatwg/html/issues/9000.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Link to entry on the Chrome Platform Status 
>>>>>>>>>
>>>>>>>>> https://chromestatus.com/feature/5085655327047680
>>>>>>>>>
>>>>>>>>> Links to previous Intent discussions 
>>>>>>>>>
>>>>>>>>> Intent to prototype: Intent to Prototype: Storage Access API with 
>>>>>>>>> Prompts 
>>>>>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/zt-nqGpURNY/m/FF6ciM6qAwAJ>
>>>>>>>>>
>>>>>>>>> This intent message was generated by Chrome Platform Status 
>>>>>>>>> <https://chromestatus.com/>.
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>> Groups "blink-dev" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>> send an email to blink-dev+unsubscr...@chromium.org.
>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5e44f071-97ba-41e0-a0cd-7bd3a210d6bdn%40chromium.org
>>>>>>>>>  
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5e44f071-97ba-41e0-a0cd-7bd3a210d6bdn%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "blink-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to blink-dev+unsubscr...@chromium.org.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8884e737-21c8-4c01-9cc3-caaf125e52e2n%40chromium.org
>>>>>  
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8884e737-21c8-4c01-9cc3-caaf125e52e2n%40chromium.org?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "blink-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to blink-dev+unsubscr...@chromium.org.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANh-dXnGvxVw8CwP1sPk-%2Bxf-ObjuTxXe2a9LdaSe2g6wv0d1w%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANh-dXnGvxVw8CwP1sPk-%2Bxf-ObjuTxXe2a9LdaSe2g6wv0d1w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "blink-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to blink-dev+unsubscr...@chromium.org.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9iRq4Z75qEhWP9rFAGUStasGVCi6wc4btVT2-CoJiuHw%40mail.gmail.com
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9iRq4Z75qEhWP9rFAGUStasGVCi6wc4btVT2-CoJiuHw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/944eeb21-8059-42f0-9742-010293250540n%40chromium.org.

Reply via email to