Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3c735f970e7496da3cc01f093c2b21ba2c1b7c62
https://github.com/WebKit/WebKit/commit/3c735f970e7496da3cc01f093c2b21ba2c1b7c62
Author: Youenn Fablet <[email protected]>
Date: 2025-10-03 (Fri, 03 Oct 2025)
Changed paths:
M Source/WebCore/Modules/streams/ReadableStream.cpp
M Source/WebCore/Modules/streams/ReadableStream.h
M Source/WebCore/Modules/streams/StreamTeeUtilities.cpp
Log Message:
-----------
WPT byte stream tee tests are flaky on bots
https://bugs.webkit.org/show_bug.cgi?id=300015
rdar://problem/161803361
Reviewed by Chris Dumez.
When being teed, a stream A might be collected while its children (B and C)
will still be alive.
In that case, A will no longer protect its pull/cancel JS callbacks, although
they will be called when B or C do pull/cancel.
To make sure we keep marking A's pull/cancel JS callbacks as lon as B and C are
alive, we are now keeping a strong ref from B and C to A.
We are then visiting A whenever visiting B or C.
The strong reference from B and C to A is not harmfull (we could even use a
WeakPtr) since B and C hold references to their TeeState which holds a
reference to A.
Covered by byte stream tee WPT tests.
Canonical link: https://commits.webkit.org/300928@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes