Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6d8ca7e79a097c2013cf960c16489930cad90f11
      
https://github.com/WebKit/WebKit/commit/6d8ca7e79a097c2013cf960c16489930cad90f11
  Author: Youenn Fablet <[email protected]>
  Date:   2026-07-22 (Wed, 22 Jul 2026)

  Changed paths:
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/DerivedSources-input.xcfilelist
    M Source/WebCore/DerivedSources-output.xcfilelist
    M Source/WebCore/DerivedSources.make
    M Source/WebCore/Modules/streams/WritableStream.cpp
    M Source/WebCore/Modules/streams/WritableStream.h
    M Source/WebCore/Modules/streams/WritableStream.idl
    A Source/WebCore/Modules/streams/WritableStreamDefaultWriter.cpp
    A Source/WebCore/Modules/streams/WritableStreamDefaultWriter.h
    M Source/WebCore/Modules/streams/WritableStreamDefaultWriter.idl
    R Source/WebCore/Modules/streams/WritableStreamDefaultWriter.js
    M Source/WebCore/Modules/streams/WritableStreamInternals.js
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/bindings/js/InternalWritableStreamWriter.cpp
    M Source/WebCore/bindings/js/InternalWritableStreamWriter.h

  Log Message:
  -----------
  Allow subclassing of WritableStreamDefaultWriter
rdar://182400674
https://bugs.webkit.org/show_bug.cgi?id=319570

Reviewed by Chris Dumez.

WebTransport is subclassing WritableStreamDefaultWriter in WebTransportWriter.
To prepare for implementing WebTransportWriter, we make 
WritableStreamDefaultWriter a standard C++ class instead of a JS built-in.
We beef up InternalWritableStreamWriter to support more bindings API and we 
forward WritableStreamDefaultWriter calls to InternalWritableStreamWriter.

Covered by existing tests.

* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Modules/streams/WritableStream.cpp:
(WebCore::WritableStream::getWriter):
(WebCore::JSWritableStream::getWriter): Deleted.
* Source/WebCore/Modules/streams/WritableStream.h:
* Source/WebCore/Modules/streams/WritableStream.idl:
* Source/WebCore/Modules/streams/WritableStreamDefaultWriter.cpp: Added.
(WebCore::WritableStreamDefaultWriter::create):
(WebCore::WritableStreamDefaultWriter::WritableStreamDefaultWriter):
(WebCore::WritableStreamDefaultWriter::desiredSize):
(WebCore::WritableStreamDefaultWriter::releaseLock):
(WebCore::JSWritableStreamDefaultWriter::closed const):
(WebCore::JSWritableStreamDefaultWriter::ready const):
(WebCore::JSWritableStreamDefaultWriter::abort):
(WebCore::JSWritableStreamDefaultWriter::close):
(WebCore::JSWritableStreamDefaultWriter::write):
* Source/WebCore/Modules/streams/WritableStreamDefaultWriter.h: Added.
(WebCore::WritableStreamDefaultWriter::internalWriter):
* Source/WebCore/Modules/streams/WritableStreamDefaultWriter.idl:
* Source/WebCore/Modules/streams/WritableStreamDefaultWriter.js: Removed.
* Source/WebCore/Modules/streams/WritableStreamInternals.js:
(acquireWritableStreamDefaultWriter):
(writableStreamDefaultWriterClosedForBindings):
(writableStreamDefaultWriterReadyForBindings):
(writableStreamDefaultWriterDesiredSizeForBindings):
(writableStreamDefaultWriterAbortForBindings):
(writableStreamDefaultWriterCloseForBindings):
(writableStreamDefaultWriterReleaseLockForBindings):
(writableStreamDefaultWriterWriteForBindings):
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/InternalWritableStreamWriter.cpp:
(WebCore::InternalWritableStreamWriter::closedForBindings):
(WebCore::InternalWritableStreamWriter::desiredSizeForBindings):
(WebCore::InternalWritableStreamWriter::readyForBindings):
(WebCore::InternalWritableStreamWriter::abortForBindings):
(WebCore::InternalWritableStreamWriter::closeForBindings):
(WebCore::InternalWritableStreamWriter::releaseLockForBindings):
(WebCore::InternalWritableStreamWriter::writeForBindings):
* Source/WebCore/bindings/js/InternalWritableStreamWriter.h:

Canonical link: https://commits.webkit.org/317707@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to