Silent failures + console warnings/errors seem to address this, right? On Fri, Oct 29, 2021 at 9:15 AM Thomas Steiner <to...@google.com> wrote:
> As a developer, I have run into a stupid typo in a filter's name making me > pull my hair out for an hour until I realized it. Had there been a console > warning or an error about the non-existent filter name, I would not be bald > 🧑‍🦲 now. > > On Fri, Oct 29, 2021 at 7:24 AM Yoav Weiss <yoavwe...@chromium.org> wrote: > >> Hey Domenic! :) >> >> On Thu, Oct 28, 2021 at 11:00 PM Domenic Denicola <dome...@chromium.org> >> wrote: >> >>> >>> >>> On Thu, Oct 28, 2021 at 3:48 PM 'Aaron Krajeski' via blink-dev < >>> blink-dev@chromium.org> wrote: >>> >>>> yoavweiss@: >>>> >>>> Great video, thanks for that!! >>>> >>>> Thanks! >>>> >>>> Were the concerns WebKit raised on the issue >>>> <https://github.com/whatwg/html/issues/5618> addressed? Can you expand >>>> on that front? >>>> >>>> Yes, othermaciej@'s comments lead to us changing the name of that >>>> function to `reset` instead of `clear`. >>>> >>>> Is the hold-up on the Filters PR editorial or something more >>>> fundamental? >>>> >>>> The hold-up is mostly over the question of whether `new >>>> CanvasFilter({filter: "someNonExistantFilterType"})` should throw an error. >>>> You can read the (very long) discussion in the pull request >>>> <https://github.com/whatwg/html/pull/6763>. Unfortunately it's been >>>> extremely hard to reach consensus on that specific issue for the past 3 >>>> months. Any comments from this group that would help drive us towards >>>> consensus would be much appreciated! >>>> >>> >>> FWIW the two HTML editors on the thread (myself and Anne, with our HTML >>> editor hats on), as well as Mozilla (via Anne with his Mozilla hat on), >>> prefer the throwing behavior. I think in most cases to overcome that >>> position we would need some really strong reasons why the Chromium project >>> believes the non-throwing behavior is better. It's not clear to me how >>> strong Chromium's position is on this issue, and whether it's worth >>> delaying the feature over. (Or indeed, delaying all the features, since the >>> plan seems to be to bundle them together?) >>> >> >> My concerns with the throwing behavior are similar to the ones we have >> discussed >> <https://github.com/w3c/mediasession/issues/228#issuecomment-886455386> >> in the context of MediaSession actions. >> If we go with the throwing behavior, every future addition of filters >> would have a significant interop risk, in case adopting developers won't >> use try/catch properly. If they do that and they are not testing in >> not-yet-supporting browsers, their apps are likely to break entirely in >> those browsers. >> If we go with a silent failure + feature detection approach, developers >> using the feature without properly detecting it may not have the desired >> visual effects they are going for, but won't have unrelated parts of their >> app break. >> >> From my perspective (with my API owner hat on), less risk is better, and >> the second approach seems less risky to me. >> >> >>> >>>> >>>> Are these features individually detectable? Do we have reasonable >>>> developer advice on how we want folks to use those features with backwards >>>> compat/fallbacks in mind? >>>> >>>> We're working with the DevRel team on some polyfills that will be >>>> included in a web.dev article that is launching. All the features are >>>> trivially detectable except for perhaps contextlost/restored events. I can >>>> look further into that if you'd like? >>>> >>> >>> Those two are feature detectable using 'oncontextlost' in >>> Document.prototype, happily enough. >>> >>> >>>> For polyfills, there are different degrees of >>>> effectiveness/difficulty. >>>> Easy: roundRect (small perf hit), reset >>>> Hard, maybe we should just advertise a polyfill that avoids errors: >>>> filters, conic gradient, text modifiers >>>> Doesn't make sense to polyfill: contextloss, willReadFrequently >>>> >>>> On Thursday, October 21, 2021 at 3:07:21 AM UTC-4 yoav...@chromium.org >>>> wrote: >>>> >>>>> Thanks for modernizing Canvas! :) >>>>> >>>>> On Thu, Oct 14, 2021 at 11:06 PM Aaron Krajeski <aar...@chromium.org> >>>>> wrote: >>>>> >>>>>> >>>>>> *Contact emails*aar...@chromium.org, fs...@chromium.org >>>>>> >>>>>> *Explainer* >>>>>> https://github.com/fserb/canvas2d >>>>>> https://youtu.be/dfOKFSDG7IM >>>>>> >>>>> >>>>> Great video, thanks for that!! >>>>> >>>>> >>>>>> >>>>>> *Specification* >>>>>> Context Lost Event >>>>>> <https://html.spec.whatwg.org/multipage/indices.html#event-contextlost> >>>>>> Context Restored Event >>>>>> <https://html.spec.whatwg.org/multipage/indices.html#event-contextrestored> >>>>>> Will Read Frequently >>>>>> <https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently> >>>>>> New Text Modifiers >>>>>> <https://html.spec.whatwg.org/multipage/canvas.html#canvastextdrawingstyles> >>>>>> Reset >>>>>> <https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-reset> >>>>>> >>>>> >>>>> Were the concerns WebKit raised on the issue >>>>> <https://github.com/whatwg/html/issues/5618> addressed? Can you >>>>> expand on that front? >>>>> >>>>> >>>>>> RoundRect >>>>>> >>>>>> <https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-roundrect>Conic >>>>>> Gradient >>>>>> >>>>>> <https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-createconicgradient> >>>>>> Filters <https://github.com/whatwg/html/pull/6763> (still in >>>>>> progress) >>>>>> >>>>> >>>>> Is the hold-up on the Filters PR editorial or something more >>>>> fundamental? >>>>> I noticed Mozilla's opposition on their position. Is that something >>>>> that has changed since? >>>>> >>>>> Are these features individually detectable? Do we have reasonable >>>>> developer advice on how we want folks to use those features with backwards >>>>> compat/fallbacks in mind? >>>>> >>>>> >>>>>> >>>>>> *Summary* >>>>>> Updated functionality for the Canvas2D API. Adds seven new >>>>>> features/functions to CanvasRenderingContext2D: >>>>>> >>>>>> - "ContextLost" and "ContextRestored" events >>>>>> - "willReadFrequently" option for canvases where lots of readback is >>>>>> expected >>>>>> - More CSS text modifier support >>>>>> - A reset function >>>>>> - A roundRect draw primitive >>>>>> - Conic gradients >>>>>> - Better support for SVG filters >>>>>> >>>>>> https://github.com/fserb/canvas2d >>>>>> >>>>>> *Blink component* >>>>>> Blink>Canvas >>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECanvas> >>>>>> >>>>>> >>>>>> *TAG review status*Resolution: satisfied >>>>>> <https://github.com/w3ctag/design-reviews/issues/627#issuecomment-838726027> >>>>>> >>>>>> *Risks* >>>>>> Security and privacy team expressed concerns with ContextLost and >>>>>> ContextRestored events during the intent to implement phase. These >>>>>> concerns >>>>>> were addressed by re-designing the event to not launch simultaneously >>>>>> across different contexts. >>>>>> >>>>>> *Interoperability and Compatibility* >>>>>> Gecko: In development (https://github.com/whatwg/html/issues/5431 >>>>>> <https://www.chromestatus.com/admin/features/launch/6051647656558592/5?intent=1>) >>>>>> Already implemented conic gradient. Okay with willReadFrequently, >>>>>> transforms and reset. >>>>>> >>>>>> WebKit: Positive (https://github.com/whatwg/html/issues/5619). >>>>>> Positive signal on text modifiers, round rect and color input. >>>>>> >>>>>> Web developers: Positive (https://www.youtube.com/watch?v=dfOKFSDG7IM) >>>>>> CDN talk in December was received very positively. >>>>>> >>>>>> *Signals* >>>>>> Gecko: https://github.com/mozilla/standards-positions/issues/519 >>>>>> WebKit: >>>>>> https://lists.webkit.org/pipermail/webkit-dev/2021-May/031833.html >>>>>> >>>>>> *Is this feature fully tested by* web-platform-tests >>>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> >>>>>> ? >>>>>> Yes >>>>>> >>>>>> *Flag name* >>>>>> #new-canvas-2d-api >>>>>> >>>>>> *Requires code in //chrome?* >>>>>> False >>>>>> >>>>>> *Tracking bug* >>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1201359 >>>>>> >>>>>> *Estimated milestones* >>>>>> OriginTrial desktop first >>>>>> 95 >>>>>> >>>>>> OriginTrial desktop last >>>>>> 98 >>>>>> >>>>>> OriginTrial android first >>>>>> 95 >>>>>> >>>>>> OriginTrial android last >>>>>> 98 >>>>>> >>>>>> *Link to entry on the Chrome Platform Status* >>>>>> https://www.chromestatus.com/feature/6051647656558592 >>>>>> >>>>>> 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 blink-dev+...@chromium.org. >>>>>> >>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/eb702e7e-88d6-4b6f-b419-6051511689f1n%40chromium.org >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/eb702e7e-88d6-4b6f-b419-6051511689f1n%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/ad052b76-cd02-475a-82a2-f010ecb92075n%40chromium.org >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ad052b76-cd02-475a-82a2-f010ecb92075n%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/CAL5BFfVe%3DWB7vT%2BmM3oS%3DJg_nJj7Xu8MGt9eqHqQjkno9Xv1Aw%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVe%3DWB7vT%2BmM3oS%3DJg_nJj7Xu8MGt9eqHqQjkno9Xv1Aw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > > > -- > Thomas Steiner, PhD—Developer Advocate (https://blog.tomayac.com, > https://twitter.com/tomayac) > > Google Germany GmbH, ABC-Str. 19, 20354 Hamburg, Germany > Geschäftsführer: Paul Manicle, Halimah DeLaine Prado > Registergericht und -nummer: Hamburg, HRB 86891 > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.3.2 (GNU/Linux) > > > iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck0fjumBl3DCharaCTersAttH3b0ttom. > hTtPs://xKcd.cOm/1181/ > -----END PGP SIGNATURE----- > -- 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/CAL5BFfUUOdo6nEP6qT6gMcKycNzywChbOEm5xW19RXSLebgDRg%40mail.gmail.com.