[Readable Streams API] Enable creation of ReadableByteStreamController
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Nov 2016 11:37:26 +0000 (11:37 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Nov 2016 11:37:26 +0000 (11:37 +0000)
commit117a0024d75bba0fa2154387ccbaf17130411f6d
tree8b4317d923508a574ae7b7ef34878635b3af942c
parent1c8235a983f110ccb27e01b6dcac9fa63bfb6d8f
[Readable Streams API] Enable creation of ReadableByteStreamController
https://bugs.webkit.org/show_bug.cgi?id=164014

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2016-11-02
Reviewed by Youenn Fablet.

.:

Added flag for the byte stream part of Readable Streams API.

* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

Added flag for the byte stream part of Readable Streams API.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Added support for creating ReadableByteStreamController. IDL is mostly
implemented but methods return TypeError. Tests have been added to ensure
behaviour. This part of Readable Streams API is associated to
a flag (READABLE_BYTE_STREAM_API).

Test: streams/readable-byte-stream-controller.html

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/streams/ReadableByteStreamController.idl: Added.
* Modules/streams/ReadableByteStreamController.js: Added.
(enqueue): Empty method for the moment, throws TypeError.
(error): Empty method for the moment, throws TypeError.
(close): Empty method for the moment, throws TypeError.
(byobRequest): Empty method for the moment, throws TypeError.
(desiredSize): Empty method for the moment, throws TypeError.
* Modules/streams/ReadableByteStreamInternals.js: Added.
(privateInitializeReadableByteStreamController):
* Modules/streams/ReadableStream.js:
(initializeReadableStream):
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
* bindings/js/JSReadableStreamPrivateConstructors.cpp:
(WebCore::constructJSReadableByteStreamController):
(WebCore::constructJSReadableStreamDefaultReader):
(WebCore::JSBuiltinReadableByteStreamControllerPrivateConstructor::initializeExecutable):
(WebCore::createReadableByteStreamControllerPrivateConstructor):
* bindings/js/JSReadableStreamPrivateConstructors.h:
* bindings/js/WebCoreBuiltinNames.h:

Source/WebKit/mac:

Added flag for the byte stream part of Readable Streams API.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Added flag for the byte stream part of Readable Streams API.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Added flag for the byte stream part of Readable Streams API.

* wtf/FeatureDefines.h:

Tools:

Enable the byte stream part of Readable Streams API by default.

* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

Added test to check behaviour when using ReadableByteStreamController.
Tests are also performed with Workers.

* TestExpectations:
* streams/readable-byte-stream-controller-expected.txt: Added.
* streams/readable-byte-stream-controller.html: Added.
* streams/readable-byte-stream-controller.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
31 files changed:
ChangeLog
LayoutTests/ChangeLog
LayoutTests/streams/readable-byte-stream-controller-expected.txt [new file with mode: 0644]
LayoutTests/streams/readable-byte-stream-controller.html [new file with mode: 0644]
LayoutTests/streams/readable-byte-stream-controller.js [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
Source/WTF/ChangeLog
Source/WTF/wtf/FeatureDefines.h
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/DerivedSources.cpp
Source/WebCore/DerivedSources.make
Source/WebCore/Modules/streams/ReadableByteStreamController.idl [new file with mode: 0644]
Source/WebCore/Modules/streams/ReadableByteStreamController.js [new file with mode: 0644]
Source/WebCore/Modules/streams/ReadableByteStreamInternals.js [new file with mode: 0644]
Source/WebCore/Modules/streams/ReadableStream.js
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.cpp
Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.h
Source/WebCore/bindings/js/WebCoreBuiltinNames.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/FeatureDefines.xcconfig
Source/cmake/WebKitFeatures.cmake
Tools/ChangeLog
Tools/Scripts/webkitperl/FeatureList.pm
Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig