Hey Domenic,

Discussed at today's API OWNERS and we decided that:

   - It makes sense for this to be an intent
   - We're happy to see this skipped for TAG review as it is covered by 
   previous reviews
   - You should expect the intent to be fast-tracked once filed, and please 
   just link to this discussion as you file it

Thanks in advance, and sorry for the overhead.

Best,

Alex

On Tuesday, July 12, 2022 at 7:20:44 AM UTC+1 Domenic Denicola wrote:

> While I'm happy to do it, I think I may not have explained the situation 
> well enough, so let me ask a clarifying question...
>
> On Tue, Jul 12, 2022 at 3:00 PM Yoav Weiss <[email protected]> wrote:
>
>> Hey Domenic!
>>
>> While I agree it's a very similar case, it's not identical. 
>>
> I agree that a TAG review is not needed here, nor getting positions from 
>> other vendors, but there's still some risk in exposing the interface where 
>> it wasn't exposed before. (e.g. sites using the lack of exposure for some 
>> weird feature detection)
>>
>> And while I don't think the risk here is high, it's non-zero. E.g. 
>> quickly scanning 
>> <https://docs.google.com/spreadsheets/d/1usTE1q-1uzPdHvyaaEOGxZMffDuw0lVasA8vNGV1GI0/edit?usp=sharing>
>>  
>> through the HTTPArchive [1], I see ~15K response bodies that contain the 
>> string "ReadableStreamDefaultController".
>>
>> So, I think it'd be good to send out a new intent and discuss the risks 
>> and whether we need to do something to counter them (e.g. sampled analysis 
>> of HTTPArchive data, ClusterTelemetry run with tighter counters, or maybe 
>> nothing at all).
>>
>> I know it'd create some extra overhead, but would enable us to keep track 
>> of this specific change and its current risks.
>>
>
> What risk would you be imagining? It seems like a high burden to ask 
> people to do HTTPArchive analysis just to fix an exposure bug like this, 
> especially one where all other browsers already expose the global. Like, we 
> don't ask people to do HTTP archive analysis when exposing entire new 
> features which come with multiple new globals, where Chrome is shipping 
> first, so I don't see why this case would need such analysis. Indeed, many 
> Intent to Ships have sailed through the API Owners with "No compat 
> concerns; this is a new feature".
>
> To be clear, I'm willing (if not excited) to spend 2x the time I spent on 
> the CL doing all the ChromeStatus rigamarole and sending an email, if the 
> result is going to be a quick 3 LGTMs because it's trivial and we're just 
> checking some process boxes. I'm not really willing to spend more time than 
> that on this bugfix, though...
>  
>
>>
>> Cheers,
>> Yoav
>>
>> [1]
>> SELECT page, url
>> FROM `httparchive.response_bodies.2022_07_01_desktop`
>> #FROM `httparchive.sample_data.response_bodies_desktop_10k`
>> WHERE body like "%TransformStreamDefaultController%"
>>
>>
>> On Tue, Jul 12, 2022 at 5:56 AM TAMURA, Kent <[email protected]> wrote:
>>
>>> IMO, it's a bug fix and we don't need a dedicated I2S.
>>>
>>> On Tue, Jul 12, 2022 at 11:37 AM Domenic Denicola <[email protected]> 
>>> wrote:
>>>
>>>> Hey all,
>>>>
>>>> Today I was browsing 
>>>> https://wpt.fyi/results/streams?label=experimental&label=master&aligned 
>>>> and noticed that we were failing tests because of an analogous 
>>>> non-exposure 
>>>> of TransformStreamDefaultController. I have a CL to fix this at 
>>>> https://chromium-review.googlesource.com/c/chromium/src/+/3757032 and 
>>>> was thinking it should be OK to just ping this thread with an FYI instead 
>>>> of doing a full Intent to Ship, because the change is basically the same 
>>>> (and in particular is extremely small/just updating to follow the 
>>>> spec/already implemented in other browsers). IMO this does not need a 
>>>> ChromeStatus entry or release blog post spot either.
>>>>
>>>> Does that sound OK? If so hopefully an API owner can stop by my CL and 
>>>> approve the webexposed/ changes. Otherwise we can start a new Intent to 
>>>> Ship thread if necessary.
>>>>
>>>> -Domenic
>>>>
>>>> On Tuesday, December 15, 2020 at 9:32:26 AM UTC Daniel Bratell wrote:
>>>>
>>>>> LGTM3
>>>>>
>>>>> /Daniel
>>>>> On 2020-12-15 08:33, TAMURA, Kent wrote:
>>>>>
>>>>> LGTM2 
>>>>>
>>>>>
>>>>> On Tue, Dec 15, 2020 at 3:51 PM Yoav Weiss <[email protected]> wrote:
>>>>>
>>>>>> LGTM1 
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Dec 11, 2020 at 3:59 AM Nidhi Jaju <[email protected]> 
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Yoav, 
>>>>>>>
>>>>>>> The feature is essentially just exposing the 
>>>>>>> ReadableStreamDefaultController on the global object. This means that 
>>>>>>> evaluating 'ReadableStreamDefaultController' in window goes from false 
>>>>>>> to 
>>>>>>> true. Exposing it does not expose any new functionality, so developers 
>>>>>>> are 
>>>>>>> not really affected in any way.
>>>>>>>
>>>>>>> Currently, developers need to write:
>>>>>>> new ReadableStream({start(controller) { 
>>>>>>> self.ReadableStreamDefaultController = controller.constructor; }});
>>>>>>> to call the ReadableStreamDefaultController constructor. 
>>>>>>>
>>>>>>> However, most do not use this anyway, except for maybe in web 
>>>>>>> platform tests, or if they want to wrap the methods for debugging 
>>>>>>> purposes 
>>>>>>> for example. By exposing the interface globally, there is no need to 
>>>>>>> explicitly write this one line of Javascript code anymore.
>>>>>>>
>>>>>>> I've also added this information to the 'Motivation' section to the 
>>>>>>> ChromeStatus 
>>>>>>> entry <https://chromestatus.com/feature/5711333280448512>, so 
>>>>>>> hopefully that helps provide some more clarity/context. Thank you!
>>>>>>>
>>>>>>
>>>>>> OK, so this is just aligning our behavior to the spec. Got it! :)
>>>>>>   
>>>>>>
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Nidhi
>>>>>>>
>>>>>>> On Thu, Dec 10, 2020 at 5:12 PM [email protected] <[email protected]> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tuesday, December 8, 2020 at 10:10:59 AM UTC+1 Nidhi Jaju wrote:
>>>>>>>>
>>>>>>>>> Contact emails [email protected], [email protected]
>>>>>>>>>
>>>>>>>>> Explainer https://github.com/whatwg/streams/issues/963
>>>>>>>>> https://github.com/whatwg/streams/pull/1035
>>>>>>>>>
>>>>>>>>
>>>>>>>> Could you provide an inline explanation of what the feature is, 
>>>>>>>> what it looks like and how developers are supposed to use it?
>>>>>>>>  
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Specification 
>>>>>>>>> https://streams.spec.whatwg.org/#rs-default-controller-class-definition
>>>>>>>>>  
>>>>>>>>> <https://streams.spec.whatwg.org/>
>>>>>>>>>
>>>>>>>>> API spec Yes
>>>>>>>>>
>>>>>>>>> Summary 
>>>>>>>>>
>>>>>>>>> The Streams APIs provide ubiquitous, interoperable primitives for 
>>>>>>>>> creating, composing, and consuming streams of data. We will expose 
>>>>>>>>> the 
>>>>>>>>> ReadableStreamDefaultController interface on the global object, as 
>>>>>>>>> with the 
>>>>>>>>> other ReadableStream-related classes. This will align Blink with the 
>>>>>>>>> current version of the Streams API Standard and consensus among the 
>>>>>>>>> developer community. See 
>>>>>>>>> https://github.com/whatwg/streams/issues/963.
>>>>>>>>>
>>>>>>>>> Blink component Blink>Network>StreamsAPI 
>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ENetwork%3EStreamsAPI>
>>>>>>>>>
>>>>>>>>> TAG review There is no TAG review for this since:  
>>>>>>>>>  - It is a tiny change to the interface
>>>>>>>>>  - It does not expose any new functionality 
>>>>>>>>>  - It is already possible to call the 
>>>>>>>>> ReadableStreamDefaultController constructor explicitly
>>>>>>>>>
>>>>>>>>> TAG review status Not applicable
>>>>>>>>>
>>>>>>>>> Risks 
>>>>>>>>> Interoperability and Compatibility 
>>>>>>>>>
>>>>>>>>> Low risk because the Streams API spec has already been 
>>>>>>>>> standardised for a long time (since around 2014). 
>>>>>>>>>
>>>>>>>>> Gecko: No signal Jason Orendorff (@jorendorff) reviewed the 
>>>>>>>>> original PR and gave positive feedback.
>>>>>>>>> WebKit: No signal
>>>>>>>>> Web developers: No signals
>>>>>>>>>
>>>>>>>>> Ergonomics 
>>>>>>>>>
>>>>>>>>> This will move us in line with the standard behaviour for 
>>>>>>>>> WebIDL-defined classes that are part of the web platform. See 
>>>>>>>>> https://heycam.github.io/webidl/#NoInterfaceObject and 
>>>>>>>>> https://heycam.github.io/webidl/#Exposed. This should reduce 
>>>>>>>>> developer surprise.
>>>>>>>>>
>>>>>>>>> Activation 
>>>>>>>>>
>>>>>>>>> Developers can use this feature immediately, as it does not change 
>>>>>>>>> the behaviour of existing code. The feature can be polyfilled with 
>>>>>>>>> one line 
>>>>>>>>> of JavaScript: new ReadableStream({start(controller) 
>>>>>>>>> {self.ReadableStreamDefaultController = controller.constructor; }});
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Debuggability 
>>>>>>>>>
>>>>>>>>> No special support needed.
>>>>>>>>>
>>>>>>>>> Is this feature fully tested by web-platform-tests 
>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>>>>>>>>> ? Yes
>>>>>>>>>
>>>>>>>>> Link to entry on the Chrome Platform Status 
>>>>>>>>> https://chromestatus.com/feature/5711333280448512
>>>>>>>>>
>>>>>>>> -- 
>>>>>> 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/CACj%3DBEgYDW-TV-pFXhqxvsAVeJdDxmPMbziMND%3D6KtZg-373KA%40mail.gmail.com
>>>>>>  
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACj%3DBEgYDW-TV-pFXhqxvsAVeJdDxmPMbziMND%3D6KtZg-373KA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>
>>>>>
>>>>> -- 
>>>>> TAMURA Kent 
>>>>> Software Engineer, Google 
>>>>>
>>>>>
>>>>> -- 
>>>>> 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/CAGH7WqGnkzE9oUd6RH5%3DsLSGuDy0eYK5%2B2KjnPNiMfGO%3DUYDUg%40mail.gmail.com
>>>>>  
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGH7WqGnkzE9oUd6RH5%3DsLSGuDy0eYK5%2B2KjnPNiMfGO%3DUYDUg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>>
>>>
>>> -- 
>>> TAMURA Kent 
>>> Software Engineer, Google 
>>>
>>>
>>> -- 
>>> 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/CAGH7WqE%2BUvBox8ox4rE5Za3e2-8Ts%2ByrgDM5VeR1%2BWu9dLkZ2A%40mail.gmail.com
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGH7WqE%2BUvBox8ox4rE5Za3e2-8Ts%2ByrgDM5VeR1%2BWu9dLkZ2A%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/fdba0f28-667a-4d7f-84fc-91421b041532n%40chromium.org.

Reply via email to