Contact emailsdome...@chromium.org

ExplainerNone (below "Summary" and "Motivation" should be enough).

Specificationhttps://streams.spec.whatwg.org/#ts-default-controller-class

Summary

This exposes the TransformStreamDefaultController class on the global
scope. This class already exists and can be accessed using code such as let
TransformStreamDefaultController; new TransformStream({ start(c) {
TransformStreamDefaultController = c.constructor; } }); This change makes
such code unnecessary as now TransformStreamDefaultController just exists
on the global scope.


*Motivation*

Possible uses for the exposed class include monkeypatching properties onto
TransformStreamDefaultController.prototype, or feature-testing existing
properties of it more easily. (Note that the class is not constructible,
i.e. new TransformStreamDefaultController() always throws, so that is not a
potential use.)

However, these uses are fairly esoteric. In practice this is mostly a
spec-conformance fix motivated by consistency.

Blink componentBlink>Network>StreamsAPI
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ENetwork%3EStreamsAPI>

TAG review statusNot applicable

Risks


Interoperability and Compatibility

No interop risk. This is already implemented in all other browsers. Compat
risk is minimal. It would be hard for any existing code to take a
dependency on this class not being exposed. Other related classes (e.g.
TransformStream itself) are already exposed. And we expose lots of classes
all the time without issue whenever shipping new features.


*Gecko*: Shipped/Shipping (
https://wpt.fyi/results/streams/idlharness.any.html?label=experimental&label=master&aligned
)

*WebKit*: Shipped/Shipping (
https://wpt.fyi/results/streams/idlharness.any.html?label=experimental&label=master&aligned
)

*Web developers*: No signals

Activation

This feature can be polyfilled with the single line of code: new
TransformStream({ start(c) { self.TransformStreamDefaultController =
c.constructor; } });

WebView application risks

*Does this intent deprecate or change behavior of existing APIs, such that
it has potentially high risk for Android WebView-based applications?*
No



Debuggability

No special DevTools support needed.


Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, Chrome OS, Android, and Android WebView)?Yes

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?Yes
<https://wpt.fyi/results/streams/idlharness.any.html?label=experimental&label=master&aligned>

Requires code in //chrome?
False

Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=1093862

Estimated milestones

M105


Anticipated spec changes

Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github issues
in the project for the feature specification) whose resolution may
introduce web compat/interop risk (e.g., changing to naming or structure of
the API in a non-backward-compatible way).
None.

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5130793182035968

This intent message was generated by Chrome Platform Status
<https://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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra9GC6CsrapMO8CHdk7YQZnsJpv4MxV98u%2BKuM_N8z-8yw%40mail.gmail.com.

Reply via email to