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
>
>
> 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
> 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/whatwg/html/pull/2809 - https://github.com/whatwg/html
> /pull/3725 - 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
> ("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/) it's still beneficial to make
> Chromium catch up, to provide the basic consistent behavior across browsers.
>
>
> *Gecko*: Shipped/Shipping (https://wpt.fyi/results/servi
> ce-workers/service-worker/about-blank-replacement.https.
> html?label=experimental&label=master&aligned) Passing basic WPT tests.
>
> *WebKit*: Shipped/Shipping (https://wpt.fyi/results/servi
> ce-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
> 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/featu
> re/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/ch
> romium.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.

Reply via email to