LGTM1

On 2/10/22 3:25 PM, Reilly Grant wrote:


        Contact emails

reil...@chromium.org


        Specification

https://wicg.github.io/serial/#writable-attribute <https://wicg.github.io/serial/#writable-attribute>

https://github.com/WICG/serial/pull/160


        Summary

This integration prevents a situation in which aborting a SerialPort's WritableStream can be blocked waiting for a partially-written chunk of data to be written to the port. If the port is waiting for the peer device to provide a flow control signal it could be blocked indefinitely. The intent of aborting a WritableStream is to immediately stop trying to write data to the underlying sink. The introduction of an AbortSignal to the controller was done to fix bugs like this.


        Blink component

Blink>Serial <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ESerial>


        TAG review

The Web Serial API and WritableStream controller AbortSignal have both been reviewed by the TAG.


        TAG review status

Not applicable


        Risks


        Interoperability and Compatibility

This integration introduces a minor change to the behavior of a SerialPort's WritableStream because it means that it no longer waits for the current write() operation to complete. However, since the intention of abort() is to discard queued writes and the exact timing for when the current write() operation completes depends on how quickly data is being transmitted by the port, the current behavior is more appropriately classified as a bug than a feature. It would be very hard for developers to rely on the previous buggy behavior, and so we believe the compat risk to be minimal.


Gecko: No signal

Firefox is opposed to the Web Serial API in general.


WebKit: No signal

Safari is opposed to the Web Serial API in general.


Web developers: No signals

I don't believe any developers have noticed this particular quirk. I noticed because I was debugging a test of the abort() behavior that passed even though there was a write() pending and without this integration it shouldn't have. Fixing the bug in the test exposed the need for this integration.


Other signals:


        Debuggability

SerialPort and WritableStream are JavaScript APIs which can be debugged using DevTools.


        Is this feature fully tested by web-platform-tests
        
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>?

Yes


        Flag name

None


        Requires code in //chrome?

False


        Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1295963 <https://bugs.chromium.org/p/chromium/issues/detail?id=1295963>


        Estimated milestones

M-100


        Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4778232531386368 <https://chromestatus.com/feature/4778232531386368>


This intent message was generated by Chrome Platform Status <https://chromestatus.com/>. Reilly Grant | Software Engineer |reil...@chromium.org |Google Chrome <https://www.google.com/chrome>
--
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/CAEmk%3DMYv0pu_WEXE6EAoZvVkh7W-ck_Gu5Qf52eFUuiwYhcW4A%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMYv0pu_WEXE6EAoZvVkh7W-ck_Gu5Qf52eFUuiwYhcW4A%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/a25f97f6-4213-adc8-8151-9f4e472d4dad%40chromium.org.

Reply via email to