LGTM1 to ship in parallel with landing the PR.

On Thu, Nov 4, 2021 at 12:01 PM 'Aaron Krajeski' via blink-dev <
blink-dev@chromium.org> wrote:

> During a WHATWG spec meeting this morning we agreed to not throw for
> malformed canvas filters. There are still a few editorial changes to go
> through on that PR, but other than that everything is settled for this
> launch.
>
> On Friday, October 29, 2021 at 1:53:20 PM UTC-4 dom...@chromium.org wrote:
>
>> The usual definition of "breaking change" that we use when shipping
>> features is not "if web developers always do valid things, then the change
>> we are making avoids breakages". We can't rely on web developers to write
>> valid code all the time... see e.g. stats about what percent of the web is
>> valid HTML.
>>
>> For example, while people might not write "asdf", they might write
>> "colourMatrix" (spot the typo), or similar.
>>
>> On Fri, Oct 29, 2021 at 1:50 PM Fernando Serboncini <fs...@chromium.org>
>> wrote:
>>
>>> yes, of course if you pass "asdf" one would throw and the other
>>> wouldn't. There will be a potential behavior difference.
>>>
>>> My point is nobody would write "asdf" as a filter, because "asdf" is not
>>> a spec'ed or implemented filter anywhere. There are no possible mismatches
>>> at this point. If CanvasFilter exists, the set of filters is well defined
>>> everywhere.
>>>
>>> On Fri, Oct 29, 2021 at 1:45 PM Domenic Denicola <dom...@chromium.org>
>>> wrote:
>>>
>>>> I don't think that's true. If someone passes "asdf" to the CanvasFilter
>>>> constructor, changing from not-throwing to throwing would be a breaking
>>>> change. We'd need to add use counters, etc. to find out if anyone is
>>>> passing such invalid values.
>>>>
>>>> Whereas, if we start off with throwing, we can always remove the
>>>> throwing behavior later, with no use counters required.
>>>>
>>>> On Fri, Oct 29, 2021 at 1:43 PM Fernando Serboncini <fs...@chromium.org>
>>>> wrote:
>>>>
>>>>> Since the current implementation is not throwing, we could reasonably
>>>>> launch as-is and the add throwing if it is agreed to do so after.
>>>>> The added risk is the exact same risk that we are arguing to begin
>>>>> with (i.e., code that uses not-implemented filters without try/catch would
>>>>> break). But since there are no "not-implemented filters" yet, it may not 
>>>>> be
>>>>> a problem.
>>>>>
>>>>> On Fri, Oct 29, 2021 at 1:34 PM Domenic Denicola <dom...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> Yep. Reasonable people can disagree on the tradeoffs here. The
>>>>>> question is whether this is something we want to deadlock over with other
>>>>>> implementers.
>>>>>>
>>>>>> On Fri, Oct 29, 2021 at 12:28 PM Mike Taylor <mike...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> On 10/29/21 1:23 AM, Yoav Weiss wrote:
>>>>>>>
>>>>>>> Hey Domenic! :)
>>>>>>>
>>>>>>> On Thu, Oct 28, 2021 at 11:00 PM Domenic Denicola <
>>>>>>> dom...@chromium.org> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> 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.
>>>>>>>
>>>>>>> I agree with Yoav here (sorry, I don't own any hats). Not throwing
>>>>>>> will likely result in fewer broken pages in less-well-tested browsers 
>>>>>>> that
>>>>>>> haven't implemented the APIs yet. And +1 for devtools warnings to help
>>>>>>> developers figure out "silent" failures.
>>>>>>>
>>>>>>> (I also wonder if requiring try/catch won't trip up new developers
>>>>>>> trying to use it inside Promises, who don't yet know about 
>>>>>>> `then()/catch()`
>>>>>>> patterns).
>>>>>>>
>>>>>> --
> 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/0612b019-71ee-41e9-aa78-aba0712d0a0dn%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0612b019-71ee-41e9-aa78-aba0712d0a0dn%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/CAOMQ%2Bw__g2FKLgxFsHJ6cRAjS31ONbatHAv26rJ%3Di4dDWprLRA%40mail.gmail.com.

Reply via email to