Domenic,

Thank you for the information.

I dug into this before deciding whether to include it in the blog post.
>From what I gather in the spec, the only way to get an instance of this is
through a number of callbacks (TransformerStartCallback,
TransformerFlushCallback, and TransformerTransformCallback). I guess this
is what you mean by, "spec-conformance in an area developers won't notice
directly." I can't find that Chrome currently implements these. If
the callbacks are ever implemented, I'll need a short item about all of
them.

For future reference, here's the heuristic for what goes in a blog post. If
Chrome get's a platform feature that was not in the previous version, it
goes in. Whether something was implemented because of a bug or a formal
planning process is not generally something external developers care about.
(A single developer might if they tried to use something that was supposed
to be available and they're the one that filed the bug. I consider that an
edge case.)

Joe
Joe Medley | Technical Writer, Chrome DevRel | jmed...@google.com |
 816-678-7195
*If an API's not documented it doesn't exist.*


On Wed, Jul 13, 2022 at 5:52 PM Domenic Denicola <dome...@chromium.org>
wrote:

> Thanks Alex! I'll work on the Intent now. A response to Joe's question
> below.
>
> On Thu, Jul 14, 2022 at 1:10 AM Joe Medley <jmed...@google.com> wrote:
>
>> Gang,
>>
>> I want to make sure I understand. It seems like this is just a bug fix or
>> something like it. I want to understand before I agree that it doesn't need
>> a mention in the blog post.
>>
>> Here's what I think it sounds like. The functionality shipped in Chrome
>> 89 as shown on the status entry, but it didn't actually work. Is that
>> correct?
>>
>
> Not quite. What shipped in Chrome 89 was exposing
> ReadableStreamDefaultController. What I am proposing to ship in Chrome 105
> is the analogous exposure of TransformStreamDefaultController. They are two
> separate changes, just very similar to each other.
>
> They are both very small bug fixes that IMO are not really that
> interesting to developers, since they are mostly about spec-conformance in
> an area developers won't notice directly. So IMO they don't need a mention
> in the blog post. But, that is not my determination to make, so feel free
> to judge for yourself when you see the upcoming Intent. It won't hurt
> anything if it's included.
>
>
>>
>> Joe
>> Joe Medley | Technical Writer, Chrome DevRel | jmed...@google.com |
>> 816-678-7195 <(816)%20678-7195>
>> *If an API's not documented it doesn't exist.*
>>
>>
>> On Wed, Jul 13, 2022 at 8:44 AM Alex Russell <slightly...@chromium.org>
>> wrote:
>>
>>> 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 <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/fdba0f28-667a-4d7f-84fc-91421b041532n%40chromium.org
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/fdba0f28-667a-4d7f-84fc-91421b041532n%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/CAJUhtG_czBVM6Tgc_U5S8wKKYjELx2yPgdYKeUtCqCF3pxoR%3DA%40mail.gmail.com.

Reply via email to