LGTM3

/Daniel

On 2021-09-07 19:38, Chris Harrelson wrote:
LGTM2

On Mon, Sep 6, 2021 at 5:51 AM Yoav Weiss <yoavwe...@chromium.org <mailto:yoavwe...@chromium.org>> wrote:

    Thanks for working with the community on these mechanisms that
    enable easier COI adoption!

    M92-M103 would mean the trial is running for ~10 months, which is
    slightly longer than the typical OT. I'm inclined to say that as
    such, an extension would require 3 LGTMs.

    With that said, I don't think there's high risk here, as this is a
    deprecation trial, and you're actively working with partners to
    rip the band-aid off eventually.

    *LGTM1*

    On Mon, Sep 6, 2021 at 2:43 PM Lutz Vahl <v...@chromium.org
    <mailto:v...@chromium.org>> wrote:


                Contact emails

        v...@chromium.org <mailto:v...@chromium.org>
        bbu...@chromium.org <mailto:bbu...@chromium.org>
        cl...@chromium.org <mailto:cl...@chromium.org>


                Explainer

        
https://docs.google.com/document/d/1zDlfvfTJ_9e8Jdc8ehuV4zMEu9ySMCiTGMS9y0GU92k
        
<https://docs.google.com/document/d/1zDlfvfTJ_9e8Jdc8ehuV4zMEu9ySMCiTGMS9y0GU92k>


                Specification

        https://tc39.github.io/ecma262/#sec-sharedarraybuffer-objects
        <https://tc39.github.io/ecma262/#sec-sharedarraybuffer-objects>


                Design docs Including the new security requirements

        
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
        
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer>

        Discussion how and what to gate

        https://github.com/whatwg/html/issues/4732
        <https://github.com/whatwg/html/issues/4732>


                Summary

        ‘SharedArrayBuffers’ (SABs) on desktop platforms are
        restricted to cross-origin isolated environments, matching the
        behavior we've recently shipped on Android and Firefox. We've
        performed that change in Chrome 92. A reverse OT was started
        to give developers the option to use SABs in case they are not
        able to adopt cross origin isolation yet.

        We’ve received lot’s of feedback that adopting COOP/COEP is
        hard (details below). Therefore I’m asking for your approval
        to extend the SAB reverse OT from M96 until M103(branch point
        2022-05-12) to give developers confidence that they'll have
        time to adopt these additional mechanisms as a means to deploy
        cross-origin isolation.


        Experimental timeline / plan for all new capabilities needed
        to replace the OT

        The SAB restriction in M92 went smoothly without any major
        issues in the wild because we offered the reverse OT. We’ve
        received lot’s of feedback that adopting COOP/COEP is hard and
        sometimes impossible (e.g. Steve’s message in this thread).
        Therefore the reverse OT is currently the only way to enable
        SABs for some sites. We do see ~6M DoD active usage of SABs in
        non COI contexts on UMA, chromestatus is showing ~0.36%
        
<https://chromestatus.com/metrics/feature/popularity#V8SharedArrayBufferConstructedWithoutIsolation>.


        To overcome this limitation and make adoption possible, we’re
        working on multiple solutions
        
<https://github.com/camillelamy/explainers/blob/main/cross-origin-isolation-deployment.md>:


        1.

            COEP:credentialless
            <https://github.com/WICG/credentiallessness>-
            https://crbug.com/1218896 <https://crbug.com/1218896>

        COEP:credentialless causes no-cors cross-origin requests not
        to include

        credentials (cookies, client certificates, etc...). Similarly
        to require-corp, it can be used to enable
        cross-origin-isolation. Some developers are blocked on a set
        of dependencies which don't yet assert that they're safe to
        embed in cross-origin isolated environments.

        We're working on a `credentialless` COEP mode which is
        currently in OT that will allow developers to work around this
        constraint. Based on positive developer feedback we expect to
        send an I2S in the near future and are hopeful that we can
        ship this mechanism in the M96


        2.

            COOP same-origin-allow-popups-plus-coep
            
<https://github.com/camillelamy/explainers/blob/main/coi-with-popups.md>

        To allow crossOriginIsolated pages to use popup-based
        OAuth/payment flows, we plan to have COOP
        same-origin-allow-popups enable crossOriginIsolation when used
        in conjunction with COEP. Developers who depend on popups to
        3P for e.g. identity or payment flows can’t currently deploy
        cross-origin-isolation.


        Spec work is ongoing and we’re targeting EoY 2021 to have a
        prototype and start the OT in Q1 2022. As soon as the spec is
        defined, we’ll kick off the intent process. Without this all
        sites need to migrate to WebID and WebPayment for their flows
        to be able to use SABs.



        3.

            Anonymous iframes
            
<https://github.com/camillelamy/explainers/blob/main/anonymous_iframes.md>

        Anonymous iframes are a generalization of COEP credentialless
        to support 3rd party iframes that may not deploy COEP. Like
        with COEP credentialless, we replace the opt-in of
        cross-origin subresources by avoiding to load non-public
        resources. This will remove the constraint and will unblock
        developers to adopt cross-origin-isolation as soon as they’re
        embedding 3P iframes.


        This work is even further down the road as we’re currently
        blocked by the ongoing pre-partitioning work (Storage
        partitioning and CHIPs to be code complete), which is needed
        to safely ship Anonymous iframes. The current plan is to start
        an OT in Q2 2022.

        We’re currently investigating to limit Anonymous iframes to
        sandboxed iframes in the first place to overcome the
        partitioning dependency and start a OT earlier, but this will
        not unblock COI adoption for all iframes.


                Blink component

        Blink>JavaScript
        
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript>


                Search tags

        SharedArrayBuffer
        <https://chromestatus.com/features#tags:SharedArrayBuffer>,SAB
        <https://chromestatus.com/features#tags:SAB>


                TAG review


                https://github.com/w3ctag/design-reviews/issues/471
                <https://github.com/w3ctag/design-reviews/issues/471>


                TAG review status


                Closed


                Risks


                Interoperability and Compatibility

        We expect this change to negatively impact developers using
        `SharedArrayBuffer` today. Chrome was the only platform where
        SABs have been available without COOP/COEP. Therefore we need
        to gice developers the right capabilities and a clear path
        forward to ensure they’ve enough time to adopt. We aim to
        mitigate these risks by adopting a longer-than-usual
        depreciation period with console warnings/issues and a reverse
        origin trial.

        Good news is, that other browsers have or are shipping SABs
        again gated behind COOP/COEP.

        Gecko: Shipped/Shipping
        (https://bugzilla.mozilla.org/show_bug.cgi?id=1312446
        <https://bugzilla.mozilla.org/show_bug.cgi?id=1312446>)

        WebKit: Added COOP/COEP support in the lates preview
        
<https://webkit.org/blog/11962/release-notes-for-safari-technology-preview-131/>.
        SAB support landed
        <https://bugs.webkit.org/show_bug.cgi?id=229559>recently gated
        behind COOP/COEP


                Will this feature be supported on all six Blink
                platforms (Windows, Mac, Linux, Chrome OS, Android,
                and Android WebView)?

        No - This OT is only for desktop, as this was the only
        platform where SABs have been available without COOP/COEP.

        Android re-enabled SABs gated behind
        COOP/COEP:https://chromestatus.com/feature/5171863141482496
        <https://chromestatus.com/feature/5171863141482496>


                Tracking bug

        https://bugs.chromium.org/p/chromium/issues/detail?id=1144104
        <https://bugs.chromium.org/p/chromium/issues/detail?id=1144104>


                Launch bug

        https://bugs.chromium.org/p/chromium/issues/detail?id=1138860
        <https://bugs.chromium.org/p/chromium/issues/detail?id=1138860>


        Blink-dev Thread

        Planning isolation requirements (COOP/COEP) for
        SharedArrayBuffer
        
<https://groups.google.com/a/chromium.org/g/blink-dev/c/_0MEXs6TJhg/m/QzWOGv7pAQAJ>

        I2S
        
<https://groups.google.com/a/chromium.org/g/blink-dev/c/1NKvbIj3dq4/m/nLcgUst-BQAJ>


                Link to entry on the Chrome Platform Status

        https://chromestatus.com/feature/4570991992766464
        <https://chromestatus.com/feature/4570991992766464>


-- 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
        <mailto:blink-dev+unsubscr...@chromium.org>.
        To view this discussion on the web visit
        
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAH0ixBP8_9eWFWYhA2_N_o-1E_xZRqDEh3kZgmZu9YXeX6ajEA%40mail.gmail.com
        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAH0ixBP8_9eWFWYhA2_N_o-1E_xZRqDEh3kZgmZu9YXeX6ajEA%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
    <mailto:blink-dev+unsubscr...@chromium.org>.
    To view this discussion on the web visit
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVJ_L9vsQ%3DcBSiNrkjxyVOwnAQ9j9dHhLwy_OX2ybvQ7A%40mail.gmail.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVJ_L9vsQ%3DcBSiNrkjxyVOwnAQ9j9dHhLwy_OX2ybvQ7A%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 <mailto: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%2Bw-FdUFTxot76v0sctkTSARFWL1q%2BUKpTwTnekt2t7DHvg%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-FdUFTxot76v0sctkTSARFWL1q%2BUKpTwTnekt2t7DHvg%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/3702e46d-5e9e-7ebe-310f-9a3930d569a9%40gmail.com.

Reply via email to