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 <yoavwe...@chromium.org> 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 <tk...@chromium.org> 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 <dome...@chromium.org>
>> 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 <y...@yoav.ws> wrote:
>>>>
>>>>> LGTM1
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Dec 11, 2020 at 3:59 AM Nidhi Jaju <nidhij...@google.com>
>>>>> 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 yo...@yoav.ws <y...@yoav.ws> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, December 8, 2020 at 10:10:59 AM UTC+1 Nidhi Jaju wrote:
>>>>>>>
>>>>>>>> Contact emails nidh...@google.com, ri...@chromium.org
>>>>>>>>
>>>>>>>> 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 blink-dev+unsubscr...@chromium.org.
>>>>> 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 blink-dev+unsubscr...@chromium.org.
>>>>
>>>> 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 blink-dev+unsubscr...@chromium.org.
>> 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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_ZMFoiTMK%3DLJAv8PanrFM1hov7DEd62we42si%3DVyor_g%40mail.gmail.com.

Reply via email to