<!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>[190716] trunk/Source</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/190716">190716</a></dd>
<dt>Author</dt> <dd>youenn.fablet@crf.canon.fr</dd>
<dt>Date</dt> <dd>2015-10-08 02:55:30 -0700 (Thu, 08 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Automate WebCore JS builtins generation and build system
https://bugs.webkit.org/show_bug.cgi?id=149751

Reviewed by Darin Adler.

Source/JavaScriptCore:

* generate-js-builtins: updating the part related to WebCore JS binding.

Source/WebCore:

Adding annotations to JS files to know whether they should be under a compilation flag and
whether they are JS internals or JS tied to WebIDL.
If a file is said as JS internals, all function names are exported automatically.
Added auto generation of WebCoreJSBuiltins.cpp
Added auto generation of JSBuiltinFunctions class inside WebCoreJSBuiltins that takes the role of
WebCoreJSClientData as wrapper for builtins.
Added auto generation of WebCoreJSBuiltinInternals.h which contain a wrapper around all private functions, used by
JSDOMWindowBase. The class is named JSBuiltinInternalFunctions.
Renamed WebCoreJSClientData to JSVMClientData.

The remaining manual part for private functions is the pairing between private identifiers and
the private JS functions within JSDOMWindowBase::finishCreation.

Covered by existing tests.

* CMakeLists.txt:
* DerivedSources.make:
* Modules/streams/ByteLengthQueuingStrategy.js:
* Modules/streams/CountQueuingStrategy.js:
* Modules/streams/ReadableStream.js:
* Modules/streams/ReadableStreamInternals.js:
* WebCore.order:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(WebCore::normalWorld):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::finishCreation):
(WebCore::JSDOMWindowBase::visitChildren):
(WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::getAllWorlds):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::transferArrayBuffers):
* bindings/js/WebCoreJSClientData.h:
(WebCore::JSClientData::JSClientData):
(WebCore::JSClientData::~JSClientData):
(WebCore::JSClientData::builtinFunctions):
(WebCore::initNormalWorldClientData):
(WebCore::WebCoreJSClientData::WebCoreJSClientData): Deleted.
(WebCore::WebCoreJSClientData::~WebCoreJSClientData): Deleted.
(WebCore::WebCoreJSClientData::readableStreamBuiltins): Deleted.
(WebCore::WebCoreJSClientData::readableStreamControllerBuiltins): Deleted.
(WebCore::WebCoreJSClientData::readableStreamInternalsBuiltins): Deleted.
(WebCore::WebCoreJSClientData::readableStreamReaderBuiltins): Deleted.
(WebCore::WebCoreJSClientData::byteLengthQueuingStrategyBuiltins): Deleted.
(WebCore::WebCoreJSClientData::countQueuingStrategyBuiltins): Deleted.
* generate-js-builtins-allinone: Added.
(retrieveGenerationParameters):
(retrieveFilesWithParameters):
(retrieveFilesWithParameters.FileInput):
(writeConditional):
(JSBuiltinFunctions):
(Private):
(JSBuiltinInternalFunctions):
(copytempfile):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoregeneratejsbuiltins">trunk/Source/JavaScriptCore/generate-js-builtins</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="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsByteLengthQueuingStrategyjs">trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsCountQueuingStrategyjs">trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamjs">trunk/Source/WebCore/Modules/streams/ReadableStream.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamInternalsjs">trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js</a></li>
<li><a href="#trunkSourceWebCoreWebCoreorder">trunk/Source/WebCore/WebCore.order</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsDOMWrapperWorldcpp">trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowBasecpp">trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowBaseh">trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsScriptControllercpp">trunk/Source/WebCore/bindings/js/ScriptController.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValuecpp">trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWebCoreJSClientDatah">trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoregeneratejsbuiltinsallinone">trunk/Source/WebCore/generate-js-builtins-allinone</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorebindingsjsWebCoreJSBuiltinscpp">trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-10-08  Xabier Rodriguez Calvar  &lt;calvaris@igalia.com&gt; and Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
+
+        Automate WebCore JS builtins generation and build system
+        https://bugs.webkit.org/show_bug.cgi?id=149751
+
+        Reviewed by Darin Adler.
+
+        * generate-js-builtins: updating the part related to WebCore JS binding.
+
</ins><span class="cx"> 2015-10-07  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Clean up Copied classes
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoregeneratejsbuiltins"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/generate-js-builtins (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/generate-js-builtins        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/JavaScriptCore/generate-js-builtins        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -314,8 +314,8 @@
</span><span class="cx"> else:
</span><span class="cx">     builtinName = scopeName[0].lower() + scopeName[1:]
</span><span class="cx">     builtinsImplementation.write(&quot;&quot;&quot;{\\
</span><del>-    WebCoreJSClientData* clientData = static_cast&lt;WebCoreJSClientData*&gt;(vm.clientData); \\
-    return clientData-&gt;%s().codeName##Executable()-&gt;link(vm, clientData-&gt;%s().codeName##Source()); \\
</del><ins>+    JSVMClientData* clientData = static_cast&lt;JSVMClientData*&gt;(vm.clientData); \\
+    return clientData-&gt;builtinFunctions().%s().codeName##Executable()-&gt;link(vm, clientData-&gt;builtinFunctions().%s().codeName##Source()); \\
</ins><span class="cx"> &quot;&quot;&quot;% (builtinName, builtinName))
</span><span class="cx"> 
</span><span class="cx"> builtinsImplementation.write(&quot;&quot;&quot;}
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -1242,7 +1242,6 @@
</span><span class="cx">     bindings/js/ScriptGlobalObject.cpp
</span><span class="cx">     bindings/js/ScriptState.cpp
</span><span class="cx">     bindings/js/SerializedScriptValue.cpp
</span><del>-    bindings/js/WebCoreJSBuiltins.cpp
</del><span class="cx">     bindings/js/WebCoreTypedArrayController.cpp
</span><span class="cx">     bindings/js/WorkerScriptController.cpp
</span><span class="cx">     bindings/js/WorkerScriptDebugServer.cpp
</span><span class="lines">@@ -3582,7 +3581,7 @@
</span><span class="cx">     get_filename_component(_name ${_builtinjs} NAME_WE)
</span><span class="cx">     add_custom_command(
</span><span class="cx">         OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/${_name}BuiltinsWrapper.h ${DERIVED_SOURCES_WEBCORE_DIR}/${_name}Builtins.h ${DERIVED_SOURCES_WEBCORE_DIR}/${_name}Builtins.cpp
</span><del>-        MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins
</del><ins>+        MAIN_DEPENDENCY ${WEBCORE_DIR}/generate-js-builtins
</ins><span class="cx">         DEPENDS ${WebCore_GENERATE_JS_BUILTINS_SCRIPTS_DIR}/generate-js-builtins
</span><span class="cx">         DEPENDS ${_builtinjs}
</span><span class="cx">         COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins --input ${_builtinjs} --output_dir ${DERIVED_SOURCES_WEBCORE_DIR} --generate_js_builtins_path ${WebCore_GENERATE_JS_BUILTINS_SCRIPTS_DIR}
</span><span class="lines">@@ -3593,6 +3592,17 @@
</span><span class="cx">     )
</span><span class="cx">     ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/bindings/js/WebCoreJSBuiltins.cpp ${_name}Builtins.cpp)
</span><span class="cx"> endforeach ()
</span><ins>+add_custom_command(
+    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp
+    MAIN_DEPENDENCY ${WEBCORE_DIR}/generate-js-builtins-allinone
+    DEPENDS ${WEBCORE_JS_BUILTINS}
+    COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins-allinone ${WEBCORE_JS_BUILTINS} --output_dir ${DERIVED_SOURCES_WEBCORE_DIR}
+    VERBATIM)
+list(APPEND WebCore_SOURCES
+    ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h
+    ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h
+    ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp
+)
</ins><span class="cx"> 
</span><span class="cx"> ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/html/HTMLTreeBuilder.cpp MathMLNames.cpp)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/ChangeLog        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -1,3 +1,71 @@
</span><ins>+2015-10-08  Xabier Rodriguez Calvar  &lt;calvaris@igalia.com&gt; and Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
+
+        Automate WebCore JS builtins generation and build system
+        https://bugs.webkit.org/show_bug.cgi?id=149751
+
+        Reviewed by Darin Adler.
+
+        Adding annotations to JS files to know whether they should be under a compilation flag and
+        whether they are JS internals or JS tied to WebIDL.
+        If a file is said as JS internals, all function names are exported automatically.
+        Added auto generation of WebCoreJSBuiltins.cpp
+        Added auto generation of JSBuiltinFunctions class inside WebCoreJSBuiltins that takes the role of
+        WebCoreJSClientData as wrapper for builtins.
+        Added auto generation of WebCoreJSBuiltinInternals.h which contain a wrapper around all private functions, used by
+        JSDOMWindowBase. The class is named JSBuiltinInternalFunctions.
+        Renamed WebCoreJSClientData to JSVMClientData.
+
+        The remaining manual part for private functions is the pairing between private identifiers and
+        the private JS functions within JSDOMWindowBase::finishCreation.
+
+        Covered by existing tests.
+
+        * CMakeLists.txt:
+        * DerivedSources.make:
+        * Modules/streams/ByteLengthQueuingStrategy.js:
+        * Modules/streams/CountQueuingStrategy.js:
+        * Modules/streams/ReadableStream.js:
+        * Modules/streams/ReadableStreamInternals.js:
+        * WebCore.order:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/DOMWrapperWorld.cpp:
+        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
+        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
+        (WebCore::normalWorld):
+        * bindings/js/JSDOMWindowBase.cpp:
+        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
+        (WebCore::JSDOMWindowBase::finishCreation):
+        (WebCore::JSDOMWindowBase::visitChildren):
+        (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
+        * bindings/js/JSDOMWindowBase.h:
+        * bindings/js/ScriptController.cpp:
+        (WebCore::ScriptController::getAllWorlds):
+        * bindings/js/SerializedScriptValue.cpp:
+        (WebCore::SerializedScriptValue::transferArrayBuffers):
+        * bindings/js/WebCoreJSClientData.h:
+        (WebCore::JSClientData::JSClientData):
+        (WebCore::JSClientData::~JSClientData):
+        (WebCore::JSClientData::builtinFunctions):
+        (WebCore::initNormalWorldClientData):
+        (WebCore::WebCoreJSClientData::WebCoreJSClientData): Deleted.
+        (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Deleted.
+        (WebCore::WebCoreJSClientData::readableStreamBuiltins): Deleted.
+        (WebCore::WebCoreJSClientData::readableStreamControllerBuiltins): Deleted.
+        (WebCore::WebCoreJSClientData::readableStreamInternalsBuiltins): Deleted.
+        (WebCore::WebCoreJSClientData::readableStreamReaderBuiltins): Deleted.
+        (WebCore::WebCoreJSClientData::byteLengthQueuingStrategyBuiltins): Deleted.
+        (WebCore::WebCoreJSClientData::countQueuingStrategyBuiltins): Deleted.
+        * generate-js-builtins-allinone: Added.
+        (retrieveGenerationParameters):
+        (retrieveFilesWithParameters):
+        (retrieveFilesWithParameters.FileInput):
+        (writeConditional):
+        (JSBuiltinFunctions):
+        (Private):
+        (JSBuiltinInternalFunctions):
+        (copytempfile):
+
</ins><span class="cx"> 2015-10-08  Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
</span><span class="cx"> 
</span><span class="cx">         Binding generated JS constructors should use GlobalObject references
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/DerivedSources.make        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -1251,7 +1251,7 @@
</span><span class="cx"> 
</span><span class="cx"> # WebCore JS Builtins
</span><span class="cx"> 
</span><del>-WEBCORE_JS_BUILTINS = \
</del><ins>+WEBCORE_JS_BUILTINS_SOURCE = \
</ins><span class="cx">     $(WebCore)/Modules/streams/ByteLengthQueuingStrategy.js \
</span><span class="cx">     $(WebCore)/Modules/streams/CountQueuingStrategy.js \
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStream.js \
</span><span class="lines">@@ -1260,9 +1260,16 @@
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamReader.js \
</span><span class="cx"> #
</span><span class="cx"> 
</span><del>-all : $(WEBCORE_JS_BUILTINS:%.js=%Builtins.cpp)
</del><ins>+.PHONY: WebCoreJSBuiltins
+WebCoreJSBuiltins: WebCoreJSBuiltins.cpp WebCoreJSBuiltins.h WebCoreJSBuiltinInternals.h
+all : WebCoreJSBuiltins $(WEBCORE_JS_BUILTINS_SOURCE:%.js=%Builtins.h) $(WEBCORE_JS_BUILTINS_SOURCE:%.js=%BuiltinsWrapper.h) $(WEBCORE_JS_BUILTINS_SOURCE:%.js=%Builtins.cpp)
</ins><span class="cx"> 
</span><del>-%Builtins.cpp: %.js
</del><ins>+WebCoreJSBuiltins.cpp: WebCoreJSBuiltinInternals.h WebCoreJSBuiltins.h
+WebCoreJSBuiltins.cpp WebCoreJSBuiltins.h WebCoreJSBuiltinInternals.h: $(WEBCORE_JS_BUILTINS_SOURCE) $(WebCore)/generate-js-builtins-allinone
+        $(PYTHON) $(WebCore)/generate-js-builtins-allinone $(WEBCORE_JS_BUILTINS_SOURCE)  --output_dir .
+
+%Builtins.cpp: %Builtins.h %BuiltinsWrapper.h
+%Builtins.h %Builtins.cpp %BuiltinsWrapper.h: %.js $(WebCore)/generate-js-builtins
</ins><span class="cx">         $(PYTHON) $(WebCore)/generate-js-builtins --input $&lt; --generate_js_builtins_path $(GenerateJSBuiltinsScripts)
</span><span class="cx"> 
</span><span class="cx"> # ------------------------
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsByteLengthQueuingStrategyjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -24,6 +24,8 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+// @optional=STREAMS_API
+
</ins><span class="cx"> function size(chunk)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsCountQueuingStrategyjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -23,6 +23,8 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+// @optional=STREAMS_API
+
</ins><span class="cx"> function size()
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.js (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStream.js        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.js        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -97,6 +97,8 @@
</span><span class="cx">     return new @ReadableStreamReader(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// @optional=STREAMS_API
+
</ins><span class="cx"> function pipeThrough(streams, options)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamInternalsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -71,6 +71,9 @@
</span><span class="cx">     return this;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// @optional=STREAMS_API
+// @internals
+
</ins><span class="cx"> function teeReadableStream(stream, shouldClone)
</span><span class="cx"> {
</span><span class="cx">     &quot;use strict&quot;;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreorder"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.order (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.order        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/WebCore.order        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -24723,7 +24723,7 @@
</span><span class="cx"> __ZZN7WebCore12wrapperOwnerEPNS_15DOMWrapperWorldEPNS_6DOMURLEE13jsDOMURLOwner
</span><span class="cx"> __ZGVZN7WebCore12wrapperOwnerEPNS_15DOMWrapperWorldEPNS_6DOMURLEE13jsDOMURLOwner
</span><span class="cx"> __ZN7WebCoreL27JSDOMWindowConstructorTableE
</span><del>-__ZTVN7WebCore19WebCoreJSClientDataE
</del><ins>+__ZTVN7WebCore19JSVMClientDataE
</ins><span class="cx"> __ZN7WebCoreL40JSDynamicsCompressorNodeConstructorTableE
</span><span class="cx"> __ZN7WebCoreL38JSDynamicsCompressorNodePrototypeTableE
</span><span class="cx"> __ZN7WebCoreL29JSDynamicsCompressorNodeTableE
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -231,6 +231,20 @@
</span><span class="cx">     &lt;ClCompile /&gt;
</span><span class="cx">   &lt;/ItemDefinitionGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\WebCoreJSBuiltins.cpp&quot;&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\ColorData.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\CSSGrammar.cpp&quot;&gt;
</span><span class="cx">       &lt;DisableSpecificWarnings Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;4065;4273;4565;4701;4702;%(DisableSpecificWarnings)&lt;/DisableSpecificWarnings&gt;
</span><span class="lines">@@ -18901,20 +18915,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\WebCoreJSBuiltins.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\WorkerScriptController.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -1485,7 +1485,6 @@
</span><span class="cx">                 40ECAE7E16B8B67200C36103 /* JSDOMError.h in Headers */ = {isa = PBXBuildFile; fileRef = 40ECAE7D16B8B67200C36103 /* JSDOMError.h */; };
</span><span class="cx">                 40ECAE8116B8B68A00C36103 /* JSDOMError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 40ECAE8016B8B68A00C36103 /* JSDOMError.cpp */; };
</span><span class="cx">                 410B7E721045FAB000D8224F /* JSMessageEventCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */; };
</span><del>-                411A90421BBAB47A000CF156 /* WebCoreJSBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */; };
</del><span class="cx">                 4123081B138C429700BCCFCA /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93F19B1A08245E5A001E9ABC /* WebCore.framework */; };
</span><span class="cx">                 41230913138C42FF00BCCFCA /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8216299029F4FB501000131 /* JavaScriptCore.framework */; };
</span><span class="cx">                 4127D5370F8AAB1D00E424F5 /* ScriptState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */; };
</span><span class="lines">@@ -1508,7 +1507,8 @@
</span><span class="cx">                 416E29A6102FA962007FC14E /* WorkerReportingProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 416E29A5102FA962007FC14E /* WorkerReportingProxy.h */; };
</span><span class="cx">                 416E6FE81BBD12DF000A6043 /* ReadableStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 416E6FE91BBD12E5000A6043 /* ReadableStreamBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                416E6FEA1BBD1684000A6043 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                416E6FEA1BBD1684000A6043 /* WebCoreJSBuiltinInternals.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764D9 /* WebCoreJSBuiltinInternals.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 417253AA1354BBBC00360F2A /* MediaControlElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417253A81354BBBC00360F2A /* MediaControlElements.cpp */; };
</span><span class="cx">                 417253AB1354BBBC00360F2A /* MediaControlElements.h in Headers */ = {isa = PBXBuildFile; fileRef = 417253A91354BBBC00360F2A /* MediaControlElements.h */; };
</span><span class="cx">                 417DA6D913734E6E007C57FB /* Internals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417DA4CF13734326007C57FB /* Internals.cpp */; };
</span><span class="lines">@@ -2632,6 +2632,7 @@
</span><span class="cx">                 7C48A6D0191C9D6500026674 /* WebKitNamespace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C48A6CE191C9D6500026674 /* WebKitNamespace.cpp */; };
</span><span class="cx">                 7C48A6D1191C9D6500026674 /* WebKitNamespace.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C48A6CF191C9D6500026674 /* WebKitNamespace.h */; };
</span><span class="cx">                 7C4902A218B825F8007D9298 /* DOMWheelEventInternal.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 85989DCA0ACC8BBD00A0BC51 /* DOMWheelEventInternal.h */; };
</span><ins>+                7C4C96DC1AD4483500365A51 /* WebCoreJSBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */; };
</ins><span class="cx">                 7C4C96DC1AD4483500365A50 /* JSReadableStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */; };
</span><span class="cx">                 7C4C96DD1AD4483500365A50 /* JSReadableStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C4C96D91AD4483500365A50 /* JSReadableStream.h */; };
</span><span class="cx">                 7C4C96DE1AD4483500365A50 /* JSReadableStreamReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */; };
</span><span class="lines">@@ -8763,7 +8764,6 @@
</span><span class="cx">                 40ECAE8016B8B68A00C36103 /* JSDOMError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMError.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMessageEventCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 41189EF71AD8232800B90A0D /* ReadableStreamController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamController.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptState.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4129DF811BB5B79B00322A16 /* ReadableStreamController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4129DF821BB5B7A600322A16 /* ReadableStreamReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamReader.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10050,6 +10050,7 @@
</span><span class="cx">                 7C48A6CE191C9D6500026674 /* WebKitNamespace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitNamespace.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C48A6CF191C9D6500026674 /* WebKitNamespace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitNamespace.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C48A6D2191C9D8E00026674 /* WebKitNamespace.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = WebKitNamespace.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStream.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C4C96D91AD4483500365A50 /* JSReadableStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStream.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamReader.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -11321,7 +11322,8 @@
</span><span class="cx">                 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltins.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltins.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltinsWrapper.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                9B03D8071BB3110D00B764D9 /* WebCoreJSBuiltinInternals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreJSBuiltinInternals.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 9B19B67E1B964E5200348745 /* ShadowRoot.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ShadowRoot.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B1AB0791648C69D0051F3F2 /* HTMLFormControlsCollection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLFormControlsCollection.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFormControlsCollectionCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16279,6 +16281,7 @@
</span><span class="cx">                 41A023FA1A39F13A00F722CF /* Streams */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */,
</ins><span class="cx">                                 7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */,
</span><span class="cx">                                 7C4C96D91AD4483500365A50 /* JSReadableStream.h */,
</span><span class="cx">                                 6C4C96DA1AD4483500365A50 /* JSReadableStreamController.cpp */,
</span><span class="lines">@@ -17070,7 +17073,8 @@
</span><span class="cx">                                 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */,
</span><span class="cx">                                 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */,
</span><span class="cx">                                 9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */,
</span><del>-                                9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */,
</del><ins>+                                9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */,
+                                9B03D8071BB3110D00B764D9 /* WebCoreJSBuiltinInternals.h */,
</ins><span class="cx">                                 43B85ED218CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.cpp */,
</span><span class="cx">                                 43B85ED318CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.gperf */,
</span><span class="cx">                                 26AA0F9D18D2A18B00419381 /* SelectorPseudoElementTypeMap.cpp */,
</span><span class="lines">@@ -21667,7 +21671,6 @@
</span><span class="cx">                                 1400D7A717136EA70077CE05 /* ScriptWrappableInlines.h */,
</span><span class="cx">                                 A75E497510752ACB00C9B896 /* SerializedScriptValue.cpp */,
</span><span class="cx">                                 A75E497410752ACB00C9B896 /* SerializedScriptValue.h */,
</span><del>-                                411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */,
</del><span class="cx">                                 BC53D910114310CC000D817E /* WebCoreJSClientData.h */,
</span><span class="cx">                                 0F099D0617B968A100FF84B9 /* WebCoreTypedArrayController.cpp */,
</span><span class="cx">                                 0F099D0717B968A100FF84B9 /* WebCoreTypedArrayController.h */,
</span><span class="lines">@@ -25721,7 +25724,8 @@
</span><span class="cx">                                 FC9E0E4D16419C1E00392BE3 /* JSDOMWindowCSS.h in Headers */,
</span><span class="cx">                                 652FBBBC0DE27CB60001D386 /* JSDOMWindowCustom.h in Headers */,
</span><span class="cx">                                 BCBFB53D0DCD29CF0019B3E5 /* JSDOMWindowShell.h in Headers */,
</span><del>-                                416E6FEA1BBD1684000A6043 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */,
</del><ins>+                                416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */,
+                                416E6FEA1BBD1684000A6043 /* WebCoreJSBuiltinInternals.h in Headers */,
</ins><span class="cx">                                 65E0E9441133C89F00B4CB10 /* JSDOMWrapper.h in Headers */,
</span><span class="cx">                                 FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */,
</span><span class="cx">                                 65DF31FA09D1CC60000BE325 /* JSElement.h in Headers */,
</span><span class="lines">@@ -29061,7 +29065,6 @@
</span><span class="cx">                                 A8EA79F30A1916DF00A8EF5F /* HTMLUListElement.cpp in Sources */,
</span><span class="cx">                                 E44613AA0CD6331000FADA75 /* HTMLVideoElement.cpp in Sources */,
</span><span class="cx">                                 839AAFEC1A0C0C8D00605F99 /* HTMLWBRElement.cpp in Sources */,
</span><del>-                                411A90421BBAB47A000CF156 /* WebCoreJSBuiltins.cpp in Sources */,
</del><span class="cx">                                 0B8C56D40F28627F000502E1 /* HTTPHeaderMap.cpp in Sources */,
</span><span class="cx">                                 1AC900C31943C0FC008625B5 /* HTTPHeaderNames.cpp in Sources */,
</span><span class="cx">                                 514C76720CE923A1007EF3CD /* HTTPParsers.cpp in Sources */,
</span><span class="lines">@@ -29573,6 +29576,7 @@
</span><span class="cx">                                 077664FC183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp in Sources */,
</span><span class="cx">                                 B658FFA11522EF3A00DD5595 /* JSRadioNodeList.cpp in Sources */,
</span><span class="cx">                                 65DF320109D1CC60000BE325 /* JSRange.cpp in Sources */,
</span><ins>+                                7C4C96DC1AD4483500365A51 /* WebCoreJSBuiltins.cpp in Sources */,
</ins><span class="cx">                                 7C4C96DC1AD4483500365A50 /* JSReadableStream.cpp in Sources */,
</span><span class="cx">                                 6C4C96DE1AD4483500365A50 /* JSReadableStreamController.cpp in Sources */,
</span><span class="cx">                                 7C4C96DE1AD4483500365A50 /* JSReadableStreamReader.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsDOMWrapperWorldcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -36,14 +36,14 @@
</span><span class="cx"> {
</span><span class="cx">     VM::ClientData* clientData = m_vm.clientData;
</span><span class="cx">     ASSERT(clientData);
</span><del>-    static_cast&lt;WebCoreJSClientData*&gt;(clientData)-&gt;rememberWorld(*this);
</del><ins>+    static_cast&lt;JSVMClientData*&gt;(clientData)-&gt;rememberWorld(*this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DOMWrapperWorld::~DOMWrapperWorld()
</span><span class="cx"> {
</span><span class="cx">     VM::ClientData* clientData = m_vm.clientData;
</span><span class="cx">     ASSERT(clientData);
</span><del>-    static_cast&lt;WebCoreJSClientData*&gt;(clientData)-&gt;forgetWorld(*this);
</del><ins>+    static_cast&lt;JSVMClientData*&gt;(clientData)-&gt;forgetWorld(*this);
</ins><span class="cx"> 
</span><span class="cx">     // These items are created lazily.
</span><span class="cx">     while (!m_scriptControllersWithWindowShells.isEmpty())
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> {
</span><span class="cx">     VM::ClientData* clientData = vm.clientData;
</span><span class="cx">     ASSERT(clientData);
</span><del>-    return static_cast&lt;WebCoreJSClientData*&gt;(clientData)-&gt;normalWorld();
</del><ins>+    return static_cast&lt;JSVMClientData*&gt;(clientData)-&gt;normalWorld();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DOMWrapperWorld&amp; mainThreadNormalWorld()
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -70,9 +70,7 @@
</span><span class="cx">     , m_windowCloseWatchpoints((window &amp;&amp; window-&gt;frame()) ? IsWatched : IsInvalidated)
</span><span class="cx">     , m_impl(window)
</span><span class="cx">     , m_shell(shell)
</span><del>-#if ENABLE(STREAMS_API)
-    , m_readableStreamFunctions(vm)
-#endif
</del><ins>+    , m_privateFunctions(vm)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -81,23 +79,21 @@
</span><span class="cx">     Base::finishCreation(vm, shell);
</span><span class="cx">     ASSERT(inherits(info()));
</span><span class="cx"> 
</span><del>-#if ENABLE(STREAMS_API)
-    m_readableStreamFunctions.init(*this);
-#endif
</del><ins>+    m_privateFunctions.init(*this);
</ins><span class="cx"> 
</span><span class="cx">     GlobalPropertyInfo staticGlobals[] = {
</span><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;document, jsNull(), DontDelete | ReadOnly),
</span><span class="cx">         GlobalPropertyInfo(vm.propertyNames-&gt;window, m_shell, DontDelete | ReadOnly),
</span><span class="cx"> #if ENABLE(STREAMS_API)
</span><del>-        GlobalPropertyInfo(static_cast&lt;WebCoreJSClientData*&gt;(vm.clientData)-&gt;builtinNames().readableStreamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
-        GlobalPropertyInfo(static_cast&lt;WebCoreJSClientData*&gt;(vm.clientData)-&gt;builtinNames().readableStreamErroredPrivateName(), jsNumber(2), DontDelete | ReadOnly),
-        GlobalPropertyInfo(static_cast&lt;WebCoreJSClientData*&gt;(vm.clientData)-&gt;builtinNames().readableStreamReadablePrivateName(), jsNumber(3), DontDelete | ReadOnly),
-        GlobalPropertyInfo(static_cast&lt;WebCoreJSClientData*&gt;(vm.clientData)-&gt;builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
-        GlobalPropertyInfo(static_cast&lt;WebCoreJSClientData*&gt;(vm.clientData)-&gt;builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
</del><ins>+        GlobalPropertyInfo(static_cast&lt;JSVMClientData*&gt;(vm.clientData)-&gt;builtinNames().readableStreamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast&lt;JSVMClientData*&gt;(vm.clientData)-&gt;builtinNames().readableStreamErroredPrivateName(), jsNumber(2), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast&lt;JSVMClientData*&gt;(vm.clientData)-&gt;builtinNames().readableStreamReadablePrivateName(), jsNumber(3), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast&lt;JSVMClientData*&gt;(vm.clientData)-&gt;builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
+        GlobalPropertyInfo(static_cast&lt;JSVMClientData*&gt;(vm.clientData)-&gt;builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
</ins><span class="cx"> #define DECLARE_GLOBAL_STATIC(name)\
</span><span class="cx">         GlobalPropertyInfo(\
</span><del>-            static_cast&lt;WebCoreJSClientData*&gt;(vm.clientData)-&gt;readableStreamInternalsBuiltins().name##PrivateName(),\
-            m_readableStreamFunctions.m_##name##Function.get() , DontDelete | ReadOnly),
</del><ins>+            static_cast&lt;JSVMClientData*&gt;(vm.clientData)-&gt;builtinFunctions().readableStreamInternalsBuiltins().name##PrivateName(), \
+            m_privateFunctions.readableStreamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
</ins><span class="cx">         WEBCOREREADABLESTREAMINTERNALS_FOREACH_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC)
</span><span class="cx"> #undef EXPORT_FUNCTION
</span><span class="cx"> #endif
</span><span class="lines">@@ -111,9 +107,7 @@
</span><span class="cx">     JSDOMWindowBase* thisObject = jsCast&lt;JSDOMWindowBase*&gt;(cell);
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><span class="cx">     Base::visitChildren(thisObject, visitor);
</span><del>-#if ENABLE(STREAMS_API)
-    thisObject-&gt;m_readableStreamFunctions.visit(visitor);
-#endif
</del><ins>+    thisObject-&gt;m_privateFunctions.visit(visitor);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSDOMWindowBase::destroy(JSCell* cell)
</span><span class="lines">@@ -297,7 +291,7 @@
</span><span class="cx"> void JSDOMWindowBase::fireFrameClearedWatchpointsForWindow(DOMWindow* window)
</span><span class="cx"> {
</span><span class="cx">     JSC::VM&amp; vm = JSDOMWindowBase::commonVM();
</span><del>-    WebCoreJSClientData* clientData = static_cast&lt;WebCoreJSClientData*&gt;(vm.clientData);
</del><ins>+    JSVMClientData* clientData = static_cast&lt;JSVMClientData*&gt;(vm.clientData);
</ins><span class="cx">     Vector&lt;Ref&lt;DOMWrapperWorld&gt;&gt; wrapperWorlds;
</span><span class="cx">     clientData-&gt;getAllWorlds(wrapperWorlds);
</span><span class="cx">     for (unsigned i = 0; i &lt; wrapperWorlds.size(); ++i) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><span class="cx"> #include &quot;JSDOMGlobalObject.h&quot;
</span><del>-#include &quot;ReadableStreamInternalsBuiltinsWrapper.h&quot;
</del><ins>+#include &quot;WebCoreJSBuiltinInternals.h&quot;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -87,9 +87,7 @@
</span><span class="cx">         RefPtr&lt;DOMWindow&gt; m_impl;
</span><span class="cx">         JSDOMWindowShell* m_shell;
</span><span class="cx"> 
</span><del>-#if ENABLE(STREAMS_API)
-        ReadableStreamInternalsBuiltinFunctions m_readableStreamFunctions;
-#endif
</del><ins>+        JSBuiltinInternalFunctions m_privateFunctions;
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     // Returns a JSDOMWindow or jsNull()
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsScriptControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/ScriptController.cpp (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/ScriptController.cpp        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/bindings/js/ScriptController.cpp        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -194,7 +194,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ScriptController::getAllWorlds(Vector&lt;Ref&lt;DOMWrapperWorld&gt;&gt;&amp; worlds)
</span><span class="cx"> {
</span><del>-    static_cast&lt;WebCoreJSClientData*&gt;(JSDOMWindow::commonVM().clientData)-&gt;getAllWorlds(worlds);
</del><ins>+    static_cast&lt;JSVMClientData*&gt;(JSDOMWindow::commonVM().clientData)-&gt;getAllWorlds(worlds);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScriptController::clearWindowShell(DOMWindow* newDOMWindow, bool goingIntoPageCache)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -2634,7 +2634,7 @@
</span><span class="cx"> 
</span><span class="cx">     auto contents = std::make_unique&lt;ArrayBufferContentsArray&gt;(arrayBuffers.size());
</span><span class="cx">     Vector&lt;Ref&lt;DOMWrapperWorld&gt;&gt; worlds;
</span><del>-    static_cast&lt;WebCoreJSClientData*&gt;(exec-&gt;vm().clientData)-&gt;getAllWorlds(worlds);
</del><ins>+    static_cast&lt;JSVMClientData*&gt;(exec-&gt;vm().clientData)-&gt;getAllWorlds(worlds);
</ins><span class="cx"> 
</span><span class="cx">     HashSet&lt;JSC::ArrayBuffer*&gt; visited;
</span><span class="cx">     for (size_t arrayBufferIndex = 0; arrayBufferIndex &lt; arrayBuffers.size(); arrayBufferIndex++) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWebCoreJSBuiltinscpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015, Canon Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. OR
- * 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 &quot;config.h&quot;
-
-#if ENABLE(STREAMS_API)
-#include &quot;ByteLengthQueuingStrategyBuiltins.cpp&quot;
-#include &quot;CountQueuingStrategyBuiltins.cpp&quot;
-#include &quot;ReadableStreamBuiltins.cpp&quot;
-#include &quot;ReadableStreamControllerBuiltins.cpp&quot;
-#include &quot;ReadableStreamInternalsBuiltins.cpp&quot;
-#include &quot;ReadableStreamReaderBuiltins.cpp&quot;
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWebCoreJSClientDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h (190715 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h        2015-10-08 07:33:59 UTC (rev 190715)
+++ trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -24,44 +24,26 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DOMWrapperWorld.h&quot;
</span><span class="cx"> #include &quot;WebCoreBuiltinNames.h&quot;
</span><ins>+#include &quot;WebCoreJSBuiltins.h&quot;
</ins><span class="cx"> #include &quot;WebCoreTypedArrayController.h&quot;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><del>-#if ENABLE(STREAMS_API)
-#include &quot;ByteLengthQueuingStrategyBuiltinsWrapper.h&quot;
-#include &quot;CountQueuingStrategyBuiltinsWrapper.h&quot;
-#include &quot;ReadableStreamBuiltinsWrapper.h&quot;
-#include &quot;ReadableStreamControllerBuiltinsWrapper.h&quot;
-#include &quot;ReadableStreamInternalsBuiltinsWrapper.h&quot;
-#include &quot;ReadableStreamReaderBuiltinsWrapper.h&quot;
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class WebCoreJSClientData : public JSC::VM::ClientData {
-    WTF_MAKE_NONCOPYABLE(WebCoreJSClientData); WTF_MAKE_FAST_ALLOCATED;
</del><ins>+class JSVMClientData : public JSC::VM::ClientData {
+    WTF_MAKE_NONCOPYABLE(JSVMClientData); WTF_MAKE_FAST_ALLOCATED;
</ins><span class="cx">     friend class VMWorldIterator;
</span><span class="cx">     friend void initNormalWorldClientData(JSC::VM*);
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    explicit WebCoreJSClientData(JSC::VM&amp; vm)
-        : m_builtinNames(&amp;vm)
-#if ENABLE(STREAMS_API)
-        , m_readableStreamBuiltins(&amp;vm)
-        , m_readableStreamControllerBuiltins(&amp;vm)
-        , m_readableStreamInternalsBuiltins(&amp;vm)
-        , m_readableStreamReaderBuiltins(&amp;vm)
-        , m_byteLengthQueuingStrategyBuiltins(&amp;vm)
-        , m_countQueuingStrategyBuiltins(&amp;vm)
-#endif
</del><ins>+    explicit JSVMClientData(JSC::VM&amp; vm)
+        : m_builtinFunctions(vm)
+        , m_builtinNames(&amp;vm)
</ins><span class="cx">     {
</span><del>-#if ENABLE(STREAMS_API)
-        m_readableStreamInternalsBuiltins.exportNames();
-#endif
</del><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual ~WebCoreJSClientData()
</del><ins>+    virtual ~JSVMClientData()
</ins><span class="cx">     {
</span><span class="cx">         ASSERT(m_worldSet.contains(m_normalWorld.get()));
</span><span class="cx">         ASSERT(m_worldSet.size() == 1);
</span><span class="lines">@@ -94,37 +76,21 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     WebCoreBuiltinNames&amp; builtinNames() { return m_builtinNames; }
</span><ins>+    JSBuiltinFunctions&amp; builtinFunctions() { return m_builtinFunctions; }
</ins><span class="cx"> 
</span><del>-#if ENABLE(STREAMS_API)
-    ReadableStreamBuiltinsWrapper&amp; readableStreamBuiltins() { return m_readableStreamBuiltins; }
-    ReadableStreamControllerBuiltinsWrapper&amp; readableStreamControllerBuiltins() { return m_readableStreamControllerBuiltins; }
-    ReadableStreamInternalsBuiltinsWrapper&amp; readableStreamInternalsBuiltins() { return m_readableStreamInternalsBuiltins; }
-    ReadableStreamReaderBuiltinsWrapper&amp; readableStreamReaderBuiltins() { return m_readableStreamReaderBuiltins; }
-    ByteLengthQueuingStrategyBuiltinsWrapper&amp; byteLengthQueuingStrategyBuiltins() { return m_byteLengthQueuingStrategyBuiltins; }
-    CountQueuingStrategyBuiltinsWrapper&amp; countQueuingStrategyBuiltins() { return m_countQueuingStrategyBuiltins; }
-#endif
-
</del><span class="cx"> private:
</span><span class="cx">     HashSet&lt;DOMWrapperWorld*&gt; m_worldSet;
</span><span class="cx">     RefPtr&lt;DOMWrapperWorld&gt; m_normalWorld;
</span><span class="cx"> 
</span><ins>+    JSBuiltinFunctions m_builtinFunctions;
</ins><span class="cx">     WebCoreBuiltinNames m_builtinNames;
</span><del>-
-#if ENABLE(STREAMS_API)
-    ReadableStreamBuiltinsWrapper m_readableStreamBuiltins;
-    ReadableStreamControllerBuiltinsWrapper m_readableStreamControllerBuiltins;
-    ReadableStreamInternalsBuiltinsWrapper m_readableStreamInternalsBuiltins;
-    ReadableStreamReaderBuiltinsWrapper m_readableStreamReaderBuiltins;
-    ByteLengthQueuingStrategyBuiltinsWrapper m_byteLengthQueuingStrategyBuiltins;
-    CountQueuingStrategyBuiltinsWrapper m_countQueuingStrategyBuiltins;
-#endif
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> inline void initNormalWorldClientData(JSC::VM* vm)
</span><span class="cx"> {
</span><del>-    WebCoreJSClientData* webCoreJSClientData = new WebCoreJSClientData(*vm);
-    vm-&gt;clientData = webCoreJSClientData; // ~VM deletes this pointer.
-    webCoreJSClientData-&gt;m_normalWorld = DOMWrapperWorld::create(*vm, true);
</del><ins>+    JSVMClientData* clientData = new JSVMClientData(*vm);
+    vm-&gt;clientData = clientData; // ~VM deletes this pointer.
+    clientData-&gt;m_normalWorld = DOMWrapperWorld::create(*vm, true);
</ins><span class="cx">     vm-&gt;m_typedArrayController = adoptRef(new WebCoreTypedArrayController());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoregeneratejsbuiltinsallinone"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/generate-js-builtins-allinone (0 => 190716)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/generate-js-builtins-allinone                                (rev 0)
+++ trunk/Source/WebCore/generate-js-builtins-allinone        2015-10-08 09:55:30 UTC (rev 190716)
</span><span class="lines">@@ -0,0 +1,236 @@
</span><ins>+#!/usr/bin/python
+# Copyright (C) 2015 Canon Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are 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.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. OR
+# 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.
+
+
+import argparse
+import filecmp
+import os
+import re
+
+singleLineCommentRegExp = re.compile(r&quot;\/\/ @.*?\n&quot;, re.MULTILINE | re.S)
+
+def retrieveGenerationParameters(input):
+    parameters = {}
+    with open(input, 'r') as input_file:
+        content = input_file.read()
+        for match in singleLineCommentRegExp.finditer(content):
+            values = content[match.start() + 4:match.end()].split('=')
+            if len(values) == 1:
+                parameters[values[0].strip()] = True
+            elif len (values) == 2:
+                parameters[values[0].strip()] = values[1].strip()
+            else:
+                print(&quot;Skipping potential generation parameter directive:&quot; % values.join('='))
+    return parameters
+
+
+def retrieveFilesWithParameters(inputs):
+    files = []
+    class FileInput: pass
+    for input in inputs:
+        file_input = FileInput()
+        file_input.parameters = retrieveGenerationParameters(input)
+        file_input.optionalif = (&quot;#if ENABLE(&quot; + file_input.parameters[&quot;optional&quot;] + &quot;)\n&quot;) if &quot;optional&quot; in file_input.parameters else &quot;&quot;
+        file_input.optionalendif = &quot;#endif\n&quot; if &quot;optional&quot; in file_input.parameters else &quot;&quot;
+        file_input.filename = os.path.splitext(os.path.basename(input))[0]
+        file_input.name = file_input.filename[0].lower() + file_input.filename[1:]
+        files.append(file_input)
+    return files
+
+
+def writeConditional(writer, input_file, value):
+    writer.write(input_file.optionalif)
+    writer.write(value)
+    writer.write(input_file.optionalendif)
+
+
+def copytempfile(output):
+    if (not os.path.exists(output)) or (not filecmp.cmp(output + &quot;.tmp&quot;, output, shallow=False)):
+        if (os.path.exists(output)):
+            os.remove(output)
+        os.rename(output + &quot;.tmp&quot;, output)
+    else:
+        os.remove(output + &quot;.tmp&quot;)
+
+
+parser = argparse.ArgumentParser()
+parser.add_argument('--output_dir', default='', help='output directory')
+parser.add_argument('inputs', metavar='input', nargs='+', help='path to input JS files')
+
+args = parser.parse_args()
+files = retrieveFilesWithParameters(args.inputs)
+internals_files = [ f for f in files if &quot;internals&quot; in f.parameters ]
+
+basename = &quot;WebCoreJSBuiltins&quot;
+output_base = os.path.join(args.output_dir, basename)
+basename_internals = &quot;WebCoreJSBuiltinInternals&quot;
+internals_output_base = os.path.join(args.output_dir, basename_internals)
+
+print(&quot;Generating WebCore JS builtins wrapper files.&quot;)
+
+preamble = &quot;&quot;&quot;
+/* Generated by generate-js-builtins-allinone do not hand edit. */
+
+/*
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+&quot;&quot;&quot;
+
+###############
+# Generation of cpp file including all JS builtin generated cpp files with optional #fdef directives as defined by @enable in JS files.
+###############
+builtinsImplementation = open(output_base + &quot;.cpp.tmp&quot;, &quot;w&quot;)
+builtinsImplementation.write(preamble)
+builtinsImplementation.write(&quot;#include \&quot;config.h\&quot;\n\n&quot;)
+
+# Including cpp files
+for input_file in files:
+    writeConditional(builtinsImplementation, input_file, &quot;#include \&quot;&quot; + input_file.filename + &quot;Builtins.cpp\&quot;\n&quot;);
+
+builtinsImplementation.flush()
+builtinsImplementation.close()
+copytempfile(output_base + &quot;.cpp&quot;)
+
+###############
+# Generation of wrapper header file defining access to all builtin functions.
+###############
+builtinsHeader = open(output_base + &quot;.h.tmp&quot;, &quot;w&quot;)
+builtinsHeader.write(preamble)
+builtinsHeader.write(&quot;#ifndef &quot; + basename + &quot;_h\n#define &quot; + basename + &quot;_h\n\n&quot;)
+
+for input_file in files:
+    writeConditional(builtinsHeader, input_file, &quot;#include \&quot;&quot; + input_file.filename + &quot;BuiltinsWrapper.h\&quot;\n&quot;);
+builtinsHeader.write(&quot;&quot;&quot;
+
+#include &lt;runtime/VM.h&gt;
+
+namespace WebCore {
+
+class JSBuiltinFunctions {
+public:
+&quot;&quot;&quot;)
+
+# Constructor
+builtinsHeader.write(&quot;    explicit JSBuiltinFunctions(JSC::VM&amp; v)\n        : vm(v)\n&quot;);
+for input_file in files:
+    writeConditional(builtinsHeader, input_file, &quot;        , m_&quot; + input_file.name + &quot;Builtins(&amp;vm)\n&quot;);
+builtinsHeader.write(&quot;    {\n&quot;);
+for input_file in internals_files:
+    writeConditional(builtinsHeader, input_file, &quot;        m_&quot; + input_file.name + &quot;Builtins.exportNames();\n&quot;);
+builtinsHeader.write(&quot;    }\n&quot;);
+
+# Getters
+for input_file in files:
+    writeConditional(builtinsHeader, input_file, &quot;    &quot; + input_file.filename + &quot;BuiltinsWrapper&amp; &quot; + input_file.name  + &quot;Builtins() { return m_&quot; + input_file.name  + &quot;Builtins;}\n&quot;);
+
+# Declarations
+builtinsHeader.write(&quot;&quot;&quot;private:
+    JSC::VM&amp; vm;\n&quot;&quot;&quot;);
+for input_file in files:
+    writeConditional(builtinsHeader, input_file, &quot;    &quot; + input_file.filename + &quot;BuiltinsWrapper m_&quot; + input_file.name  + &quot;Builtins;\n&quot;);
+
+builtinsHeader.write(&quot;&quot;&quot;
+};
+
+}
+
+#endif
+&quot;&quot;&quot;);
+
+builtinsHeader.flush()
+builtinsHeader.close()
+copytempfile(output_base + &quot;.h&quot;)
+
+###############
+# Generation of class wrapping all functions of JS files marked as @internals.
+###############
+builtinInternalsHeader = open(internals_output_base + &quot;.h.tmp&quot;, &quot;w&quot;)
+builtinInternalsHeader.write(preamble)
+builtinInternalsHeader.write(&quot;#ifndef &quot; + basename_internals + &quot;_h\n#define &quot; + basename_internals + &quot;_h\n\n&quot;)
+
+# Including all necessrary wrapper headers.
+for input_file in internals_files:
+    writeConditional(builtinInternalsHeader, input_file, &quot;#include \&quot;&quot; + input_file.filename + &quot;BuiltinsWrapper.h\&quot;\n&quot;)
+
+# Class definition
+builtinInternalsHeader.write(&quot;&quot;&quot;
+namespace WebCore {
+
+class JSBuiltinInternalFunctions {
+public:
+&quot;&quot;&quot;)
+
+# Constructor
+builtinInternalsHeader.write(&quot;&quot;&quot;explicit JSBuiltinInternalFunctions(JSC::VM&amp; v)\n        : vm(v)\n&quot;&quot;&quot;)
+for input_file in internals_files:
+    writeConditional(builtinInternalsHeader, input_file, &quot;        , m_&quot; + input_file.name + &quot;Functions(vm)\n&quot;)
+builtinInternalsHeader.write(&quot;    { }\n\n&quot;)
+
+# Getters
+for input_file in internals_files:
+    writeConditional(builtinInternalsHeader, input_file, &quot;    &quot; + input_file.filename + &quot;BuiltinFunctions &quot; + input_file.name + &quot;() { return m_&quot; + input_file.name + &quot;Functions; }\n&quot;)
+
+# Visitor wrapper routine
+builtinInternalsHeader.write(&quot;    void visit(JSC::SlotVisitor&amp; visitor) {\n&quot;)
+for input_file in internals_files:
+    writeConditional(builtinInternalsHeader, input_file, &quot;        m_&quot; + input_file.name + &quot;Functions.visit(visitor);\n&quot;)
+builtinInternalsHeader.write(&quot;    }\n&quot;)
+
+# Init wrapper routine
+builtinInternalsHeader.write(&quot;    void init(JSC::JSGlobalObject&amp; globalObject) {\n&quot;)
+for input_file in internals_files:
+    writeConditional(builtinInternalsHeader, input_file, &quot;        m_&quot; + input_file.name + &quot;Functions.init(globalObject);\n&quot;)
+builtinInternalsHeader.write(&quot;    }\n&quot;)
+
+# Private member fields
+builtinInternalsHeader.write(&quot;&quot;&quot;
+private:
+    JSC::VM&amp; vm;\n&quot;&quot;&quot;)
+for input_file in internals_files:
+    writeConditional(builtinInternalsHeader, input_file, &quot;     &quot; + input_file.filename + &quot;BuiltinFunctions m_&quot; + input_file.name + &quot;Functions;\n&quot;)
+
+builtinInternalsHeader.write(&quot;&quot;&quot;
+};
+
+}
+#endif
+&quot;&quot;&quot;)
+
+builtinInternalsHeader.flush()
+builtinInternalsHeader.close()
+copytempfile(internals_output_base + &quot;.h&quot;)
</ins></span></pre>
</div>
</div>

</body>
</html>