<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[179687] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/179687">179687</a></dd>
<dt>Author</dt> <dd>calvaris@igalia.com</dd>
<dt>Date</dt> <dd>2015-02-05 02:19:05 -0800 (Thu, 05 Feb 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>[Streams API] Implement a barebone ReadableStream interface
https://bugs.webkit.org/show_bug.cgi?id=141045
Reviewed by Benjamin Poulain.
.:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake: Made streams API compilation on by default.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
This patch implements the ReadableStream IDL (https://streams.spec.whatwg.org/#rs-model).
No functionality is yet added.
ReadableStreamSource is expected to be implemented for native sources (such as HTTP sources)
as well as JavaScript source through ReadableStreamJSSource.
Test: streams/readablestream-constructor.html
* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/streams/ReadableStream.cpp: Added.
(WebCore::ReadableStream::create):
(WebCore::ReadableStream::ReadableStream):
(WebCore::ReadableStream::~ReadableStream):
(WebCore::ReadableStream::state):
(WebCore::ReadableStream::closed):
(WebCore::ReadableStream::ready):
* Modules/streams/ReadableStream.h: Added.
* Modules/streams/ReadableStream.idl: Added.
* Modules/streams/ReadableStreamSource.h: Added.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.vcxproj/WebCoreCommon.props:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSReadableStreamCustom.cpp: Added.
(WebCore::JSReadableStream::read):
(WebCore::JSReadableStream::ready):
(WebCore::JSReadableStream::closed):
(WebCore::JSReadableStream::cancel):
(WebCore::JSReadableStream::pipeTo):
(WebCore::JSReadableStream::pipeThrough):
(WebCore::constructJSReadableStream):
* bindings/js/ReadableStreamJSSource.cpp: Added.
(WebCore::ReadableStreamJSSource::create):
(WebCore::ReadableStreamJSSource::ReadableStreamJSSource):
(WebCore::ReadableStreamJSSource::setInternalError):
* bindings/JSReadableStreamJSSource.h: Added.
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
Source/WTF:
* wtf/FeatureDefines.h:
Tools:
* Scripts/webkitperl/FeatureList.pm: Added streams-api compilation switch.
LayoutTests:
Added readablestream-constructor test that checks ReadableStream properties and state.
Rebased global-constructor-attributes.html expectations to add ReadableStream description.
* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:
* streams/readablestream-constructor-expected.txt: Added.
* streams/readablestream-constructor.html: Added.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformefljsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformiossimdeprecatedjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmavericksjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmountainlionjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig">trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfFeatureDefinesh">trunk/Source/WTF/wtf/FeatureDefines.h</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreConfigurationsFeatureDefinesxcconfig">trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcescpp">trunk/Source/WebCore/DerivedSources.cpp</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCoreCommonprops">trunk/Source/WebCore/WebCore.vcxproj/WebCoreCommon.props</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp">trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacConfigurationsFeatureDefinesxcconfig">trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourceWebKit2CMakeListstxt">trunk/Source/WebKit2/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2ConfigurationsFeatureDefinesxcconfig">trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#trunkSourcecmakeWebKitFeaturescmake">trunk/Source/cmake/WebKitFeatures.cmake</a></li>
<li><a href="#trunkSourcecmakeconfighcmake">trunk/Source/cmakeconfig.h.cmake</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsScriptswebkitperlFeatureListpm">trunk/Tools/Scripts/webkitperl/FeatureList.pm</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/streams/</li>
<li><a href="#trunkLayoutTestsstreamsreadablestreamconstructorexpectedtxt">trunk/LayoutTests/streams/readablestream-constructor-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreadablestreamconstructorhtml">trunk/LayoutTests/streams/readablestream-constructor.html</a></li>
<li>trunk/Source/WebCore/Modules/streams/</li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamcpp">trunk/Source/WebCore/Modules/streams/ReadableStream.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamh">trunk/Source/WebCore/Modules/streams/ReadableStream.h</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamidl">trunk/Source/WebCore/Modules/streams/ReadableStream.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamSourceh">trunk/Source/WebCore/Modules/streams/ReadableStreamSource.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSReadableStreamCustomcpp">trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsReadableStreamJSSourcecpp">trunk/Source/WebCore/bindings/js/ReadableStreamJSSource.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsReadableStreamJSSourceh">trunk/Source/WebCore/bindings/js/ReadableStreamJSSource.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/ChangeLog        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Implement a barebone ReadableStream interface
+ https://bugs.webkit.org/show_bug.cgi?id=141045
+
+ Reviewed by Benjamin Poulain.
+
+ * Source/cmake/WebKitFeatures.cmake:
+ * Source/cmakeconfig.h.cmake: Made streams API compilation on by default.
+
</ins><span class="cx"> 2015-02-02 Filip Pizlo <fpizlo@apple.com>
</span><span class="cx">
</span><span class="cx"> Revert accidental change in r179490.
</span></span></pre></div>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/ChangeLog        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Implement a barebone ReadableStream interface
+ https://bugs.webkit.org/show_bug.cgi?id=141045
+
+ Reviewed by Benjamin Poulain.
+
+ Added readablestream-constructor test that checks ReadableStream properties and state.
+ Rebased global-constructor-attributes.html expectations to add ReadableStream description.
+
+ * js/dom/global-constructors-attributes-expected.txt:
+ * platform/efl/js/dom/global-constructors-attributes-expected.txt:
+ * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
+ * platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
+ * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
+ * platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
+ * platform/mac/js/dom/global-constructors-attributes-expected.txt:
+ * platform/win/js/dom/global-constructors-attributes-expected.txt:
+ * streams/readablestream-constructor-expected.txt: Added.
+ * streams/readablestream-constructor.html: Added.
+
</ins><span class="cx"> 2015-02-05 Csaba Osztrogonác <ossy@webkit.org>
</span><span class="cx">
</span><span class="cx"> Remove Mountain Lion specific test expectations
</span></span></pre></div>
<a id="trunkLayoutTestsjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -993,6 +993,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformefljsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -993,6 +993,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1068,6 +1068,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformiossimdeprecatedjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -998,6 +998,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1018,6 +1018,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmavericksjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -998,6 +998,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmountainlionjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -988,6 +988,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -838,6 +838,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'RangeException').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').value is ReadableStream
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'ReadableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').value is Rect
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Rect').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreadablestreamconstructorexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/streams/readablestream-constructor-expected.txt (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/readablestream-constructor-expected.txt         (rev 0)
+++ trunk/LayoutTests/streams/readablestream-constructor-expected.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+
+PASS ReadableStream constructor should get an object as argument
+PASS ReadableStream instances should have the correct list of properties
+PASS ReadableStream can be constructed with no arguments
+PASS ReadableStream instances have the correct methods and properties
+
</ins></span></pre></div>
<a id="trunkLayoutTestsstreamsreadablestreamconstructorhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/streams/readablestream-constructor.html (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/readablestream-constructor.html         (rev 0)
+++ trunk/LayoutTests/streams/readablestream-constructor.html        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+<!DOCTYPE html>
+<script src='../resources/testharness.js'></script>
+<script src='../resources/testharnessreport.js'></script>
+<script>
+
+test(function() {
+ assert_throws(new TypeError(), function() {
+ new ReadableStream('potato');
+ });
+}, 'ReadableStream constructor should get an object as argument');
+
+test(function() {
+ rs = new ReadableStream();
+ assert_array_equals(Object.getOwnPropertyNames(rs), ['closed', 'ready']);
+ assert_array_equals(Object.getOwnPropertyNames(Object.getPrototypeOf(rs)), ['constructor','state', 'read', 'cancel', 'pipeTo', 'pipeThrough']);
+
+ assert_true(Object.getOwnPropertyDescriptor(rs, 'closed').enumerable);
+ assert_false(Object.getOwnPropertyDescriptor(rs, 'closed').configurable);
+
+ assert_true(Object.getOwnPropertyDescriptor(rs, 'ready').enumerable);
+ assert_false(Object.getOwnPropertyDescriptor(rs, 'ready').configurable);
+
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'state').enumerable);
+ assert_false(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'state').configurable);
+
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'read').enumerable);
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'read').configurable);
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'read').writable);
+
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'cancel').enumerable);
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'cancel').configurable);
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'cancel').writable);
+
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'pipeTo').enumerable);
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'pipeTo').configurable);
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'pipeTo').writable);
+
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'pipeThrough').enumerable);
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'pipeThrough').configurable);
+ assert_true(Object.getOwnPropertyDescriptor(Object.getPrototypeOf(rs), 'pipeThrough').writable);
+}, 'ReadableStream instances should have the correct list of properties');
+
+// The following two tests are derived from https://github.com/whatwg/streams/blob/master/reference-implementation/test/readable-stream.js
+test(function() {
+ new ReadableStream();
+}, 'ReadableStream can be constructed with no arguments');
+
+test(function() {
+ rs = new ReadableStream();
+ assert_equals(typeof rs.read, 'function', 'has a read method');
+ assert_equals(typeof rs.cancel, 'function', 'has an cancel method');
+ assert_equals(typeof rs.pipeTo, 'function', 'has a pipeTo method');
+ assert_equals(typeof rs.pipeThrough, 'function', 'has a pipeThrough method');
+ assert_equals(rs.state, 'waiting', 'state starts out waiting');
+ assert_exists(rs, 'ready', 'has a ready property');
+ assert_equals(typeof rs.ready.then, 'function', 'ready property is a thenable');
+ assert_exists(rs, 'closed', 'has a closed property');
+ assert_equals(typeof rs.closed.then, 'function', 'closed property is thenable');
+}, 'ReadableStream instances have the correct methods and properties');
+
+</script>
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Implement a barebone ReadableStream interface
+ https://bugs.webkit.org/show_bug.cgi?id=141045
+
+ Reviewed by Benjamin Poulain.
+
+ * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2015-02-05 Saam Barati <saambarati1@gmail.com>
</span><span class="cx">
</span><span class="cx"> Crash in uninitialized deconstructing variable.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -151,6 +151,7 @@
</span><span class="cx"> ENABLE_RUBBER_BANDING[sdk=macosx*] = ENABLE_RUBBER_BANDING;
</span><span class="cx"> ENABLE_CSS_SCROLL_SNAP = ENABLE_CSS_SCROLL_SNAP;
</span><span class="cx"> ENABLE_SPEECH_SYNTHESIS = ENABLE_SPEECH_SYNTHESIS;
</span><ins>+ENABLE_STREAMS_API = ENABLE_STREAMS_API;
</ins><span class="cx"> ENABLE_SUBTLE_CRYPTO = ENABLE_SUBTLE_CRYPTO;
</span><span class="cx"> ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
</span><span class="cx"> ENABLE_SVG_OTF_CONVERTER[sdk=iphone*] = ;
</span><span class="lines">@@ -206,4 +207,4 @@
</span><span class="cx">
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx">
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSC
REEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENAB
LE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
$(ENABLE_VIDEO_PRESENTATION_MODE);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCR
EEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABL
E_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATE
D_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</ins></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WTF/ChangeLog        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Implement a barebone ReadableStream interface
+ https://bugs.webkit.org/show_bug.cgi?id=141045
+
+ Reviewed by Benjamin Poulain.
+
+ * wtf/FeatureDefines.h:
+
</ins><span class="cx"> 2015-02-04 Alexey Proskuryakov <ap@apple.com>
</span><span class="cx">
</span><span class="cx"> Optimized equal() functions in StringImpl.h are not ASan compatible
</span></span></pre></div>
<a id="trunkSourceWTFwtfFeatureDefinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/FeatureDefines.h (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/FeatureDefines.h        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WTF/wtf/FeatureDefines.h        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -651,6 +651,10 @@
</span><span class="cx"> #define ENABLE_SPELLCHECK 0
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+#if !defined(ENABLE_STREAMS_API)
+#define ENABLE_STREAMS_API 1
+#endif
+
</ins><span class="cx"> #if !defined(ENABLE_SVG_FONTS)
</span><span class="cx"> #define ENABLE_SVG_FONTS 1
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -17,6 +17,7 @@
</span><span class="cx"> "${WEBCORE_DIR}/Modules/proximity"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/quota"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/speech"
</span><ins>+ "${WEBCORE_DIR}/Modules/streams"
</ins><span class="cx"> "${WEBCORE_DIR}/Modules/vibration"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/webaudio"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/webdatabase"
</span><span class="lines">@@ -142,6 +143,7 @@
</span><span class="cx"> Modules/proximity
</span><span class="cx"> Modules/quota
</span><span class="cx"> Modules/speech
</span><ins>+ Modules/streams
</ins><span class="cx"> Modules/vibration
</span><span class="cx"> Modules/webaudio
</span><span class="cx"> Modules/webdatabase
</span><span class="lines">@@ -269,6 +271,8 @@
</span><span class="cx"> Modules/speech/SpeechSynthesisUtterance.idl
</span><span class="cx"> Modules/speech/SpeechSynthesisVoice.idl
</span><span class="cx">
</span><ins>+ Modules/streams/ReadableStream.idl
+
</ins><span class="cx"> Modules/vibration/NavigatorVibration.idl
</span><span class="cx">
</span><span class="cx"> Modules/webaudio/AnalyserNode.idl
</span><span class="lines">@@ -900,6 +904,8 @@
</span><span class="cx"> Modules/speech/SpeechSynthesisUtterance.cpp
</span><span class="cx"> Modules/speech/SpeechSynthesisVoice.cpp
</span><span class="cx">
</span><ins>+ Modules/streams/ReadableStream.cpp
+
</ins><span class="cx"> Modules/vibration/NavigatorVibration.cpp
</span><span class="cx"> Modules/vibration/Vibration.cpp
</span><span class="cx">
</span><span class="lines">@@ -1127,6 +1133,8 @@
</span><span class="cx"> bindings/js/JSRTCPeerConnectionCustom.cpp
</span><span class="cx"> bindings/js/JSRTCSessionDescriptionCustom.cpp
</span><span class="cx"> bindings/js/JSRTCStatsResponseCustom.cpp
</span><ins>+ bindings/js/JSReadableStreamCustom.cpp
+ bindings/js/ReadableStreamJSSource.cpp
</ins><span class="cx"> bindings/js/JSRequestAnimationFrameCallbackCustom.cpp
</span><span class="cx"> bindings/js/JSSQLResultSetRowListCustom.cpp
</span><span class="cx"> bindings/js/JSSQLTransactionCustom.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/ChangeLog        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1,3 +1,50 @@
</span><ins>+2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Implement a barebone ReadableStream interface
+ https://bugs.webkit.org/show_bug.cgi?id=141045
+
+ Reviewed by Benjamin Poulain.
+
+ This patch implements the ReadableStream IDL (https://streams.spec.whatwg.org/#rs-model).
+ No functionality is yet added.
+ ReadableStreamSource is expected to be implemented for native sources (such as HTTP sources)
+ as well as JavaScript source through ReadableStreamJSSource.
+
+ Test: streams/readablestream-constructor.html
+
+ * CMakeLists.txt:
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * Modules/streams/ReadableStream.cpp: Added.
+ (WebCore::ReadableStream::create):
+ (WebCore::ReadableStream::ReadableStream):
+ (WebCore::ReadableStream::~ReadableStream):
+ (WebCore::ReadableStream::state):
+ (WebCore::ReadableStream::closed):
+ (WebCore::ReadableStream::ready):
+ * Modules/streams/ReadableStream.h: Added.
+ * Modules/streams/ReadableStream.idl: Added.
+ * Modules/streams/ReadableStreamSource.h: Added.
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.vcxproj/WebCoreCommon.props:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSReadableStreamCustom.cpp: Added.
+ (WebCore::JSReadableStream::read):
+ (WebCore::JSReadableStream::ready):
+ (WebCore::JSReadableStream::closed):
+ (WebCore::JSReadableStream::cancel):
+ (WebCore::JSReadableStream::pipeTo):
+ (WebCore::JSReadableStream::pipeThrough):
+ (WebCore::constructJSReadableStream):
+ * bindings/js/ReadableStreamJSSource.cpp: Added.
+ (WebCore::ReadableStreamJSSource::create):
+ (WebCore::ReadableStreamJSSource::ReadableStreamJSSource):
+ (WebCore::ReadableStreamJSSource::setInternalError):
+ * bindings/JSReadableStreamJSSource.h: Added.
+
</ins><span class="cx"> 2015-02-04 Brent Fulgham <bfulgham@apple.com>
</span><span class="cx">
</span><span class="cx"> [Win] Unreviewed project file corrections.
</span></span></pre></div>
<a id="trunkSourceWebCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -151,6 +151,7 @@
</span><span class="cx"> ENABLE_RUBBER_BANDING[sdk=macosx*] = ENABLE_RUBBER_BANDING;
</span><span class="cx"> ENABLE_CSS_SCROLL_SNAP = ENABLE_CSS_SCROLL_SNAP;
</span><span class="cx"> ENABLE_SPEECH_SYNTHESIS = ENABLE_SPEECH_SYNTHESIS;
</span><ins>+ENABLE_STREAMS_API = ENABLE_STREAMS_API;
</ins><span class="cx"> ENABLE_SUBTLE_CRYPTO = ENABLE_SUBTLE_CRYPTO;
</span><span class="cx"> ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
</span><span class="cx"> ENABLE_SVG_OTF_CONVERTER[sdk=iphone*] = ;
</span><span class="lines">@@ -206,4 +207,4 @@
</span><span class="cx">
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx">
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSC
REEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENAB
LE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
$(ENABLE_VIDEO_PRESENTATION_MODE);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCR
EEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABL
E_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATE
D_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</ins></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.cpp (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.cpp        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/DerivedSources.cpp        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -300,6 +300,9 @@
</span><span class="cx"> #include "JSRadioNodeList.cpp"
</span><span class="cx"> #include "JSRange.cpp"
</span><span class="cx"> #include "JSRangeException.cpp"
</span><ins>+#if ENABLE(STREAMS_API)
+#include "JSReadableStream.cpp"
+#endif
</ins><span class="cx"> #include "JSRect.cpp"
</span><span class="cx"> #include "JSRequestAnimationFrameCallback.cpp"
</span><span class="cx"> #include "JSRGBColor.cpp"
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/DerivedSources.make        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx"> $(WebCore)/Modules/plugins \
</span><span class="cx"> $(WebCore)/Modules/quota \
</span><span class="cx"> $(WebCore)/Modules/speech \
</span><ins>+ $(WebCore)/Modules/streams \
</ins><span class="cx"> $(WebCore)/Modules/webaudio \
</span><span class="cx"> $(WebCore)/Modules/webdatabase \
</span><span class="cx"> $(WebCore)/Modules/websockets \
</span><span class="lines">@@ -167,6 +168,7 @@
</span><span class="cx"> $(WebCore)/Modules/speech/SpeechSynthesisEvent.idl \
</span><span class="cx"> $(WebCore)/Modules/speech/SpeechSynthesisUtterance.idl \
</span><span class="cx"> $(WebCore)/Modules/speech/SpeechSynthesisVoice.idl \
</span><ins>+ $(WebCore)/Modules/streams/ReadableStream.idl \
</ins><span class="cx"> $(WebCore)/Modules/webaudio/AudioBuffer.idl \
</span><span class="cx"> $(WebCore)/Modules/webaudio/AudioBufferCallback.idl \
</span><span class="cx"> $(WebCore)/Modules/webaudio/AudioBufferSourceNode.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/ReadableStream.cpp (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStream.cpp         (rev 0)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.cpp        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,95 @@
</span><ins>+/*
+ * Copyright (C) 2015 Canon Inc.
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "ReadableStream.h"
+
+#if ENABLE(STREAMS_API)
+
+#include "NotImplemented.h"
+#include <wtf/RefCountedLeakCounter.h>
+
+namespace WebCore {
+
+DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, readableStreamCounter, ("ReadableStream"));
+
+Ref<ReadableStream> ReadableStream::create(ScriptExecutionContext& scriptExecutionContext, Ref<ReadableStreamSource>&& source)
+{
+ auto readableStream = adoptRef(*new ReadableStream(scriptExecutionContext, WTF::move(source)));
+ readableStream.get().suspendIfNeeded();
+
+ return readableStream;
+}
+
+ReadableStream::ReadableStream(ScriptExecutionContext& scriptExecutionContext, Ref<ReadableStreamSource>&& source)
+ : ActiveDOMObject(&scriptExecutionContext)
+ , m_state(State::Waiting)
+ , m_source(WTF::move(source))
+{
+#ifndef NDEBUG
+ readableStreamCounter.increment();
+#endif
+}
+
+ReadableStream::~ReadableStream()
+{
+#ifndef NDEBUG
+ readableStreamCounter.decrement();
+#endif
+}
+
+String ReadableStream::state() const
+{
+ switch (m_state) {
+ case State::Waiting:
+ return ASCIILiteral("waiting");
+ case State::Closed:
+ return ASCIILiteral("closed");
+ case State::Readable:
+ return ASCIILiteral("readable");
+ case State::Errored:
+ return ASCIILiteral("errored");
+ }
+ ASSERT_NOT_REACHED();
+ return ASCIILiteral("");
+}
+
+void ReadableStream::closed(SuccessCallback)
+{
+ notImplemented();
+}
+
+void ReadableStream::ready(SuccessCallback)
+{
+ notImplemented();
+}
+
+}
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/ReadableStream.h (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStream.h         (rev 0)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.h        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,81 @@
</span><ins>+/*
+ * Copyright (C) 2015 Canon Inc.
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ReadableStream_h
+#define ReadableStream_h
+
+#if ENABLE(STREAMS_API)
+
+#include "ActiveDOMObject.h"
+#include "ReadableStreamSource.h"
+#include "ScriptWrappable.h"
+#include <functional>
+#include <wtf/Ref.h>
+
+namespace WebCore {
+
+class ScriptExecutionContext;
+
+// ReadableStream implements the core of the streams API ReadableStream functionality.
+// It handles in particular the backpressure according the queue size.
+// ReadableStream is using a ReadableStreamSource to get data in its queue.
+// See https://streams.spec.whatwg.org/#rs
+class ReadableStream : public ActiveDOMObject, public ScriptWrappable, public RefCounted<ReadableStream> {
+public:
+ enum class State {
+ Waiting,
+ Closed,
+ Readable,
+ Errored
+ };
+
+ static Ref<ReadableStream> create(ScriptExecutionContext&, Ref<ReadableStreamSource>&&);
+ virtual ~ReadableStream();
+
+ virtual const char* activeDOMObjectName() const override { return "ReadableStream"; }
+
+ // JS API implementation.
+ String state() const;
+
+ typedef std::function<void(RefPtr<ReadableStream>)> SuccessCallback;
+ void closed(SuccessCallback);
+ void ready(SuccessCallback);
+
+private:
+ ReadableStream(ScriptExecutionContext&, Ref<ReadableStreamSource>&&);
+
+ State m_state;
+ Ref<ReadableStreamSource> m_source;
+};
+
+}
+
+#endif
+
+#endif // ReadableStream_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/ReadableStream.idl (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStream.idl         (rev 0)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.idl        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+/*
+ * Copyright (C) 2015 Canon Inc.
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+enum ReadableStreamStateType { "readable", "waiting", "closed", "errored" };
+
+[
+ CustomConstructor(any properties),
+ Conditional=STREAMS_API
+] interface ReadableStream {
+ readonly attribute ReadableStreamStateType state;
+
+ [Custom, RaisesException] Object read();
+ // FIXME: Remove RaisesException once cancel is implemented.
+ [Custom, RaisesException] Promise cancel(DOMString reason);
+ // FIXME: Remove RaisesException once pipeTo is implemented.
+ [Custom, RaisesException] Promise pipeTo(any streams, any options);
+ [Custom, RaisesException] Object pipeThrough(any dest, any options);
+
+ [CustomGetter] readonly attribute Promise closed;
+ [CustomGetter] readonly attribute Promise ready;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamSourceh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/ReadableStreamSource.h (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStreamSource.h         (rev 0)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamSource.h        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+/*
+ * Copyright (C) 2015 Canon Inc.
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ReadableStreamSource_h
+#define ReadableStreamSource_h
+
+#if ENABLE(STREAMS_API)
+
+#include "ExceptionCode.h"
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+// ReadableStreamSource is the interface used by ReadableStream to pull data.
+class ReadableStreamSource: public RefCounted<ReadableStreamSource> {
+public:
+ virtual ~ReadableStreamSource() { }
+
+ virtual void pull() { }
+
+ virtual bool shouldApplyBackpressure(unsigned /*queueSize*/)
+ {
+ return true;
+ }
+
+ // Return true if cancelled (sync case) and false in async case.
+ virtual bool cancel(const String& /*reason*/)
+ {
+ return true;
+ }
+
+ virtual bool isErrored() { return false; }
+};
+
+}
+
+#endif
+
+#endif // ReadableStreamSource_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -3977,6 +3977,20 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStream.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
+ </ClCompile>
</ins><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRect.cpp">
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</span><span class="lines">@@ -6839,6 +6853,7 @@
</span><span class="cx"> <ClCompile Include="..\Modules\notifications\Notification.cpp" />
</span><span class="cx"> <ClCompile Include="..\Modules\notifications\NotificationCenter.cpp" />
</span><span class="cx"> <ClCompile Include="..\Modules\notifications\WorkerGlobalScopeNotifications.cpp" />
</span><ins>+ <ClCompile Include="..\Modules\streams\ReadableStream.cpp" />
</ins><span class="cx"> <ClCompile Include="..\Modules\webdatabase\ChangeVersionWrapper.cpp" />
</span><span class="cx"> <ClCompile Include="..\Modules\webdatabase\Database.cpp" />
</span><span class="cx"> <ClCompile Include="..\Modules\webdatabase\DatabaseAuthorizer.cpp" />
</span><span class="lines">@@ -17485,6 +17500,34 @@
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="..\bindings\js\JSReadableStreamCustom.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\bindings\js\ReadableStreamJSSource.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
+ </ClCompile>
</ins><span class="cx"> <ClCompile Include="..\bindings\js\JSRequestAnimationFrameCallbackCustom.cpp">
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</span><span class="lines">@@ -18708,6 +18751,7 @@
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRadioNodeList.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRange.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRangeException.h" />
</span><ins>+ <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStream.h" />
</ins><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRect.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRequestAnimationFrameCallback.h" />
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRGBColor.h" />
</span><span class="lines">@@ -19226,6 +19270,8 @@
</span><span class="cx"> <ClInclude Include="..\Modules\notifications\NotificationClient.h" />
</span><span class="cx"> <ClInclude Include="..\Modules\notifications\WorkerGlobalScopeNotifications.h" />
</span><span class="cx"> <ClInclude Include="..\Modules\plugins\PluginReplacement.h" />
</span><ins>+ <ClInclude Include="..\Modules\streams\ReadableStream.h" />
+ <ClInclude Include="..\Modules\streams\ReadableStreamSource.h" />
</ins><span class="cx"> <ClInclude Include="..\Modules\webdatabase\AbstractDatabaseServer.h" />
</span><span class="cx"> <ClInclude Include="..\Modules\webdatabase\ChangeVersionData.h" />
</span><span class="cx"> <ClInclude Include="..\Modules\webdatabase\ChangeVersionWrapper.h" />
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -34,6 +34,9 @@
</span><span class="cx"> <Filter Include="Modules\notifications">
</span><span class="cx"> <UniqueIdentifier>{a595ffcf-fa22-48a9-91ad-c528a75a62e5}</UniqueIdentifier>
</span><span class="cx"> </Filter>
</span><ins>+ <Filter Include="Modules\streams">
+ <UniqueIdentifier>{d67ba5bd-6574-42f3-9da3-55f550747863}</UniqueIdentifier>
+ </Filter>
</ins><span class="cx"> <Filter Include="Modules\webdatabase">
</span><span class="cx"> <UniqueIdentifier>{5e0e9582-b4b4-452d-a6de-7c6b31f614e7}</UniqueIdentifier>
</span><span class="cx"> </Filter>
</span><span class="lines">@@ -462,6 +465,9 @@
</span><span class="cx"> <ClCompile Include="..\Modules\notifications\WorkerGlobalScopeNotifications.cpp">
</span><span class="cx"> <Filter>Modules\notifications</Filter>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="..\Modules\streams\ReadableStream.cpp">
+ <Filter>Modules\streams</Filter>
+ </ClCompile>
</ins><span class="cx"> <ClCompile Include="..\Modules\webdatabase\ChangeVersionWrapper.cpp">
</span><span class="cx"> <Filter>Modules\webdatabase</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -4395,6 +4401,12 @@
</span><span class="cx"> <ClCompile Include="..\bindings\js\JSPluginElementFunctions.cpp">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="..\bindings\js\JSReadableStreamCustom.cpp">
+ <Filter>bindings\js</Filter>
+ </ClCompile>
+ <ClCompile Include="..\bindings\js\ReadableStreamJSSource.cpp">
+ <Filter>bindings\js</Filter>
+ </ClCompile>
</ins><span class="cx"> <ClCompile Include="..\bindings\js\JSRequestAnimationFrameCallbackCustom.cpp">
</span><span class="cx"> <Filter>bindings\js</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -5671,6 +5683,9 @@
</span><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRangeException.cpp">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStream.cpp">
+ <Filter>DerivedSources</Filter>
+ </ClCompile>
</ins><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRect.cpp">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClCompile>
</span><span class="lines">@@ -13568,6 +13583,9 @@
</span><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSWorkerNavigator.h">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClInclude>
</span><ins>+ <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStream.h">
+ <Filter>DerivedSources</Filter>
+ </ClInclude>
</ins><span class="cx"> <ClInclude Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSXMLHttpRequest.h">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClInclude>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCoreCommonprops"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCoreCommon.props (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCoreCommon.props        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCoreCommon.props        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -7,7 +7,7 @@
</span><span class="cx"> </PropertyGroup>
</span><span class="cx"> <ItemDefinitionGroup>
</span><span class="cx"> <ClCompile>
</span><del>- <AdditionalIncludeDirectories>$(ProjectDir)..;$(ProjectDir)..\Modules\mediacontrols;$(ProjectDir)..\Modules\mediastream;$(ProjectDir)..\Modules\encryptedmedia;$(ProjectDir)..\Modules\filesystem;$(ProjectDir)..\Modules\gamepad;$(ProjectDir)..\Modules\geolocation;$(ProjectDir)..\Modules\indexeddb;$(ProjectDir)..\Modules\mediasource;$(ProjectDir)..\Modules\navigatorcontentutils;$(ProjectDir)..\Modules\plugins;$(ProjectDir)..\Modules\speech;$(ProjectDir)..\Modules\proximity;$(ProjectDir)..\Modules\quota;$(ProjectDir)..\Modules\notifications;$(ProjectDir)..\Modules\webdatabase;$(ProjectDir)..\Modules\websockets;$(ProjectDir)..\accessibility;$(ProjectDir)..\accessibility\win;$(ProjectDir)..\bridge;$(ProjectDir)..\bridge\c;$(ProjectDir)..\bridge\jsc;$(ProjectDir)..\css;$(ProjectDir)..\cssjit;$(ProjectDir)..\editing;$(ProjectDir)..\fileapi;$(ProjectDir)..\rendering;$(ProjectDir)..\rendering\line;$(ProjectDir)..\rendering\mathml;$(ProjectDir)..\rendering\shape
s;$(ProjectDir)..\rendering\style;$(ProjectDir)..\rendering\svg;$(ProjectDir)..\bindings;$(ProjectDir)..\bindings\generic;$(ProjectDir)..\bindings\js;$(ProjectDir)..\bindings\js\specialization;$(ProjectDir)..\dom;$(ProjectDir)..\dom\default;$(ProjectDir)..\history;$(ProjectDir)..\html;$(ProjectDir)..\html\canvas;$(ProjectDir)..\html\forms;$(ProjectDir)..\html\parser;$(ProjectDir)..\html\shadow;$(ProjectDir)..\html\track;$(ProjectDir)..\inspector;$(ProjectDir)..\loader;$(ProjectDir)..\loader\appcache;$(ProjectDir)..\loader\archive;$(ProjectDir)..\loader\archive\cf;$(ProjectDir)..\loader\cache;$(ProjectDir)..\loader\icon;$(ProjectDir)..\mathml;$(ProjectDir)..\page;$(ProjectDir)..\page\animation;$(ProjectDir)..\page\scrolling;$(ProjectDir)..\page\win;$(ProjectDir)..\platform;$(ProjectDir)..\platform\animation;$(ProjectDir)..\platform\audio;$(ProjectDir)..\platform\mock;$(ProjectDir)..\platform\sql;$(ProjectDir)..\platform\win;$(ProjectDir)..\platform\network;$(ProjectDir)..\pla
tform\network\win;$(ProjectDir)..\platform\cf;$(ProjectDir)..\platform\graphics;$(ProjectDir)..\platform\graphics\ca;$(ProjectDir)..\platform\graphics\cpu\arm\filters;$(ProjectDir)..\platform\graphics\filters;$(ProjectDir)..\platform\graphics\filters\arm;$(ProjectDir)..\platform\graphics\opentype;$(ProjectDir)..\platform\graphics\transforms;$(ProjectDir)..\platform\text;$(ProjectDir)..\platform\text\icu;$(ProjectDir)..\platform\text\transcoder;$(ProjectDir)..\platform\graphics\win;$(ProjectDir)..\xml;$(ProjectDir)..\xml\parser;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources;$(ProjectDir)..\plugins;$(ProjectDir)..\plugins\win;$(ProjectDir)..\replay;$(ProjectDir)..\svg\animation;$(ProjectDir)..\svg\graphics;$(ProjectDir)..\svg\properties;$(ProjectDir)..\svg\graphics\filters;$(ProjectDir)..\svg;$(ProjectDir)..\testing;$(ProjectDir)..\crypto;$(ProjectDir)..\crypto\keys;$(ProjectDir)..\wml;$(ProjectDir)..\storage;$(ProjectDir)..\style;$(ProjectDir)..\we
bsockets;$(ProjectDir)..\workers;$(ConfigurationBuildDir)\include;$(ConfigurationBuildDir)\include\private;$(ConfigurationBuildDir)\include\JavaScriptCore;$(ConfigurationBuildDir)\include\private\JavaScriptCore;$(ProjectDir)..\ForwardingHeaders;$(ProjectDir)..\platform\graphics\gpu;$(ProjectDir)..\platform\graphics\egl;$(ProjectDir)..\platform\graphics\surfaces;$(ProjectDir)..\platform\graphics\surfaces\egl;$(ProjectDir)..\platform\graphics\opengl;$(WebKit_Libraries)\include;$(WebKit_Libraries)\include\private;$(WebKit_Libraries)\include\private\JavaScriptCore;$(WebKit_Libraries)\include\sqlite;$(WebKit_Libraries)\include\JavaScriptCore;$(WebKit_Libraries)\include\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</del><ins>+ <AdditionalIncludeDirectories>$(ProjectDir)..;$(ProjectDir)..\Modules\mediacontrols;$(ProjectDir)..\Modules\mediastream;$(ProjectDir)..\Modules\encryptedmedia;$(ProjectDir)..\Modules\filesystem;$(ProjectDir)..\Modules\gamepad;$(ProjectDir)..\Modules\geolocation;$(ProjectDir)..\Modules\indexeddb;$(ProjectDir)..\Modules\mediasource;$(ProjectDir)..\Modules\navigatorcontentutils;$(ProjectDir)..\Modules\plugins;$(ProjectDir)..\Modules\speech;$(ProjectDir)..\Modules\proximity;$(ProjectDir)..\Modules\quota;$(ProjectDir)..\Modules\notifications;$(ProjectDir)..\Modules\streams;$(ProjectDir)..\Modules\webdatabase;$(ProjectDir)..\Modules\websockets;$(ProjectDir)..\accessibility;$(ProjectDir)..\accessibility\win;$(ProjectDir)..\bridge;$(ProjectDir)..\bridge\c;$(ProjectDir)..\bridge\jsc;$(ProjectDir)..\css;$(ProjectDir)..\cssjit;$(ProjectDir)..\editing;$(ProjectDir)..\fileapi;$(ProjectDir)..\rendering;$(ProjectDir)..\rendering\line;$(ProjectDir)..\rendering\mathml;
$(ProjectDir)..\rendering\shapes;$(ProjectDir)..\rendering\style;$(ProjectDir)..\rendering\svg;$(ProjectDir)..\bindings;$(ProjectDir)..\bindings\generic;$(ProjectDir)..\bindings\js;$(ProjectDir)..\bindings\js\specialization;$(ProjectDir)..\dom;$(ProjectDir)..\dom\default;$(ProjectDir)..\history;$(ProjectDir)..\html;$(ProjectDir)..\html\canvas;$(ProjectDir)..\html\forms;$(ProjectDir)..\html\parser;$(ProjectDir)..\html\shadow;$(ProjectDir)..\html\track;$(ProjectDir)..\inspector;$(ProjectDir)..\loader;$(ProjectDir)..\loader\appcache;$(ProjectDir)..\loader\archive;$(ProjectDir)..\loader\archive\cf;$(ProjectDir)..\loader\cache;$(ProjectDir)..\loader\icon;$(ProjectDir)..\mathml;$(ProjectDir)..\page;$(ProjectDir)..\page\animation;$(ProjectDir)..\page\scrolling;$(ProjectDir)..\page\win;$(ProjectDir)..\platform;$(ProjectDir)..\platform\animation;$(ProjectDir)..\platform\audio;$(ProjectDir)..\platform\mock;$(ProjectDir)..\platform\sql;$(ProjectDir)..\platform\win;$(ProjectDir)..\platf
orm\network;$(ProjectDir)..\platform\network\win;$(ProjectDir)..\platform\cf;$(ProjectDir)..\platform\graphics;$(ProjectDir)..\platform\graphics\ca;$(ProjectDir)..\platform\graphics\cpu\arm\filters;$(ProjectDir)..\platform\graphics\filters;$(ProjectDir)..\platform\graphics\filters\arm;$(ProjectDir)..\platform\graphics\opentype;$(ProjectDir)..\platform\graphics\transforms;$(ProjectDir)..\platform\text;$(ProjectDir)..\platform\text\icu;$(ProjectDir)..\platform\text\transcoder;$(ProjectDir)..\platform\graphics\win;$(ProjectDir)..\xml;$(ProjectDir)..\xml\parser;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources;$(ProjectDir)..\plugins;$(ProjectDir)..\plugins\win;$(ProjectDir)..\replay;$(ProjectDir)..\svg\animation;$(ProjectDir)..\svg\graphics;$(ProjectDir)..\svg\properties;$(ProjectDir)..\svg\graphics\filters;$(ProjectDir)..\svg;$(ProjectDir)..\testing;$(ProjectDir)..\crypto;$(ProjectDir)..\crypto\keys;$(ProjectDir)..\wml;$(ProjectDir)..\storage;$(Project
Dir)..\style;$(ProjectDir)..\websockets;$(ProjectDir)..\workers;$(ConfigurationBuildDir)\include;$(ConfigurationBuildDir)\include\private;$(ConfigurationBuildDir)\include\JavaScriptCore;$(ConfigurationBuildDir)\include\private\JavaScriptCore;$(ProjectDir)..\ForwardingHeaders;$(ProjectDir)..\platform\graphics\gpu;$(ProjectDir)..\platform\graphics\egl;$(ProjectDir)..\platform\graphics\surfaces;$(ProjectDir)..\platform\graphics\surfaces\egl;$(ProjectDir)..\platform\graphics\opengl;$(WebKit_Libraries)\include;$(WebKit_Libraries)\include\private;$(WebKit_Libraries)\include\private\JavaScriptCore;$(WebKit_Libraries)\include\sqlite;$(WebKit_Libraries)\include\JavaScriptCore;$(WebKit_Libraries)\include\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ins><span class="cx"> <PreprocessorDefinitions>DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</span><span class="cx"> <PrecompiledHeader>Use</PrecompiledHeader>
</span><span class="cx"> <PrecompiledHeaderFile>WebCorePrefix.h</PrecompiledHeaderFile>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1481,8 +1481,16 @@
</span><span class="cx">                 418A06D1133C04D500CD379C /* EventDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 418A06CF133C04D500CD379C /* EventDispatcher.cpp */; };
</span><span class="cx">                 418F88040FF957AE0080F045 /* JSAbstractWorker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 418F88020FF957AE0080F045 /* JSAbstractWorker.cpp */; };
</span><span class="cx">                 418F88050FF957AF0080F045 /* JSAbstractWorker.h in Headers */ = {isa = PBXBuildFile; fileRef = 418F88030FF957AE0080F045 /* JSAbstractWorker.h */; };
</span><ins>+                4198BDF01A81142200B22FB5 /* ReadableStreamJSSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4198BDEE1A81123600B22FB5 /* ReadableStreamJSSource.cpp */; };
+                4198BDF11A81143100B22FB5 /* ReadableStreamJSSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 4198BDEF1A81123600B22FB5 /* ReadableStreamJSSource.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 419BC2DE1685329900D64D6D /* VisitedLinkState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 419BC2DC1685329900D64D6D /* VisitedLinkState.cpp */; };
</span><span class="cx">                 419BC2DF1685329900D64D6D /* VisitedLinkState.h in Headers */ = {isa = PBXBuildFile; fileRef = 419BC2DD1685329900D64D6D /* VisitedLinkState.h */; };
</span><ins>+                41A023EF1A39DB7A00F722CF /* ReadableStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41A023EB1A39DB7900F722CF /* ReadableStream.cpp */; };
+                41A023F01A39DB7A00F722CF /* ReadableStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A023EC1A39DB7900F722CF /* ReadableStream.h */; };
+                41A023F21A39DB7A00F722CF /* ReadableStreamSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A023EE1A39DB7A00F722CF /* ReadableStreamSource.h */; };
+                41A023F61A39DBCB00F722CF /* JSReadableStreamCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41A023F31A39DBCB00F722CF /* JSReadableStreamCustom.cpp */; };
+                41A024171A39FADC00F722CF /* JSReadableStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41A024151A39FADC00F722CF /* JSReadableStream.cpp */; };
+                41A024181A39FADC00F722CF /* JSReadableStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A024161A39FADC00F722CF /* JSReadableStream.h */; };
</ins><span class="cx">                 41A3D58E101C152D00316D07 /* DedicatedWorkerThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41A3D58C101C152D00316D07 /* DedicatedWorkerThread.cpp */; };
</span><span class="cx">                 41A3D58F101C152D00316D07 /* DedicatedWorkerThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A3D58D101C152D00316D07 /* DedicatedWorkerThread.h */; };
</span><span class="cx">                 41BF700C0FE86F49005E8DEC /* MessagePortChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 41BF700A0FE86F49005E8DEC /* MessagePortChannel.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -8534,8 +8542,17 @@
</span><span class="cx">                 418A06CF133C04D500CD379C /* EventDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventDispatcher.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 418F88020FF957AE0080F045 /* JSAbstractWorker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAbstractWorker.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 418F88030FF957AE0080F045 /* JSAbstractWorker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAbstractWorker.h; sourceTree = "<group>"; };
</span><ins>+                4198BDEE1A81123600B22FB5 /* ReadableStreamJSSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableStreamJSSource.cpp; sourceTree = "<group>"; };
+                4198BDEF1A81123600B22FB5 /* ReadableStreamJSSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamJSSource.h; sourceTree = "<group>"; };
</ins><span class="cx">                 419BC2DC1685329900D64D6D /* VisitedLinkState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisitedLinkState.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 419BC2DD1685329900D64D6D /* VisitedLinkState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisitedLinkState.h; sourceTree = "<group>"; };
</span><ins>+                41A023EB1A39DB7900F722CF /* ReadableStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableStream.cpp; sourceTree = "<group>"; };
+                41A023EC1A39DB7900F722CF /* ReadableStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStream.h; sourceTree = "<group>"; };
+                41A023ED1A39DB7900F722CF /* ReadableStream.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStream.idl; sourceTree = "<group>"; };
+                41A023EE1A39DB7A00F722CF /* ReadableStreamSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamSource.h; sourceTree = "<group>"; };
+                41A023F31A39DBCB00F722CF /* JSReadableStreamCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamCustom.cpp; sourceTree = "<group>"; };
+                41A024151A39FADC00F722CF /* JSReadableStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStream.cpp; sourceTree = "<group>"; };
+                41A024161A39FADC00F722CF /* JSReadableStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStream.h; sourceTree = "<group>"; };
</ins><span class="cx">                 41A3D58C101C152D00316D07 /* DedicatedWorkerThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DedicatedWorkerThread.cpp; path = workers/DedicatedWorkerThread.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 41A3D58D101C152D00316D07 /* DedicatedWorkerThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DedicatedWorkerThread.h; path = workers/DedicatedWorkerThread.h; sourceTree = "<group>"; };
</span><span class="cx">                 41BF700A0FE86F49005E8DEC /* MessagePortChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessagePortChannel.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -14958,6 +14975,7 @@
</span><span class="cx">                                 BC9854460CD3DA5F00069BC1 /* Ranges */,
</span><span class="cx">                                 AA7FEE9B16A491A1004C0C33 /* Speech */,
</span><span class="cx">                                 A83B79150CCB0078000B0825 /* Storage */,
</span><ins>+                                41A023FA1A39F13A00F722CF /* Streams */,
</ins><span class="cx">                                 A83B790A0CCAFF47000B0825 /* SVG */,
</span><span class="cx">                                 417DA71213735D90007C57FB /* Testing */,
</span><span class="cx">                                 E1C8BE4B0E8BD0D10064CB7D /* Threads */,
</span><span class="lines">@@ -15692,6 +15710,26 @@
</span><span class="cx">                         path = js;
</span><span class="cx">                         sourceTree = "<group>";
</span><span class="cx">                 };
</span><ins>+                41A023EA1A39DB7900F722CF /* streams */ = {
+                        isa = PBXGroup;
+                        children = (
+                                41A023EB1A39DB7900F722CF /* ReadableStream.cpp */,
+                                41A023EC1A39DB7900F722CF /* ReadableStream.h */,
+                                41A023ED1A39DB7900F722CF /* ReadableStream.idl */,
+                                41A023EE1A39DB7A00F722CF /* ReadableStreamSource.h */,
+                        );
+                        path = streams;
+                        sourceTree = "<group>";
+                };
+                41A023FA1A39F13A00F722CF /* Streams */ = {
+                        isa = PBXGroup;
+                        children = (
+                                41A024151A39FADC00F722CF /* JSReadableStream.cpp */,
+                                41A024161A39FADC00F722CF /* JSReadableStream.h */,
+                        );
+                        name = Streams;
+                        sourceTree = "<group>";
+                };
</ins><span class="cx">                 439046C212DA25CE00AF80A2 /* mathml */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -18130,6 +18168,7 @@
</span><span class="cx">                                 072AE1DE183C0513000A5988 /* plugins */,
</span><span class="cx">                                 89F60B08157F68350075E157 /* quota */,
</span><span class="cx">                                 AA2A5AB716A485A400975A25 /* speech */,
</span><ins>+                                41A023EA1A39DB7900F722CF /* streams */,
</ins><span class="cx">                                 FD315FA212B025B100C1A359 /* webaudio */,
</span><span class="cx">                                 97BC69D51505F054001B74AC /* webdatabase */,
</span><span class="cx">                                 97AABCF714FA09B5007457AE /* websockets */,
</span><span class="lines">@@ -20905,6 +20944,8 @@
</span><span class="cx">                                 93B70D5009EB0C7C009D8468 /* JSPluginElementFunctions.h */,
</span><span class="cx">                                 E1C36D320EB0A094007410BC /* JSWorkerGlobalScopeBase.cpp */,
</span><span class="cx">                                 E1C36D330EB0A094007410BC /* JSWorkerGlobalScopeBase.h */,
</span><ins>+                                4198BDEE1A81123600B22FB5 /* ReadableStreamJSSource.cpp */,
+                                4198BDEF1A81123600B22FB5 /* ReadableStreamJSSource.h */,
</ins><span class="cx">                                 BCA378BA0D15F64200B793D6 /* ScheduledAction.cpp */,
</span><span class="cx">                                 BCA378BB0D15F64200B793D6 /* ScheduledAction.h */,
</span><span class="cx">                                 41F1D21E0EF35C2A00DA8753 /* ScriptCachedFrameData.cpp */,
</span><span class="lines">@@ -21069,6 +21110,7 @@
</span><span class="cx">                                 FDBD1DFB167FE27D0051A11E /* JSOscillatorNodeCustom.cpp */,
</span><span class="cx">                                 FD8AA63D169514A700D2EA68 /* JSPannerNodeCustom.cpp */,
</span><span class="cx">                                 A85F22081430377D007CC884 /* JSPopStateEventCustom.cpp */,
</span><ins>+                                41A023F31A39DBCB00F722CF /* JSReadableStreamCustom.cpp */,
</ins><span class="cx">                                 4998AED313FC417F0090B1AA /* JSRequestAnimationFrameCallbackCustom.cpp */,
</span><span class="cx">                                 4AE0BF881836083100F3852D /* JSRTCIceCandidateCustom.cpp */,
</span><span class="cx">                                 07CA120D182D67D800D12197 /* JSRTCPeerConnectionCustom.cpp */,
</span><span class="lines">@@ -25088,6 +25130,7 @@
</span><span class="cx">                                 B658FFA21522EF3A00DD5595 /* JSRadioNodeList.h in Headers */,
</span><span class="cx">                                 65DF320209D1CC60000BE325 /* JSRange.h in Headers */,
</span><span class="cx">                                 D23CA55D0AB0EAAE005108A5 /* JSRangeException.h in Headers */,
</span><ins>+                                41A024181A39FADC00F722CF /* JSReadableStream.h in Headers */,
</ins><span class="cx">                                 BCFE2F120C1B58380020235F /* JSRect.h in Headers */,
</span><span class="cx">                                 4998AECE13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.h in Headers */,
</span><span class="cx">                                 BC74DA491013F468007987AD /* JSRGBColor.h in Headers */,
</span><span class="lines">@@ -25768,6 +25811,8 @@
</span><span class="cx">                                 6E84E9E117668BF100815B68 /* RasterShape.h in Headers */,
</span><span class="cx">                                 CDE8B5F11A69778B00B4B66A /* CDMSessionClearKey.h in Headers */,
</span><span class="cx">                                 A84D827C11D333ED00972990 /* RawDataDocumentParser.h in Headers */,
</span><ins>+                                41A023F01A39DB7A00F722CF /* ReadableStream.h in Headers */,
+                                41A023F21A39DB7A00F722CF /* ReadableStreamSource.h in Headers */,
</ins><span class="cx">                                 FD31603C12B0267600C1A359 /* RealtimeAnalyser.h in Headers */,
</span><span class="cx">                                 BC4368E80C226E32005EFB5F /* Rect.h in Headers */,
</span><span class="cx">                                 FD45A958175D414C00C21EC8 /* RectangleShape.h in Headers */,
</span><span class="lines">@@ -26419,6 +26464,7 @@
</span><span class="cx">                                 084A0829128D7867002DB1F1 /* SVGPathSegListPropertyTearOff.h in Headers */,
</span><span class="cx">                                 84B6B978120F13E500B8EFAF /* SVGPathSegListSource.h in Headers */,
</span><span class="cx">                                 83C1D435178D5AB500141E68 /* SVGPathSegMovetoAbs.h in Headers */,
</span><ins>+                                4198BDF11A81143100B22FB5 /* ReadableStreamJSSource.h in Headers */,
</ins><span class="cx">                                 83C1D436178D5AB500141E68 /* SVGPathSegMovetoRel.h in Headers */,
</span><span class="cx">                                 082DE42D1292621600D923DF /* SVGPathSegWithContext.h in Headers */,
</span><span class="cx">                                 84300BD8120C9AD40021954A /* SVGPathSource.h in Headers */,
</span><span class="lines">@@ -28641,6 +28687,8 @@
</span><span class="cx">                                 B658FFA11522EF3A00DD5595 /* JSRadioNodeList.cpp in Sources */,
</span><span class="cx">                                 65DF320109D1CC60000BE325 /* JSRange.cpp in Sources */,
</span><span class="cx">                                 D23CA55F0AB0EAB6005108A5 /* JSRangeException.cpp in Sources */,
</span><ins>+                                41A024171A39FADC00F722CF /* JSReadableStream.cpp in Sources */,
+                                41A023F61A39DBCB00F722CF /* JSReadableStreamCustom.cpp in Sources */,
</ins><span class="cx">                                 BCFE2F110C1B58370020235F /* JSRect.cpp in Sources */,
</span><span class="cx">                                 4998AECD13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.cpp in Sources */,
</span><span class="cx">                                 4998AED413FC417F0090B1AA /* JSRequestAnimationFrameCallbackCustom.cpp in Sources */,
</span><span class="lines">@@ -29265,6 +29313,7 @@
</span><span class="cx">                                 978D07BA145A0F3C0096908D /* RangeException.cpp in Sources */,
</span><span class="cx">                                 F55B3DCD1251F12D003EF269 /* RangeInputType.cpp in Sources */,
</span><span class="cx">                                 6E84E9E017668BEE00815B68 /* RasterShape.cpp in Sources */,
</span><ins>+                                41A023EF1A39DB7A00F722CF /* ReadableStream.cpp in Sources */,
</ins><span class="cx">                                 FD31603B12B0267600C1A359 /* RealtimeAnalyser.cpp in Sources */,
</span><span class="cx">                                 FD45A95A175D417100C21EC8 /* RectangleShape.cpp in Sources */,
</span><span class="cx">                                 BCAB418113E356E800D8AAF3 /* Region.cpp in Sources */,
</span><span class="lines">@@ -29926,6 +29975,7 @@
</span><span class="cx">                                 FB484F4C171F821E00040755 /* TransformFunctions.cpp in Sources */,
</span><span class="cx">                                 49E911CF0EF86D47009D0CAF /* TransformOperations.cpp in Sources */,
</span><span class="cx">                                 5DB1BC6B10715A6400EFAA49 /* TransformSourceLibxslt.cpp in Sources */,
</span><ins>+                                4198BDF01A81142200B22FB5 /* ReadableStreamJSSource.cpp in Sources */,
</ins><span class="cx">                                 4945BFD313CF809000CC3B38 /* TransformState.cpp in Sources */,
</span><span class="cx">                                 E17B491516A9B094001C8839 /* TransitionEvent.cpp in Sources */,
</span><span class="cx">                                 49E911D10EF86D47009D0CAF /* TranslateTransformOperation.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -111,6 +111,10 @@
</span><span class="cx"> #include "JSNodeListCustom.cpp"
</span><span class="cx"> #include "JSPluginElementFunctions.cpp"
</span><span class="cx"> #include "JSPopStateEventCustom.cpp"
</span><ins>+#if ENABLE(STREAMS_API)
+#include "JSReadableStreamCustom.cpp"
+#include "ReadableStreamJSSource.cpp"
+#endif
</ins><span class="cx"> #include "JSRequestAnimationFrameCallbackCustom.cpp"
</span><span class="cx"> #include "JSSQLResultSetRowListCustom.cpp"
</span><span class="cx"> #include "JSSQLTransactionCustom.cpp"
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSReadableStreamCustomcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp         (rev 0)
+++ trunk/Source/WebCore/bindings/js/JSReadableStreamCustom.cpp        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,114 @@
</span><ins>+/*
+ * Copyright (C) 2015 Canon Inc.
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(STREAMS_API)
+#include "JSReadableStream.h"
+
+#include "ExceptionCode.h"
+#include "JSDOMPromise.h"
+#include "ReadableStream.h"
+#include "ReadableStreamJSSource.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+JSValue JSReadableStream::read(ExecState* exec)
+{
+ JSValue error = createError(exec, ASCIILiteral("read is not implemented"));
+ return exec->vm().throwException(exec, error);
+}
+
+JSValue JSReadableStream::ready(ExecState* exec) const
+{
+ DeferredWrapper wrapper(exec, globalObject());
+ auto successCallback = [wrapper](RefPtr<ReadableStream> stream) mutable {
+ wrapper.resolve(stream.get());
+ };
+ impl().ready(WTF::move(successCallback));
+
+ return wrapper.promise();
+}
+
+JSValue JSReadableStream::closed(ExecState* exec) const
+{
+ DeferredWrapper wrapper(exec, globalObject());
+ auto successCallback = [wrapper](RefPtr<ReadableStream> stream) mutable {
+ wrapper.resolve(stream.get());
+ };
+ impl().closed(WTF::move(successCallback));
+
+ return wrapper.promise();
+}
+
+JSValue JSReadableStream::cancel(ExecState* exec)
+{
+ JSValue error = createError(exec, ASCIILiteral("cancel is not implemented"));
+ return exec->vm().throwException(exec, error);
+}
+
+JSValue JSReadableStream::pipeTo(ExecState* exec)
+{
+ JSValue error = createError(exec, ASCIILiteral("pipeTo is not implemented"));
+ return exec->vm().throwException(exec, error);
+}
+
+JSValue JSReadableStream::pipeThrough(ExecState* exec)
+{
+ JSValue error = createError(exec, ASCIILiteral("pipeThrough is not implemented"));
+ return exec->vm().throwException(exec, error);
+}
+
+EncodedJSValue JSC_HOST_CALL constructJSReadableStream(ExecState* exec)
+{
+ DOMConstructorObject* jsConstructor = jsCast<DOMConstructorObject*>(exec->callee());
+ ASSERT(jsConstructor);
+ ScriptExecutionContext* scriptExecutionContext = jsConstructor->scriptExecutionContext();
+
+ Ref<ReadableStreamJSSource> source = ReadableStreamJSSource::create(exec);
+ if (source->isErrored())
+ return throwVMError(exec, source->error());
+
+ RefPtr<ReadableStream> readableStream = ReadableStream::create(*scriptExecutionContext, Ref<ReadableStreamSource>(source.get()));
+
+ VM& vm = exec->vm();
+ JSGlobalObject* globalObject = exec->callee()->globalObject();
+ JSReadableStream* jsReadableStream = JSReadableStream::create(JSReadableStream::createStructure(vm, globalObject, JSReadableStream::createPrototype(vm, globalObject)), jsCast<JSDOMGlobalObject*>(globalObject), readableStream.releaseNonNull());
+
+ if (!source->start())
+ return throwVMError(exec, source->error());
+
+ return JSValue::encode(jsReadableStream);
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorebindingsjsReadableStreamJSSourcecpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/bindings/js/ReadableStreamJSSource.cpp (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ReadableStreamJSSource.cpp         (rev 0)
+++ trunk/Source/WebCore/bindings/js/ReadableStreamJSSource.cpp        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,70 @@
</span><ins>+/*
+ * Copyright (C) 2015 Canon Inc.
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(STREAMS_API)
+#include "ReadableStreamJSSource.h"
+
+#include "JSReadableStream.h"
+#include <runtime/Error.h>
+#include <runtime/JSCJSValueInlines.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+Ref<ReadableStreamJSSource> ReadableStreamJSSource::create(JSC::ExecState* exec)
+{
+ return adoptRef(*new ReadableStreamJSSource(exec));
+}
+
+ReadableStreamJSSource::ReadableStreamJSSource(JSC::ExecState* exec)
+ : m_error(exec->vm(), jsUndefined())
+{
+ if (!exec->argumentCount())
+ return;
+
+ if (!exec->argument(0).isObject()) {
+ setInternalError(exec, ASCIILiteral("ReadableStream constructor should get an object as argument."));
+ return;
+ }
+
+ // FIXME: Implement parameters support
+ setInternalError(exec, ASCIILiteral("ReadableStream constructor does not support parameter yet."));
+}
+
+void ReadableStreamJSSource::setInternalError(JSC::ExecState* exec, const String& message)
+{
+ m_error.set(exec->vm(), createTypeError(exec, message));
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorebindingsjsReadableStreamJSSourceh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/bindings/js/ReadableStreamJSSource.h (0 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ReadableStreamJSSource.h         (rev 0)
+++ trunk/Source/WebCore/bindings/js/ReadableStreamJSSource.h        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -0,0 +1,68 @@
</span><ins>+/*
+ * Copyright (C) 2O15 Canon Inc. 2015
+ * Copyright (C) 2015 Igalia S.L. 2015
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Canon Inc. nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ReadableStreamJSSource_h
+#define ReadableStreamJSSource_h
+
+#if ENABLE(STREAMS_API)
+
+#include "ReadableStreamSource.h"
+#include <heap/Strong.h>
+#include <heap/StrongInlines.h>
+#include <runtime/JSCJSValue.h>
+#include <wtf/Ref.h>
+
+namespace WebCore {
+
+class JSReadableStream;
+
+class ReadableStreamJSSource: public ReadableStreamSource {
+public:
+ static Ref<ReadableStreamJSSource> create(JSC::ExecState*);
+ ~ReadableStreamJSSource() { }
+
+ JSC::JSValue error() { return m_error.get(); }
+ bool start() { return true; }
+
+ // ReadableStreamSource API.
+ virtual bool isErrored() { return !m_error.get().isUndefined(); }
+
+private:
+ void setInternalError(JSC::ExecState*, const String&);
+
+ ReadableStreamJSSource(JSC::ExecState*);
+ // m_error may be an error generated from ReadableStreamJSSource or from JS callbacks.
+ JSC::Strong<JSC::Unknown> m_error;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(STREAMS_API)
+
+#endif // ReadableStreamJSSource_h
</ins></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebKit/mac/ChangeLog        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Implement a barebone ReadableStream interface
+ https://bugs.webkit.org/show_bug.cgi?id=141045
+
+ Reviewed by Benjamin Poulain.
+
+ * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2015-02-03 Enrica Casucci <enrica@apple.com>
</span><span class="cx">
</span><span class="cx"> [iOS] Add support for deleteFromInputWithFlags.
</span></span></pre></div>
<a id="trunkSourceWebKitmacConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -151,6 +151,7 @@
</span><span class="cx"> ENABLE_RUBBER_BANDING[sdk=macosx*] = ENABLE_RUBBER_BANDING;
</span><span class="cx"> ENABLE_CSS_SCROLL_SNAP = ENABLE_CSS_SCROLL_SNAP;
</span><span class="cx"> ENABLE_SPEECH_SYNTHESIS = ENABLE_SPEECH_SYNTHESIS;
</span><ins>+ENABLE_STREAMS_API = ENABLE_STREAMS_API;
</ins><span class="cx"> ENABLE_SUBTLE_CRYPTO = ENABLE_SUBTLE_CRYPTO;
</span><span class="cx"> ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
</span><span class="cx"> ENABLE_SVG_OTF_CONVERTER[sdk=iphone*] = ;
</span><span class="lines">@@ -206,4 +207,4 @@
</span><span class="cx">
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx">
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSC
REEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENAB
LE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
$(ENABLE_VIDEO_PRESENTATION_MODE);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCR
EEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABL
E_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATE
D_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</ins></span></pre></div>
<a id="trunkSourceWebKit2CMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/CMakeLists.txt (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/CMakeLists.txt        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebKit2/CMakeLists.txt        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -73,6 +73,7 @@
</span><span class="cx"> "${WEBCORE_DIR}/Modules/mediastream"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/networkinfo"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/notifications"
</span><ins>+ "${WEBCORE_DIR}/Modules/streams"
</ins><span class="cx"> "${WEBCORE_DIR}/Modules/vibration"
</span><span class="cx"> "${WEBCORE_DIR}/Modules/webdatabase"
</span><span class="cx"> "${WEBCORE_DIR}/accessibility"
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebKit2/ChangeLog        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Implement a barebone ReadableStream interface
+ https://bugs.webkit.org/show_bug.cgi?id=141045
+
+ Reviewed by Benjamin Poulain.
+
+ * CMakeLists.txt:
+ * Configurations/FeatureDefines.xcconfig:
+
</ins><span class="cx"> 2015-02-04 Joseph Pecoraro <pecoraro@apple.com>
</span><span class="cx">
</span><span class="cx"> [iOS] Selection callout does not follow selection when double-tap scrolling
</span></span></pre></div>
<a id="trunkSourceWebKit2ConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -151,6 +151,7 @@
</span><span class="cx"> ENABLE_RUBBER_BANDING[sdk=macosx*] = ENABLE_RUBBER_BANDING;
</span><span class="cx"> ENABLE_CSS_SCROLL_SNAP = ENABLE_CSS_SCROLL_SNAP;
</span><span class="cx"> ENABLE_SPEECH_SYNTHESIS = ENABLE_SPEECH_SYNTHESIS;
</span><ins>+ENABLE_STREAMS_API = ENABLE_STREAMS_API;
</ins><span class="cx"> ENABLE_SUBTLE_CRYPTO = ENABLE_SUBTLE_CRYPTO;
</span><span class="cx"> ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
</span><span class="cx"> ENABLE_SVG_OTF_CONVERTER[sdk=iphone*] = ;
</span><span class="lines">@@ -206,4 +207,4 @@
</span><span class="cx">
</span><span class="cx"> ENABLE_SATURATED_LAYOUT_ARITHMETIC = ENABLE_SATURATED_LAYOUT_ARITHMETIC;
</span><span class="cx">
</span><del>-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSC
REEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENAB
LE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
$(ENABLE_VIDEO_PRESENTATION_MODE);
</del><ins>+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_ES6_CLASS_SYNTAX) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCR
EEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABL
E_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REQUEST_AUTOCOMPLETE) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RUBBER_BANDING) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_OTF_CONVERTER) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(ENABLE_SATURATE
D_LAYOUT_ARITHMETIC) $(ENABLE_VIDEO_PRESENTATION_MODE);
</ins></span></pre></div>
<a id="trunkSourcecmakeWebKitFeaturescmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/WebKitFeatures.cmake (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/WebKitFeatures.cmake        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/cmake/WebKitFeatures.cmake        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -123,6 +123,7 @@
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_SERVICE_CONTROLS "Toggle service controls support" OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_SPEECH_SYNTHESIS "Toggle Speech Synthesis API support)" OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_SPELLCHECK "Toggle Spellchecking support (requires Enchant)" OFF)
</span><ins>+ WEBKIT_OPTION_DEFINE(ENABLE_STREAMS_API "Toggle Streams API support" ON)
</ins><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_SUBTLE_CRYPTO "Toggle subtle crypto support" OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_SVG_FONTS "Toggle SVG fonts support (imples SVG support)" ON)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_TELEPHONE_NUMBER_DETECTION "Toggle telephone number detection support" OFF)
</span></span></pre></div>
<a id="trunkSourcecmakeconfighcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmakeconfig.h.cmake (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmakeconfig.h.cmake        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Source/cmakeconfig.h.cmake        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -111,6 +111,7 @@
</span><span class="cx"> #cmakedefine01 ENABLE_SATURATED_LAYOUT_ARITHMETIC
</span><span class="cx"> #cmakedefine01 ENABLE_SMOOTH_SCROLLING
</span><span class="cx"> #cmakedefine01 ENABLE_SPELLCHECK
</span><ins>+#cmakedefine01 ENABLE_STREAMS_API
</ins><span class="cx"> #cmakedefine01 ENABLE_SUBTLE_CRYPTO
</span><span class="cx"> #cmakedefine01 ENABLE_SVG_FONTS
</span><span class="cx"> #cmakedefine01 ENABLE_TELEPHONE_NUMBER_DETECTION
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Tools/ChangeLog        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-02-05 Youenn Fablet <youenn.fablet@crf.canon.fr> and Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Implement a barebone ReadableStream interface
+ https://bugs.webkit.org/show_bug.cgi?id=141045
+
+ Reviewed by Benjamin Poulain.
+
+ * Scripts/webkitperl/FeatureList.pm: Added streams-api compilation switch.
+
</ins><span class="cx"> 2015-02-04 Joseph Pecoraro <pecoraro@apple.com>
</span><span class="cx">
</span><span class="cx"> filter-build-webkit: reduce more unfiltered output
</span></span></pre></div>
<a id="trunkToolsScriptswebkitperlFeatureListpm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/webkitperl/FeatureList.pm (179686 => 179687)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/webkitperl/FeatureList.pm        2015-02-05 09:54:49 UTC (rev 179686)
+++ trunk/Tools/Scripts/webkitperl/FeatureList.pm        2015-02-05 10:19:05 UTC (rev 179687)
</span><span class="lines">@@ -117,6 +117,7 @@
</span><span class="cx"> $resourceTimingSupport,
</span><span class="cx"> $scriptedSpeechSupport,
</span><span class="cx"> $seccompFiltersSupport,
</span><ins>+ $streamsAPISupport,
</ins><span class="cx"> $styleScopedSupport,
</span><span class="cx"> $subtleCrypto,
</span><span class="cx"> $suidLinuxSandbox,
</span><span class="lines">@@ -360,6 +361,9 @@
</span><span class="cx"> { option => "scripted-speech", desc => "Toggle Scripted Speech support",
</span><span class="cx"> define => "ENABLE_SCRIPTED_SPEECH", default => 0, value => \$scriptedSpeechSupport },
</span><span class="cx">
</span><ins>+ { option => "streams-api", desc => "Toggle Streams API support",
+ define => "ENABLE_STREAMS_API", default => 1, value => \$streamsAPISupport },
+
</ins><span class="cx"> { option => "subtle-crypto", desc => "Toggle WebCrypto Subtle-Crypto support",
</span><span class="cx"> define => "ENABLE_SUBTLE_CRYPTO", default => (isGtk() || isEfl() || isAppleMacWebKit() || isIOSWebKit()), value => \$subtleCrypto },
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>