Changeset 212656 in webkit
- Timestamp:
- Feb 20, 2017 10:18:06 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 17 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r212653 r212656 1 2017-02-20 Romain Bellessort <romain.bellessort@crf.canon.fr> 2 3 [Readable Streams API] Add ReadableByteStreamController byobRequest attribute 4 https://bugs.webkit.org/show_bug.cgi?id=168319 5 6 Reviewed by Youenn Fablet. 7 8 Added tests related to ReadableStreamBYOBRequest as a dedicated object 9 and also as an attribute of ReadableByteStreamController. 10 11 * streams/readable-byte-stream-controller.js: Updated with byobRequest attribute test. 12 * streams/readable-stream-byob-request-expected.txt: Added. 13 * streams/readable-stream-byob-request.html: Added. 14 * streams/readable-stream-byob-request.js: Added to cover tests related to ReadableStreamBYOBRequest. 15 1 16 2017-02-20 Ryan Haddad <ryanhaddad@apple.com> 2 17 -
trunk/LayoutTests/imported/w3c/ChangeLog
r212625 r212656 1 2017-02-20 Romain Bellessort <romain.bellessort@crf.canon.fr> 2 3 [Readable Streams API] Add ReadableByteStreamController byobRequest attribute 4 https://bugs.webkit.org/show_bug.cgi?id=168319 5 6 Reviewed by Youenn Fablet. 7 8 Updated expectations for imported w3c tests (new type of error is now obtained). 9 10 * web-platform-tests/streams/readable-byte-streams/general-expected.txt: Updated. 11 * web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt: Updated. 12 1 13 2017-02-19 Chris Dumez <cdumez@apple.com> 2 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general-expected.txt
r212202 r212656 15 15 PASS ReadableStream with byte source: Automatic pull() after start() and read() 16 16 FAIL ReadableStream with byte source: autoAllocateChunkSize assert_equals: pull() must have been invoked once expected 1 but got 0 17 FAIL ReadableStream with byte source: Mix of auto allocate and BYOB promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'byobRequest.view')"17 FAIL ReadableStream with byte source: Mix of auto allocate and BYOB promise_test: Unhandled rejection with value: object "TypeError: ReadableByteStreamController view is not implemented" 18 18 PASS ReadableStream with byte source: Automatic pull() after start() and read(view) 19 19 PASS ReadableStream with byte source: enqueue(), getReader(), then read() -
trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt
r212202 r212656 15 15 PASS ReadableStream with byte source: Automatic pull() after start() and read() 16 16 FAIL ReadableStream with byte source: autoAllocateChunkSize assert_equals: pull() must have been invoked once expected 1 but got 0 17 FAIL ReadableStream with byte source: Mix of auto allocate and BYOB promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'byobRequest.view')"17 FAIL ReadableStream with byte source: Mix of auto allocate and BYOB promise_test: Unhandled rejection with value: object "TypeError: ReadableByteStreamController view is not implemented" 18 18 PASS ReadableStream with byte source: Automatic pull() after start() and read(view) 19 19 PASS ReadableStream with byte source: enqueue(), getReader(), then read() -
trunk/LayoutTests/streams/readable-byte-stream-controller.js
r211779 r212656 13 13 test(() => { 14 14 const methods = ['close', 'constructor', 'enqueue', 'error']; 15 // FIXME: Add byobRequest when implemented. 16 const properties = methods.concat(['desiredSize']).sort(); 15 const properties = methods.concat(['byobRequest', 'desiredSize']).sort(); 17 16 18 17 let controller; … … 36 35 assert_equals(typeof controller[m], 'function', 'should have be a method'); 37 36 } 37 38 const byobRequestPropDesc = Object.getOwnPropertyDescriptor(proto, 'byobRequest'); 39 assert_equals(byobRequestPropDesc.enumerable, false, 'byobRequest should be non-enumerable'); 40 assert_equals(byobRequestPropDesc.configurable, true, 'byobRequest should be configurable'); 41 assert_not_equals(byobRequestPropDesc.get, undefined, 'byobRequest should have a getter'); 42 assert_equals(byobRequestPropDesc.set, undefined, 'byobRequest should not have a setter'); 38 43 39 44 const desiredSizePropDesc = Object.getOwnPropertyDescriptor(proto, 'desiredSize'); -
trunk/Source/WebCore/CMakeLists.txt
r212563 r212656 261 261 Modules/streams/ReadableByteStreamController.idl 262 262 Modules/streams/ReadableStream.idl 263 Modules/streams/ReadableStreamBYOBRequest.idl 263 264 Modules/streams/ReadableStreamDefaultController.idl 264 265 Modules/streams/ReadableStreamDefaultReader.idl … … 3676 3677 ${WEBCORE_DIR}/Modules/streams/ReadableByteStreamInternals.js 3677 3678 ${WEBCORE_DIR}/Modules/streams/ReadableStream.js 3679 ${WEBCORE_DIR}/Modules/streams/ReadableStreamBYOBRequest.js 3678 3680 ${WEBCORE_DIR}/Modules/streams/ReadableStreamDefaultController.js 3679 3681 ${WEBCORE_DIR}/Modules/streams/ReadableStreamInternals.js -
trunk/Source/WebCore/ChangeLog
r212652 r212656 1 2017-02-20 Romain Bellessort <romain.bellessort@crf.canon.fr> 2 3 [Readable Streams API] Add ReadableByteStreamController byobRequest attribute 4 https://bugs.webkit.org/show_bug.cgi?id=168319 5 6 Reviewed by Youenn Fablet. 7 8 Added ReadableByteStreamController byobRequest attribute. 9 10 Added tests related to ReadableStreamBYOBRequest as a dedicated object 11 and also as an attribute of ReadableByteStreamController. 12 13 * CMakeLists.txt: Added new files. 14 * DerivedSources.cpp: Added new files. 15 * DerivedSources.make: Added new files. 16 * Modules/streams/ReadableByteStreamController.idl: Added byobRequest support. 17 * Modules/streams/ReadableByteStreamController.js: Added byobRequest support. 18 * Modules/streams/ReadableByteStreamInternals.js: 19 (privateInitializeReadableStreamBYOBRequest): Added constructor. 20 * Modules/streams/ReadableStreamBYOBRequest.idl: Added. 21 * Modules/streams/ReadableStreamBYOBRequest.js: Added. 22 (respond): Not implemented yet. 23 (respondWithNewView): Not implemented yet. 24 (view): Not implemented yet. 25 * WebCore.xcodeproj/project.pbxproj: Added new files. 26 * bindings/js/JSDOMGlobalObject.cpp: Added ReadableStreamBYOBRequest support. 27 (WebCore::JSDOMGlobalObject::addBuiltinGlobals): 28 (WebCore::JSDOMGlobalObject::finishCreation): 29 (WebCore::JSDOMGlobalObject::visitChildren): 30 * bindings/js/JSReadableStreamPrivateConstructors.cpp: Added ReadableStreamBYOBRequest support. 31 (WebCore::constructJSReadableByteStreamController): 32 (WebCore::constructJSReadableStreamBYOBRequest): 33 (WebCore::JSBuiltinReadableStreamBYOBRequestPrivateConstructor::initializeExecutable): 34 (WebCore::createReadableStreamBYOBRequestPrivateConstructor): 35 * bindings/js/JSReadableStreamPrivateConstructors.h: Added ReadableStreamBYOBRequest support. 36 * bindings/js/WebCoreBuiltinNames.h: Added ReadableStreamBYOBRequest support. 37 1 38 2017-02-20 Per Arne Vollan <pvollan@apple.com> 2 39 -
trunk/Source/WebCore/DerivedSources.cpp
r212329 r212656 387 387 #include "JSReadableByteStreamController.cpp" 388 388 #include "JSReadableStream.cpp" 389 #include "JSReadableStreamBYOBRequest.cpp" 389 390 #include "JSReadableStreamDefaultController.cpp" 390 391 #include "JSReadableStreamDefaultReader.cpp" -
trunk/Source/WebCore/DerivedSources.make
r212329 r212656 204 204 $(WebCore)/Modules/streams/ReadableByteStreamController.idl \ 205 205 $(WebCore)/Modules/streams/ReadableStream.idl \ 206 $(WebCore)/Modules/streams/ReadableStreamBYOBRequest.idl \ 206 207 $(WebCore)/Modules/streams/ReadableStreamDefaultController.idl \ 207 208 $(WebCore)/Modules/streams/ReadableStreamDefaultReader.idl \ … … 1350 1351 $(WebCore)/Modules/streams/ReadableByteStreamInternals.js \ 1351 1352 $(WebCore)/Modules/streams/ReadableStream.js \ 1353 $(WebCore)/Modules/streams/ReadableStreamBYOBRequest.js \ 1352 1354 $(WebCore)/Modules/streams/ReadableStreamDefaultController.js \ 1353 1355 $(WebCore)/Modules/streams/ReadableStreamInternals.js \ -
trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.idl
r208276 r212656 39 39 [NotEnumerable] void error(optional any error); 40 40 41 //FIXME: Add byobRequest when implemented.41 [NotEnumerable] readonly attribute ReadableStreamBYOBRequest byobRequest; 42 42 [NotEnumerable] readonly attribute double desiredSize; 43 43 }; -
trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.js
r211779 r212656 81 81 "use strict"; 82 82 83 //FIXME: Implement appropriate behavior. 84 @throwTypeError("ReadableByteStreamController byobRequest is not implemented"); 83 if (!@isReadableByteStreamController(this)) 84 throw @makeGetterTypeError("ReadableByteStreamController", "byobRequest"); 85 86 if (this.@byobRequest === @undefined && this.@pendingPullIntos.length) { 87 const firstDescriptor = this.@pendingPullIntos[0]; 88 const view = new @Uint8Array(firstDescriptor.buffer, 89 firstDescriptor.byteOffset + firstDescriptor.bytesFilled, 90 firstDescriptor.byteLength - firstDescriptor.bytesFilled); 91 this.@byobRequest = new @ReadableStreamBYOBRequest(this, view); 92 } 93 94 return this.@byobRequest; 85 95 } 86 96 -
trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js
r211779 r212656 79 79 } 80 80 81 function privateInitializeReadableStreamBYOBRequest(controller, view) 82 { 83 "use strict"; 84 85 this.@associatedReadableByteStreamController = controller; 86 this.@view = view; 87 } 88 81 89 function isReadableByteStreamController(controller) 82 90 { -
trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.idl
r212655 r212656 1 1 /* 2 * Copyright (C) 2016 Canon Inc. 3 * Copyright (C) 2015 Igalia S.L. 2 * Copyright (C) 2017 Canon Inc. 4 3 * 5 4 * Redistribution and use in source and binary forms, with or without … … 30 29 [ 31 30 Conditional=READABLE_STREAM_API&READABLE_BYTE_STREAM_API, 32 CustomConstructor(Readable Stream stream, any underlyingByteSource, unsigned long highWaterMark),31 CustomConstructor(ReadableByteStreamController controller, TypedArray view), 33 32 Exposed=(Window,Worker), 34 33 JSBuiltin, 35 34 NoInterfaceObject 36 ] interface ReadableByteStreamController { 37 [NotEnumerable] void enqueue(optional any chunk); 38 [NotEnumerable] void close(); 39 [NotEnumerable] void error(optional any error); 35 ] interface ReadableStreamBYOBRequest { 36 [NotEnumerable] void respond(optional any bytesWritten); 37 [NotEnumerable] void respondWithNewView(optional any view); 40 38 41 //FIXME: Add byobRequest when implemented. 42 [NotEnumerable] readonly attribute double desiredSize; 39 [NotEnumerable] readonly attribute TypedArray view; 43 40 }; -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r212572 r212656 2613 2613 6B693A341C51A95D00B03BEF /* ResourceLoadObserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B693A331C51A95D00B03BEF /* ResourceLoadObserver.cpp */; }; 2614 2614 6C4C96DE1AD4483500363F64 /* JSReadableByteStreamController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500363F64 /* JSReadableByteStreamController.cpp */; }; 2615 6C4C96DE1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp */; }; 2615 2616 6C4C96DE1AD4483500365A50 /* JSReadableStreamDefaultController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */; }; 2616 2617 6C4C96DF1AD4483500363F64 /* JSReadableByteStreamController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C4C96DB1AD4483500363F64 /* JSReadableByteStreamController.h */; }; 2618 6C4C96DF1AD4483500365672 /* JSReadableStreamBYOBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C4C96DB1AD4483500365672 /* JSReadableStreamBYOBRequest.h */; }; 2617 2619 6C4C96DF1AD4483500365A50 /* JSReadableStreamDefaultController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C4C96DB1AD4483500365A50 /* JSReadableStreamDefaultController.h */; }; 2618 2620 6C638895A96CCEE50C8C946C /* CachedResourceRequestInitiators.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C638893A96CCEE50C8C946C /* CachedResourceRequestInitiators.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 8771 8773 41189EF71AD8232800B90A0D /* ReadableStreamDefaultController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamDefaultController.idl; sourceTree = "<group>"; }; 8772 8774 41189EF71AD8232800B93F64 /* ReadableByteStreamController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableByteStreamController.idl; sourceTree = "<group>"; }; 8775 41189EF71AD8232800B95672 /* ReadableStreamBYOBRequest.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamBYOBRequest.idl; sourceTree = "<group>"; }; 8773 8776 4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptState.cpp; sourceTree = "<group>"; }; 8774 8777 4129DF831BB5B7F700322A16 /* JSReadableStreamPrivateConstructors.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamPrivateConstructors.cpp; sourceTree = "<group>"; }; … … 10019 10022 6B693A331C51A95D00B03BEF /* ResourceLoadObserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResourceLoadObserver.cpp; sourceTree = "<group>"; }; 10020 10023 6C4C96DA1AD4483500363F64 /* JSReadableByteStreamController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableByteStreamController.cpp; sourceTree = "<group>"; }; 10024 6C4C96DA1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamBYOBRequest.cpp; sourceTree = "<group>"; }; 10021 10025 6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamDefaultController.cpp; sourceTree = "<group>"; }; 10022 10026 6C4C96DB1AD4483500363F64 /* JSReadableByteStreamController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableByteStreamController.h; sourceTree = "<group>"; }; 10027 6C4C96DB1AD4483500365672 /* JSReadableStreamBYOBRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStreamBYOBRequest.h; sourceTree = "<group>"; }; 10023 10028 6C4C96DB1AD4483500365A50 /* JSReadableStreamDefaultController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStreamDefaultController.h; sourceTree = "<group>"; }; 10024 10029 6C638893A96CCEE50C8C946C /* CachedResourceRequestInitiators.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CachedResourceRequestInitiators.h; sourceTree = "<group>"; }; … … 11610 11615 9908B0F01BCACF9100ED0F65 /* ReadableStreamDefaultController.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamDefaultController.js; sourceTree = "<group>"; }; 11611 11616 9908B0F01BCACF9100ED3F64 /* ReadableByteStreamController.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableByteStreamController.js; sourceTree = "<group>"; }; 11617 9908B0F01BCACF9100ED5672 /* ReadableStreamBYOBRequest.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamBYOBRequest.js; sourceTree = "<group>"; }; 11612 11618 9908B0F11BCACF9100ED0F55 /* StreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = StreamInternals.js; sourceTree = "<group>"; }; 11613 11619 9908B0F11BCACF9100ED0F65 /* ReadableStreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamInternals.js; sourceTree = "<group>"; }; … … 16953 16959 41A023ED1A39DB7900F722CF /* ReadableStream.idl */, 16954 16960 9908B0EF1BCACF9100ED0F65 /* ReadableStream.js */, 16961 41189EF71AD8232800B95672 /* ReadableStreamBYOBRequest.idl */, 16962 9908B0F01BCACF9100ED5672 /* ReadableStreamBYOBRequest.js */, 16955 16963 41189EF71AD8232800B90A0D /* ReadableStreamDefaultController.idl */, 16956 16964 9908B0F01BCACF9100ED0F65 /* ReadableStreamDefaultController.js */, … … 16975 16983 7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */, 16976 16984 7C4C96D91AD4483500365A50 /* JSReadableStream.h */, 16985 6C4C96DA1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp */, 16986 6C4C96DB1AD4483500365672 /* JSReadableStreamBYOBRequest.h */, 16977 16987 6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */, 16978 16988 6C4C96DB1AD4483500365A50 /* JSReadableStreamDefaultController.h */, … … 26863 26873 6C4C96DF1AD4483500363F64 /* JSReadableByteStreamController.h in Headers */, 26864 26874 7C4C96DD1AD4483500365A50 /* JSReadableStream.h in Headers */, 26875 6C4C96DF1AD4483500365672 /* JSReadableStreamBYOBRequest.h in Headers */, 26865 26876 6C4C96DF1AD4483500365A50 /* JSReadableStreamDefaultController.h in Headers */, 26866 26877 7C4C96DF1AD4483500365A50 /* JSReadableStreamDefaultReader.h in Headers */, … … 30689 30700 6C4C96DE1AD4483500363F64 /* JSReadableByteStreamController.cpp in Sources */, 30690 30701 7C4C96DC1AD4483500365A50 /* JSReadableStream.cpp in Sources */, 30702 6C4C96DE1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp in Sources */, 30691 30703 6C4C96DE1AD4483500365A50 /* JSReadableStreamDefaultController.cpp in Sources */, 30692 30704 7C4C96DE1AD4483500365A50 /* JSReadableStreamDefaultReader.cpp in Sources */, -
trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
r211247 r212656 108 108 #if ENABLE(READABLE_BYTE_STREAM_API) 109 109 JSObject* privateReadableByteStreamControllerConstructor = createReadableByteStreamControllerPrivateConstructor(vm, *this); 110 JSObject* privateReadableStreamBYOBRequestConstructor = createReadableStreamBYOBRequestPrivateConstructor(vm, *this); 110 111 #endif 111 112 JSObject* privateReadableStreamDefaultReaderConstructor = createReadableStreamDefaultReaderPrivateConstructor(vm, *this); … … 114 115 #if ENABLE(READABLE_BYTE_STREAM_API) 115 116 ASSERT(!constructors(NoLockingNecessary).get(privateReadableByteStreamControllerConstructor->info()).get()); 117 ASSERT(!constructors(NoLockingNecessary).get(privateReadableStreamBYOBRequestConstructor->info()).get()); 116 118 #endif 117 119 ASSERT(!constructors(NoLockingNecessary).get(privateReadableStreamDefaultReaderConstructor->info()).get()); … … 122 124 #if ENABLE(READABLE_BYTE_STREAM_API) 123 125 constructors(locker).add(privateReadableByteStreamControllerConstructor->info(), temp).iterator->value.set(vm, this, privateReadableByteStreamControllerConstructor); 126 constructors(locker).add(privateReadableStreamBYOBRequestConstructor->info(), temp).iterator->value.set(vm, this, privateReadableStreamBYOBRequestConstructor); 124 127 #endif 125 128 constructors(locker).add(privateReadableStreamDefaultReaderConstructor->info(), temp).iterator->value.set(vm, this, privateReadableStreamDefaultReaderConstructor); … … 149 152 #if ENABLE(READABLE_BYTE_STREAM_API) 150 153 JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().ReadableByteStreamControllerPrivateName(), privateReadableByteStreamControllerConstructor, DontDelete | ReadOnly), 154 JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().ReadableStreamBYOBRequestPrivateName(), privateReadableStreamBYOBRequestConstructor, DontDelete | ReadOnly), 151 155 #endif 152 156 JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().ReadableStreamDefaultReaderPrivateName(), privateReadableStreamDefaultReaderConstructor, DontDelete | ReadOnly), … … 162 166 163 167 addBuiltinGlobals(vm); 164 168 165 169 RELEASE_ASSERT(classInfo()); 166 170 } … … 172 176 173 177 addBuiltinGlobals(vm); 174 178 175 179 RELEASE_ASSERT(classInfo()); 176 180 } … … 192 196 ASSERT_GC_OBJECT_INHERITS(thisObject, info()); 193 197 Base::visitChildren(thisObject, visitor); 194 198 195 199 { 196 200 auto locker = holdLock(thisObject->m_gcLock); 197 201 198 202 for (auto& structure : thisObject->structures(locker).values()) 199 203 visitor.append(structure); 200 204 201 205 for (auto& constructor : thisObject->constructors(locker).values()) 202 206 visitor.append(constructor); 203 207 204 208 for (auto& deferredPromise : thisObject->deferredPromises(locker)) 205 209 deferredPromise->visitAggregate(visitor); -
trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.cpp
r211892 r212656 26 26 #include "JSReadableByteStreamController.h" 27 27 #include "JSReadableStream.h" 28 #include "JSReadableStreamBYOBRequest.h" 28 29 #include "JSReadableStreamDefaultController.h" 29 30 #include "JSReadableStreamDefaultReader.h" … … 45 46 } 46 47 47 #if ENABLE(READABLE_BYTE_STREAM_API)48 // Public JS ReadableByteStreamController constructor callback.49 EncodedJSValue JSC_HOST_CALL constructJSReadableByteStreamController(ExecState& exec)50 {51 VM& vm = exec.vm();52 auto scope = DECLARE_THROW_SCOPE(vm);53 return throwVMTypeError(&exec, scope, ASCIILiteral("ReadableByteStreamController constructor should not be called directly"));54 }55 #endif56 57 48 EncodedJSValue JSC_HOST_CALL constructJSReadableStreamDefaultReader(ExecState& exec) 58 49 { … … 71 62 } 72 63 64 #if ENABLE(READABLE_BYTE_STREAM_API) 65 // Public JS ReadableByteStreamController and ReadableStreamBYOBRequest constructor callback. 66 EncodedJSValue JSC_HOST_CALL constructJSReadableByteStreamController(ExecState& exec) 67 { 68 VM& vm = exec.vm(); 69 auto scope = DECLARE_THROW_SCOPE(vm); 70 return throwVMTypeError(&exec, scope, ASCIILiteral("ReadableByteStreamController constructor should not be called directly")); 71 } 72 73 EncodedJSValue JSC_HOST_CALL constructJSReadableStreamBYOBRequest(ExecState& exec) 74 { 75 VM& vm = exec.vm(); 76 auto scope = DECLARE_THROW_SCOPE(vm); 77 return throwVMTypeError(&exec, scope, ASCIILiteral("ReadableStreamBYOBRequest constructor should not be called directly")); 78 } 79 #endif 80 73 81 // Private JS ReadableStreamDefaultReader and ReadableStreamDefaultController constructors. 74 82 using JSBuiltinReadableStreamDefaultReaderPrivateConstructor = JSDOMBuiltinConstructor<JSReadableStreamDefaultReader>; … … 77 85 // Private JS ReadableByteStreamController constructor. 78 86 using JSBuiltinReadableByteStreamControllerPrivateConstructor = JSDOMBuiltinConstructor<JSReadableByteStreamController>; 87 using JSBuiltinReadableStreamBYOBRequestPrivateConstructor = JSDOMBuiltinConstructor<JSReadableStreamBYOBRequest>; 79 88 #endif 80 89 … … 83 92 #if ENABLE(READABLE_BYTE_STREAM_API) 84 93 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableByteStreamControllerPrivateConstructor); 94 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableStreamBYOBRequestPrivateConstructor); 85 95 #endif 86 96 … … 89 99 #if ENABLE(READABLE_BYTE_STREAM_API) 90 100 template<> const ClassInfo JSBuiltinReadableByteStreamControllerPrivateConstructor::s_info = { "ReadableByteStreamControllerPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableByteStreamControllerPrivateConstructor) }; 101 template<> const ClassInfo JSBuiltinReadableStreamBYOBRequestPrivateConstructor::s_info = { "ReadableStreamBYOBRequestPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableStreamBYOBRequestPrivateConstructor) }; 91 102 #endif 92 103 … … 105 116 { 106 117 return readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeGenerator(vm); 118 } 119 120 template<> FunctionExecutable* JSBuiltinReadableStreamBYOBRequestPrivateConstructor::initializeExecutable(JSC::VM& vm) 121 { 122 return readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeGenerator(vm); 107 123 } 108 124 #endif … … 123 139 return JSBuiltinReadableByteStreamControllerPrivateConstructor::create(vm, JSBuiltinReadableByteStreamControllerPrivateConstructor::createStructure(vm, globalObject, globalObject.objectPrototype()), globalObject); 124 140 } 141 142 JSObject* createReadableStreamBYOBRequestPrivateConstructor(VM& vm, JSDOMGlobalObject& globalObject) 143 { 144 return JSBuiltinReadableStreamBYOBRequestPrivateConstructor::create(vm, JSBuiltinReadableStreamBYOBRequestPrivateConstructor::createStructure(vm, globalObject, globalObject.objectPrototype()), globalObject); 145 } 125 146 #endif 126 147 -
trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.h
r208276 r212656 35 35 #if ENABLE(READABLE_BYTE_STREAM_API) 36 36 JSC::JSObject* createReadableByteStreamControllerPrivateConstructor(JSC::VM&, JSDOMGlobalObject&); 37 JSC::JSObject* createReadableStreamBYOBRequestPrivateConstructor(JSC::VM&, JSDOMGlobalObject&); 37 38 #endif 38 39 -
trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h
r212323 r212656 34 34 macro(addTrack) \ 35 35 macro(appendFromJS) \ 36 macro(associatedReadableByteStreamController) \ 36 37 macro(autoAllocateChunkSize) \ 37 38 macro(body) \ 39 macro(byobRequest) \ 38 40 macro(cancel) \ 39 41 macro(cloneForJS) \ … … 104 106 macro(underlyingSink) \ 105 107 macro(underlyingSource) \ 108 macro(view) \ 106 109 macro(writing) \ 107 110 macro(Headers) \ … … 110 113 macro(ReadableByteStreamController) \ 111 114 macro(ReadableStream) \ 115 macro(ReadableStreamBYOBRequest) \ 112 116 macro(ReadableStreamDefaultController) \ 113 117 macro(ReadableStreamDefaultReader) \
Note: See TracChangeset
for help on using the changeset viewer.