LGTM3

On 2/26/25 11:01 AM, Chris Harrelson wrote:
LGTM2

On Fri, Feb 21, 2025 at 7:00 AM Yoav Weiss (@Shopify) <yoavwe...@chromium.org> wrote:

    LGTM1 to align on the defacto and desired behavior. (but please
    make sure that the relevant spec work does happen)

    On Wed, Feb 19, 2025 at 7:01 PM 'Liang Zhao' via blink-dev
    <blink-dev@chromium.org> wrote:



        On Wednesday, February 19, 2025 at 3:34:23 AM UTC-8 Yoav Weiss
        (@Shopify) wrote:

            On Thursday, February 13, 2025 at 5:50:24 AM UTC+1 Domenic
            Denicola wrote:

                I'll refrain from giving formal LGTM to let more
                discussion settle, but I want to provide my API owner
                perspective that we should approve this without
                requiring the specification work to finish up.

                Specifying this is unfortunately very complex. There
                have been multiple attempts (2015
                <https://github.com/whatwg/html/pull/322>, 2018
                <https://github.com/whatwg/html/pull/3725>). Each time
                we have uncovered foundational issues in the HTML
                spec, or the service workers spec, or the interaction
                between them, which have made specifying the behavior
                rigorously difficult.

                Over time, we've made significant progress on these
                foundations, e.g. the original 2015 attempt spawned
                the introduction of the now-foundational "environment"
                concept <https://github.com/whatwg/html/pull/1776>.
                And 1.5 years ago we landed the big navigation and
                session history rewrite
                <https://github.com/whatwg/html/pull/6315>, which let
                Dom Farolino make a series of improvements
                
<https://github.com/whatwg/html/pulls?q=is%3Apr+is%3Aclosed+author%3Adomfarolino+about%3A>
 to
                the srcdoc iframe specification in general.

                I'm optimistic that we could now specify the behavior
                described in this Intent! ... With significant effort.
                And Monica, the new service worker spec editor, has
                recently indicated interest
                
<https://github.com/whatwg/html/pull/3725#issuecomment-2638146186>
                in taking on that effort!

                But I don't think we should block on that. The desired
                behavior has been known since 2015, and Firefox and
                Safari have mostly aligned on it.

                I think we should aim for a good balance of effort and
                interop, by:

                  * Putting extra effort into landing an exhaustive
                    test suite, as part of this intent
                  * Updating Chromium to conform to that test suite,
                    by approving this intent
                  * And then, asynchronously, focus on getting the
                    spec updated, and getting all browsers to converge
                    on the edge cases that the test suite uncovers.


                *Regarding the test suite, can the Intent authors
                confirm that all the cases from this 2017 test suite
                PR
                <https://github.com/web-platform-tests/wpt/pull/4610> are
                included?* I want to make sure we have at least that
                much coverage.


            Friendly ping on this question! :)

        Yes, all the cases of*this 2017 test suite PR
        <https://github.com/web-platform-tests/wpt/pull/4610> *are
        covered by newly added wpt tests, and more. The added tests
        are at
        
https://wpt.fyi/results/service-workers/service-worker/srcdoc-iframe.https.html.
        Also updated chromestatus with the added tests link.


                On Wednesday, February 12, 2025 at 12:24:24 PM UTC+9
                Yoshisato Yanagisawa wrote:

                    Hi Chris,

                    Thanks for the reply.

                    2025年2月12日(水) 3:56 Chris Harrelson
                    <chri...@chromium.org>:

                        Hi, comment below.

                        On Sun, Feb 9, 2025 at 10:52 PM Chromestatus
                        <ad...@cr-status.appspotmail.com> wrote:

                            Contact emails lz...@microsoft.com,
                            yyana...@chromium.org

                            Explainer None

                            Specification
                            https://github.com/w3c/ServiceWorker/issues/765
                            <https://github.com/w3c/ServiceWorker/issues/765>


                        This is an issue and not a specification. Is
                        the srcdoc change in behavior here landed in
                        the service worker specification?


                    That is true.  I found the following:
                    
https://w3c.github.io/ServiceWorker/#control-and-use-window-client
                    
<https://w3c.github.io/ServiceWorker/#control-and-use-window-client>
                    Especially,

                    Note: Sandboxed
                    
<https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-sandbox>
                    iframe
                    
<https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-iframe-element>s
                    without the sandboxing directives,
                    allow-same-origin and allow-scripts, result in
                    having the active service worker
                    
<https://html.spec.whatwg.org/multipage/webappapis.html#concept-environment-active-service-worker>
 value
                    of null as their origin
                    
<https://html.spec.whatwg.org/multipage/browsers.html#concept-origin> is
                    an opaque origin
                    
<https://html.spec.whatwg.org/multipage/browsers.html#concept-origin-opaque>.

                    Will it work?



                            Summary

                            Srcdoc context documents are currently not
                            service worker clients and not covered by
                            their parent’s service worker. That
                            results in some discrepancies (e.g.
                            Resource Timing reports the URLs that
                            these document load, but service worker
                            doesn’t intercept them). This aims to fix
                            the discrepancies by creating service
                            worker clients for srcdoc iframes and make
                            them inherit parent's service worker
                            controller.



                            Blink component Blink>ServiceWorker
                            
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EServiceWorker%22>


                            TAG review None

                            TAG review status Not applicable

                            Risks


                            Interoperability and Compatibility

                            There are basic consensus on spec
                            discussion to make srcdoc iframes inherit
                            parent's service worker controller: -
                            https://github.com/w3c/ServiceWorker/issues/765
                            <https://github.com/w3c/ServiceWorker/issues/765>
                            - https://github.com/whatwg/html/pull/2809
                            <https://github.com/whatwg/html/pull/2809>
                            - https://github.com/whatwg/html/pull/3725
                            <https://github.com/whatwg/html/pull/3725>
                            -
                            https://github.com/web-platform-tests/wpt/pull/4610
                            
<https://github.com/web-platform-tests/wpt/pull/4610>
                            and Firefox/Safari are already passing
                            basic tests: -
                            
https://wpt.fyi/results/service-workers/service-worker/about-blank-replacement.https.html?label=experimental&label=master&aligned
                            
<https://wpt.fyi/results/service-workers/service-worker/about-blank-replacement.https.html?label=experimental&label=master&aligned>
                            ("Nested about:srcdoc is controlled and
                            ..." subtest). While - The actual spec PRs
                            are not yet merged/finalized. - There are
                            minor behevior differences regarding to
                            sandbox attribute interaction
                            
(https://chromium-review.googlesource.com/c/chromium/src/+/6085871/comment/5e2b64cc_e0e5b3f1/
                            
<https://chromium-review.googlesource.com/c/chromium/src/+/6085871/comment/5e2b64cc_e0e5b3f1/>)
                            it's still beneficial to make Chromium
                            catch up, to provide the basic consistent
                            behavior across browsers.



                            /Gecko/: Shipped/Shipping
                            
(https://wpt.fyi/results/service-workers/service-worker/about-blank-replacement.https.html?label=experimental&label=master&aligned
                            
<https://wpt.fyi/results/service-workers/service-worker/about-blank-replacement.https.html?label=experimental&label=master&aligned>)
                            Passing basic WPT tests.

                            /WebKit/: Shipped/Shipping
                            
(https://wpt.fyi/results/service-workers/service-worker/about-blank-replacement.https.html?label=experimental&label=master&aligned
                            
<https://wpt.fyi/results/service-workers/service-worker/about-blank-replacement.https.html?label=experimental&label=master&aligned>)
                            Passing basic WPT tests.

                            /Web developers/: No signals

                            /Other signals/:

                            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?

                            None



                            Debuggability

                            With this feature, the srcdoc iframe and
                            service worker interaction can be debugged
                            the same way as other iframes. When it is
                            controlled by a service worker, all the
                            normal Service Worker APIs like
                            navigator.serviceWorker.controller work
                            for the frame the same way as other
                            frames, and service worker APIs like
                            clients.matchAll() work the same way for
                            this type of clients.



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

                            Is this feature fully tested by
                            web-platform-tests
                            
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
                            Yes

                            Basic test at
                            
https://wpt.fyi/results/service-workers/service-worker/about-blank-replacement.https.html?label=experimental&label=master&aligned
                            
<https://wpt.fyi/results/service-workers/service-worker/about-blank-replacement.https.html?label=experimental&label=master&aligned>
                            As part of the feature work, we are adding
                            a new srcdoc-iframe.https.html test in the
                            same folder.



                            Flag name on about://flags None

                            Finch feature name ServiceWorkerSrcdocSupport

                            Requires code in //chrome? False

                            Tracking bug https://crbug.com/41411856

                            Estimated milestones Shipping on desktop
                            135 Shipping on Android 135 Shipping on
                            WebView 135

                            Anticipated spec changes

                            Open questions about a feature may be a
                            source of future web compat or interop
                            issues. Please list open issues (e.g.
                            links to known github issues in the
                            project for the feature specification)
                            whose resolution may introduce web
                            compat/interop risk (e.g., changing to
                            naming or structure of the API in a
                            non-backward-compatible way).

                            None

                            Link to entry on the Chrome Platform
                            Status
                            
https://chromestatus.com/feature/5128675425779712?gate=5164246479142912
                            
<https://chromestatus.com/feature/5128675425779712?gate=5164246479142912>


                            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 visit
                            
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67a9a231.2b0a0220.2908d.03c1.GAE%40google.com
                            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67a9a231.2b0a0220.2908d.03c1.GAE%40google.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 visit
        
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1845551d-cf76-43c8-aaab-121299b1a49bn%40chromium.org
        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1845551d-cf76-43c8-aaab-121299b1a49bn%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 visit
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2Bah_d%2BSAWuxgRozzzw35yKZxvmNLD-6aLL6S%2BwoA257A%40mail.gmail.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2Bah_d%2BSAWuxgRozzzw35yKZxvmNLD-6aLL6S%2BwoA257A%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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-K1chxn8Y6_t7u3%2BL84rJZmD%3DNXzEf3dQvc19pzayy5A%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-K1chxn8Y6_t7u3%2BL84rJZmD%3DNXzEf3dQvc19pzayy5A%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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c239ffc4-d4fb-4d6a-99f8-5808cf553c6e%40chromium.org.

Reply via email to