RESOLVED FIXED 161044
[Streams API] Separate compile flag for ReadableStream and WritableStream
https://bugs.webkit.org/show_bug.cgi?id=161044
Summary [Streams API] Separate compile flag for ReadableStream and WritableStream
youenn fablet
Reported 2016-08-22 06:12:35 PDT
ReadableStream is more stable than WritableStream. It is also used in fetch API so it might be good to expose ReadableStream without needing to expose WritableStream.
Attachments
Patch (97.46 KB, patch)
2016-08-22 07:19 PDT, youenn fablet
no flags
Fixing option (98.04 KB, patch)
2016-08-22 07:49 PDT, youenn fablet
no flags
Trying to fix EFL/GTK builds (98.06 KB, patch)
2016-08-22 09:18 PDT, youenn fablet
no flags
Patch (99.60 KB, patch)
2016-09-07 00:54 PDT, youenn fablet
no flags
Renaming macros (100.52 KB, patch)
2016-09-07 06:14 PDT, youenn fablet
no flags
Updating change log (100.69 KB, patch)
2016-09-07 07:19 PDT, youenn fablet
no flags
Patch for landing (99.94 KB, patch)
2016-09-07 08:55 PDT, youenn fablet
no flags
youenn fablet
Comment 1 2016-08-22 07:19:01 PDT
youenn fablet
Comment 2 2016-08-22 07:49:15 PDT
Created attachment 286596 [details] Fixing option
youenn fablet
Comment 3 2016-08-22 09:18:16 PDT
Created attachment 286600 [details] Trying to fix EFL/GTK builds
youenn fablet
Comment 4 2016-09-07 00:54:33 PDT
Xabier Rodríguez Calvar
Comment 5 2016-09-07 04:02:07 PDT
Comment on attachment 288116 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=288116&action=review I made some comments that IMHO need to be changed. Besides them, I think somebody else should review the Apple build system code. > Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig:152 > +ENABLE_READABLESTREAM_API = ENABLE_READABLESTREAM_API; I think we should use READABLE_STREAM_API throughout the whole code. Same for WRITABLE_STREAM_API > Source/WebCore/CMakeLists.txt:3727 > + list(APPEND WebCore_DERIVED_BUILTIN_HEADERS ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.h) > endforeach () > > add_custom_command( > - OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp > - ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp > + OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp > ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h > ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h > MAIN_DEPENDENCY ${WebCore_BUILTINS_SOURCES} > - DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} > + DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} ${WebCore_DERIVED_BUILTIN_HEADERS} What does this have to do with the current objective of the patch? > Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.idl:33 > + Conditional=READABLESTREAM_API, Apparently https://streams.spec.whatwg.org/#blqs-class this is also used in Writable Streams > Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js:27 > +// @conditional=ENABLE(READABLESTREAM_API) Ditto. > Source/WebCore/Modules/streams/CountQueuingStrategy.js:26 > +// @conditional=ENABLE(READABLESTREAM_API) Ditto > Source/WebCore/Modules/streams/ReadableStream.js:27 > +// @conditional=ENABLE(READABLESTREAM_API) Ditto > Tools/Scripts/webkitperl/FeatureList.pm:127 > + $readablestreamAPISupport, Let's use $readableStreamAPISupport everywhere. > Tools/Scripts/webkitperl/FeatureList.pm:159 > + $writablestreamAPISupport, Let's use $writableStreamAPISupport everywhere.
youenn fablet
Comment 6 2016-09-07 05:44:02 PDT
> > Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig:152 > > +ENABLE_READABLESTREAM_API = ENABLE_READABLESTREAM_API; > > I think we should use READABLE_STREAM_API throughout the whole code. Same > for WRITABLE_STREAM_API OK > > Source/WebCore/CMakeLists.txt:3727 > > + list(APPEND WebCore_DERIVED_BUILTIN_HEADERS ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.h) > > endforeach () > > > > add_custom_command( > > - OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp WebCoreJSBuiltins.cpp is only used for non cmake build systems. > > - ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp > > + OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp > > ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h > > ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h > > MAIN_DEPENDENCY ${WebCore_BUILTINS_SOURCES} > > - DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} > > + DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} ${WebCore_DERIVED_BUILTIN_HEADERS} > > What does this have to do with the current objective of the patch? We ensure that if the header files are modified, we call the script. Otherwise, as in this case, the script is not called. That is the reason of the previous patch failures. > > Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.idl:33 > > + Conditional=READABLESTREAM_API, > > Apparently https://streams.spec.whatwg.org/#blqs-class this is also used in > Writable Streams Yes, but we do not test them with writable streams... Well, let's be optimistic, writable stream tests are on their WPT way. > > Tools/Scripts/webkitperl/FeatureList.pm:127 > > + $readablestreamAPISupport, > > Let's use $readableStreamAPISupport everywhere. OK > > Tools/Scripts/webkitperl/FeatureList.pm:159 > > + $writablestreamAPISupport, > > Let's use $writableStreamAPISupport everywhere. OK
youenn fablet
Comment 7 2016-09-07 06:14:28 PDT
Created attachment 288130 [details] Renaming macros
Xabier Rodríguez Calvar
Comment 8 2016-09-07 06:39:04 PDT
(In reply to comment #6) > > > Source/WebCore/CMakeLists.txt:3727 > > > + list(APPEND WebCore_DERIVED_BUILTIN_HEADERS ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.h) > > > endforeach () > > > > > > add_custom_command( > > > - OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp > > WebCoreJSBuiltins.cpp is only used for non cmake build systems. > > > > - ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp > > > + OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp > > > ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h > > > ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h > > > MAIN_DEPENDENCY ${WebCore_BUILTINS_SOURCES} > > > - DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} > > > + DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} ${WebCore_DERIVED_BUILTIN_HEADERS} > > > > What does this have to do with the current objective of the patch? > > We ensure that if the header files are modified, we call the script. > Otherwise, as in this case, the script is not called. > That is the reason of the previous patch failures. Since this is a different problem, shouldn't this be done in a different patch?
youenn fablet
Comment 9 2016-09-07 06:53:15 PDT
> Since this is a different problem, shouldn't this be done in a different > patch? But the proof it is working is the other changes. We could land this patch without the build system changes, but this would require clean builds. Given the small size of these specific changes, I prefer land it in one go if that is possible.
Xabier Rodríguez Calvar
Comment 10 2016-09-07 07:09:37 PDT
Comment on attachment 288130 [details] Renaming macros View in context: https://bugs.webkit.org/attachment.cgi?id=288130&action=review Besides this nuances that need to be fixed, I'd appreciate if somebody else could give the r+ after reviewing the Apple build specifics. > Source/WebCore/CMakeLists.txt:3727 > + list(APPEND WebCore_DERIVED_BUILTIN_HEADERS ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.h) > endforeach () > > add_custom_command( > - OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp > - ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp > + OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp > ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h > ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h > MAIN_DEPENDENCY ${WebCore_BUILTINS_SOURCES} > - DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} > + DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} ${WebCore_DERIVED_BUILTIN_HEADERS} Ok, then write it in the corresponding changelog, cause I can't even see the corresponding empty entry for this one, which leads me to think that they need update.
youenn fablet
Comment 11 2016-09-07 07:15:10 PDT
> Ok, then write it in the corresponding changelog, cause I can't even see the > corresponding empty entry for this one, which leads me to think that they > need update. Right, I added it for mac but forgot cmake...
youenn fablet
Comment 12 2016-09-07 07:19:05 PDT
Created attachment 288133 [details] Updating change log
Alex Christensen
Comment 13 2016-09-07 08:52:25 PDT
Comment on attachment 288133 [details] Updating change log View in context: https://bugs.webkit.org/attachment.cgi?id=288133&action=review > LayoutTests/ChangeLog:10 > +2016-09-07 Youenn Fablet <youenn@apple.com> This ChangeLog entry should be removed.
youenn fablet
Comment 14 2016-09-07 08:55:34 PDT
Created attachment 288140 [details] Patch for landing
WebKit Commit Bot
Comment 15 2016-09-07 09:27:44 PDT
Comment on attachment 288140 [details] Patch for landing Clearing flags on attachment: 288140 Committed r205549: <http://trac.webkit.org/changeset/205549>
WebKit Commit Bot
Comment 16 2016-09-07 09:27:48 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.