*LGTM1* This seems like a useful addition to the platform. Thank you for the detailed explainer, your work on incorporating TAG feedback, for paving a cowpath by adopting already-used syntax and for getting developer feedback through a successful Dev Trial!
On Tue, Aug 31, 2021 at 5:23 PM Ben Kelly <[email protected]> wrote: > Since it might come up in review, I want to share my reasoning for not > going through origin trial with this API: > > 1. I don't have a partner who has said they will use the origin trial > and provide feedback. > 2. Our survey showed developers would use an origin trial, but the > survey did not describe what an OT is or would require for deployment. I > think this casts some doubt on these answers. > 3. Developers who want to try the API in production can already do so > with the polyfill without the hassle of managing OT tokens. > 4. There are no UX, permissions, or other engagement type questions > related to this API that an OT could help answer. > > For these reasons I felt an origin trial would not be useful for this API. > > On Mon, Aug 30, 2021 at 5:46 PM Domenic Denicola <[email protected]> > wrote: > >> Non-owner LGTM! >> >> As Ben's spec mentor, I want to mention how well the >> specification-writing process for this has gone. Not only did Ben produce >> an extremely thorough spec, with review for every commit, but we also had >> the good fortune of getting a second implementation >> <https://github.com/denoland/rust-urlpattern> as the spec came out, >> which found a number of small bugs that slipped through review. In >> combination with the good web platform tests >> <https://wpt.fyi/results/urlpattern?label=experimental&label=master&aligned> >> which >> have high coverage >> <https://analysis.chromium.org/p/chromium/coverage/dir?host=chromium.googlesource.com&project=chromium/src&ref=refs/heads/main&revision=399808806081f555cc4b4ca60821c9efc9a9ac04&path=//third_party/liburlpattern/&platform=linux&test_suite_type=any>, >> I'm confident that the resulting spec will be interoperably implementable. >> >> Separately, I want to note how this is a great instance of responsible >> platform evolution. At the original TPAC where URL pattern matching for >> service worker scopes was proposed, there was some worry that we might >> create a solution that is good enough for service workers, but not useful >> for web developers in general. Ben took this criticism to heart and >> prioritized this general URLPattern API, with lots of involvement from the >> web developer community, to ensure that we're creating something generally >> useful. >> >> -Domenic >> >> On Mon, Aug 30, 2021 at 5:08 PM Ben Kelly <[email protected]> >> wrote: >> >>> Contact [email protected] >>> >>> Explainerhttps://github.com/WICG/urlpattern/blob/master/explainer.md >>> >>> Specificationhttps://wicg.github.io/urlpattern/ >>> >>> Summary >>> >>> URLPattern is a new web API that provides native support for matching >>> URLs given a pattern string. It is designed to be usable both in javascript >>> directly and by passing patterns to other web platform APIs; e.g. as a >>> service worker scope. >>> >>> >>> Blink componentBlink >>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink> >>> >>> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/417 >>> >>> TAG review statusIssues addressed >>> >>> Risks >>> >>> >>> Interoperability and Compatibility >>> >>> This API has minimal interop and compat risk. It can easily be feature >>> detected and a polyfill is available at: >>> https://www.npmjs.com/package/urlpattern-polyfill >>> >>> >>> Gecko: No signal ( >>> https://github.com/mozilla/standards-positions/issues/566 >>> <https://chromestatus.com/admin/features/launch/5731920199548928/5?intent=1> >>> ) >>> >>> WebKit: No signal ( >>> https://lists.webkit.org/pipermail/webkit-dev/2021-August/031942.html) >>> >>> Web developers: Positive ( >>> https://github.com/WICG/urlpattern/blob/main/dev-trials-feedack.md) >>> >>> Ergonomics >>> >>> The URLPattern API will often be used with the URL API. To make this >>> more natural we have tried to match URL behavior and API shape wherever >>> possible. URLPattern is also similar in nature to RegExp and we have >>> attempted to match its API shape as well; e.g. providing `test()` and >>> `exec()` methods. In regard to the ergonomics of the pattern syntax itself, >>> we have adopted the syntax from the popular javascript library >>> path-to-regexp. Our hope is that using a popular syntax will result in the >>> web API being more natural for developers to use. >>> >>> >>> Activation >>> >>> The URLPattern API is easily feature detected and a polyfill is availabe >>> at: https://www.npmjs.com/package/urlpattern-polyfill >>> >>> >>> Security >>> >>> The main security risks involve the addition of a new parser in the >>> platform. Since parsers are common attack vectors it does represent a risk. >>> We mitigate this risk by requiring that URLPattern strings must be parsed >>> in the sandboxed renderer. In addition, we are actively fuzzing the parser. >>> >>> >>> Debuggability >>> >>> Currently URLPattern does not have any special integration with >>> devtools. The summary view of the URLPattern object is already useful for >>> inspecting what patterns it will use to match. Exceptions are used to >>> report errors in constructing a URLPattern. In the future it may be useful >>> to provide some kind of syntax highlighting or checking of URLPattern >>> syntax. This seems challenging, though, as the values are passed as plain >>> javascript strings and are not a javascript type like regular expressions. >>> This could be an area for future exploration, though. >>> >>> >>> Is this feature fully tested by web-platform-tests >>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> >>> ?Yes >>> >>> DevTrial instructions >>> https://github.com/WICG/urlpattern/blob/main/howto.md >>> >>> Flag nameabout://flags/#enable-experimental-web-platform-features >>> >>> Requires code in //chrome?False >>> >>> Tracking bug >>> https://bugs.chromium.org/p/chromium/issues/detail?id=1141510 >>> >>> Estimated milestones >>> DevTrial on desktop 93 >>> DevTrial on Webview 93 >>> >>> Link to entry on the Chrome Platform Status >>> https://chromestatus.com/feature/5731920199548928 >>> >>> Links to previous Intent discussionsIntent to prototype: >>> https://groups.google.com/a/chromium.org/d/msg/blink-dev/jBMvUEkyBq8/IwYIZmhEBQAJ >>> Ready for Trial: >>> https://groups.google.com/a/chromium.org/g/blink-dev/c/WitVII_BzyU/m/mI8lZY4NAgAJ >>> >>> >>> This intent message was generated by Chrome Platform Status >>> <https://www.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 [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMgCrO2VN09hUEvfwnMBLqRWzA1NVHk%3D-PBwPhtJ%2BVO3Ag%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMgCrO2VN09hUEvfwnMBLqRWzA1NVHk%3D-PBwPhtJ%2BVO3Ag%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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMgGQ1v8eCmUz3PnS%3DxWaWhb2ady35ReHuSV7UySkYgX9A%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMgGQ1v8eCmUz3PnS%3DxWaWhb2ady35ReHuSV7UySkYgX9A%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 [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWY%3DqWrJf%3DAfyjpYxHtN7e%2ByhBYbPEx9jHbrrt35YGgbg%40mail.gmail.com.
