Bug 223962

Summary: Streams: fix cancel() promise in ReadableStreamTee being resolved twice
Product: WebKit Reporter: Mattias Buelens <mattias.buelens>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: cdumez, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Mattias Buelens 2021-03-30 15:22:02 PDT
The Streams standard has been updated to handle an edge case where ReadableStreamTee() would attempt to resolve the cancel() promise twice. While similar changes in the past have not resulted in user-visible changes (since implementations must already ignore resolving already-resolved promises), this particular case *does* lead to a behavior change (which is covered by new WPT tests).

See https://github.com/whatwg/streams/pull/1118 for the specification change and https://github.com/web-platform-tests/wpt/pull/28266 for the new tests.
Comment 1 Radar WebKit Bug Importer 2021-04-06 15:22:13 PDT
<rdar://problem/76286913>
Comment 2 youenn fablet 2022-11-23 02:50:06 PST
Added test is passing, implementation works as expected.