Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (190667 => 190668)
--- trunk/Source/_javascript_Core/ChangeLog 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-10-07 16:11:46 UTC (rev 190668)
@@ -1,3 +1,17 @@
+2015-10-07 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r190664.
+ https://bugs.webkit.org/show_bug.cgi?id=149877
+
+ mac build is sometimes borken due to missing generated header
+ file (Requested by youenn on #webkit).
+
+ Reverted changeset:
+
+ "Automate WebCore JS builtins generation and build system"
+ https://bugs.webkit.org/show_bug.cgi?id=149751
+ http://trac.webkit.org/changeset/190664
+
2015-10-07 Xabier Rodriguez Calvar <calva...@igalia.com> and Youenn Fablet <youenn.fab...@crf.canon.fr>
Automate WebCore JS builtins generation and build system
Modified: trunk/Source/_javascript_Core/generate-js-builtins (190667 => 190668)
--- trunk/Source/_javascript_Core/generate-js-builtins 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/_javascript_Core/generate-js-builtins 2015-10-07 16:11:46 UTC (rev 190668)
@@ -314,8 +314,8 @@
else:
builtinName = scopeName[0].lower() + scopeName[1:]
builtinsImplementation.write("""{\\
- JSClientData* clientData = static_cast<JSClientData*>(vm.clientData); \\
- return clientData->builtinFunctions().%s().codeName##Executable()->link(vm, clientData->builtinFunctions().%s().codeName##Source()); \\
+ WebCoreJSClientData* clientData = static_cast<WebCoreJSClientData*>(vm.clientData); \\
+ return clientData->%s().codeName##Executable()->link(vm, clientData->%s().codeName##Source()); \\
"""% (builtinName, builtinName))
builtinsImplementation.write("""}
Modified: trunk/Source/WebCore/CMakeLists.txt (190667 => 190668)
--- trunk/Source/WebCore/CMakeLists.txt 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/CMakeLists.txt 2015-10-07 16:11:46 UTC (rev 190668)
@@ -1242,6 +1242,7 @@
bindings/js/ScriptGlobalObject.cpp
bindings/js/ScriptState.cpp
bindings/js/SerializedScriptValue.cpp
+ bindings/js/WebCoreJSBuiltins.cpp
bindings/js/WebCoreTypedArrayController.cpp
bindings/js/WorkerScriptController.cpp
bindings/js/WorkerScriptDebugServer.cpp
@@ -3592,17 +3593,6 @@
)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/bindings/js/WebCoreJSBuiltins.cpp ${_name}Builtins.cpp)
endforeach ()
-add_custom_command(
- OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/PrivateWebCoreJSBuiltins.h ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp
- MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins-allinone
- DEPENDS ${WebCore_GENERATE_JS_BUILTINS_SCRIPTS_DIR}/generate-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}/PrivateWebCoreJSBuiltins.h
- ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h
- ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp
-)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/html/HTMLTreeBuilder.cpp MathMLNames.cpp)
Modified: trunk/Source/WebCore/ChangeLog (190667 => 190668)
--- trunk/Source/WebCore/ChangeLog 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/ChangeLog 2015-10-07 16:11:46 UTC (rev 190668)
@@ -1,3 +1,17 @@
+2015-10-07 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, rolling out r190664.
+ https://bugs.webkit.org/show_bug.cgi?id=149877
+
+ mac build is sometimes borken due to missing generated header
+ file (Requested by youenn on #webkit).
+
+ Reverted changeset:
+
+ "Automate WebCore JS builtins generation and build system"
+ https://bugs.webkit.org/show_bug.cgi?id=149751
+ http://trac.webkit.org/changeset/190664
+
2015-10-06 Simon Fraser <simon.fra...@apple.com>
will-change should trigger stacking context based purely on properties
Modified: trunk/Source/WebCore/DerivedSources.make (190667 => 190668)
--- trunk/Source/WebCore/DerivedSources.make 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/DerivedSources.make 2015-10-07 16:11:46 UTC (rev 190668)
@@ -1260,12 +1260,9 @@
$(WebCore)/Modules/streams/ReadableStreamReader.js \
#
-all : WebCoreJSBuiltins.cpp $(WEBCORE_JS_BUILTINS:%.js=%Builtins.cpp)
+all : $(WEBCORE_JS_BUILTINS:%.js=%Builtins.cpp)
-WebCoreJSBuiltins.cpp: $(WEBCORE_JS_BUILTINS) $(WebCore)/generate-js-builtins-allinone
- $(PYTHON) $(WebCore)/generate-js-builtins-allinone $(WEBCORE_JS_BUILTINS) --output_dir .
-
-%Builtins.cpp: %.js $(WebCore)/generate-js-builtins
+%Builtins.cpp: %.js
$(PYTHON) $(WebCore)/generate-js-builtins --input $< --generate_js_builtins_path $(GenerateJSBuiltinsScripts)
# ------------------------
Modified: trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js (190667 => 190668)
--- trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js 2015-10-07 16:11:46 UTC (rev 190668)
@@ -24,8 +24,6 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// @optional=STREAMS_API
-
function size(chunk)
{
"use strict";
Modified: trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js (190667 => 190668)
--- trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js 2015-10-07 16:11:46 UTC (rev 190668)
@@ -23,8 +23,6 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// @optional=STREAMS_API
-
function size()
{
"use strict";
Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.js (190667 => 190668)
--- trunk/Source/WebCore/Modules/streams/ReadableStream.js 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.js 2015-10-07 16:11:46 UTC (rev 190668)
@@ -97,8 +97,6 @@
return new @ReadableStreamReader(this);
}
-// @optional=STREAMS_API
-
function pipeThrough(streams, options)
{
"use strict";
Modified: trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js (190667 => 190668)
--- trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js 2015-10-07 16:11:46 UTC (rev 190668)
@@ -71,9 +71,6 @@
return this;
}
-// @optional=STREAMS_API
-// @internals
-
function teeReadableStream(stream, shouldClone)
{
"use strict";
Modified: trunk/Source/WebCore/WebCore.order (190667 => 190668)
--- trunk/Source/WebCore/WebCore.order 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/WebCore.order 2015-10-07 16:11:46 UTC (rev 190668)
@@ -24723,7 +24723,7 @@
__ZZN7WebCore12wrapperOwnerEPNS_15DOMWrapperWorldEPNS_6DOMURLEE13jsDOMURLOwner
__ZGVZN7WebCore12wrapperOwnerEPNS_15DOMWrapperWorldEPNS_6DOMURLEE13jsDOMURLOwner
__ZN7WebCoreL27JSDOMWindowConstructorTableE
-__ZTVN7WebCore19JSClientDataE
+__ZTVN7WebCore19WebCoreJSClientDataE
__ZN7WebCoreL40JSDynamicsCompressorNodeConstructorTableE
__ZN7WebCoreL38JSDynamicsCompressorNodePrototypeTableE
__ZN7WebCoreL29JSDynamicsCompressorNodeTableE
Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (190667 => 190668)
--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2015-10-07 16:11:46 UTC (rev 190668)
@@ -231,20 +231,6 @@
<ClCompile />
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\WebCoreJSBuiltins.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="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\ColorData.cpp" />
<ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\CSSGrammar.cpp">
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4065;4273;4565;4701;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -18915,6 +18901,20 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
</ClCompile>
+ <ClCompile Include="..\bindings\js\WebCoreJSBuiltins.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\WorkerScriptController.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (190667 => 190668)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2015-10-07 16:11:46 UTC (rev 190668)
@@ -1485,6 +1485,7 @@
40ECAE7E16B8B67200C36103 /* JSDOMError.h in Headers */ = {isa = PBXBuildFile; fileRef = 40ECAE7D16B8B67200C36103 /* JSDOMError.h */; };
40ECAE8116B8B68A00C36103 /* JSDOMError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 40ECAE8016B8B68A00C36103 /* JSDOMError.cpp */; };
410B7E721045FAB000D8224F /* JSMessageEventCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */; };
+ 411A90421BBAB47A000CF156 /* WebCoreJSBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */; };
4123081B138C429700BCCFCA /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93F19B1A08245E5A001E9ABC /* WebCore.framework */; };
41230913138C42FF00BCCFCA /* _javascript_Core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8216299029F4FB501000131 /* _javascript_Core.framework */; };
4127D5370F8AAB1D00E424F5 /* ScriptState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */; };
@@ -1507,8 +1508,7 @@
416E29A6102FA962007FC14E /* WorkerReportingProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 416E29A5102FA962007FC14E /* WorkerReportingProxy.h */; };
416E6FE81BBD12DF000A6043 /* ReadableStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
416E6FE91BBD12E5000A6043 /* ReadableStreamBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 416E6FEA1BBD1684000A6043 /* PrivateWebCoreJSBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764D9 /* PrivateWebCoreJSBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 416E6FEA1BBD1684000A6043 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
417253AA1354BBBC00360F2A /* MediaControlElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417253A81354BBBC00360F2A /* MediaControlElements.cpp */; };
417253AB1354BBBC00360F2A /* MediaControlElements.h in Headers */ = {isa = PBXBuildFile; fileRef = 417253A91354BBBC00360F2A /* MediaControlElements.h */; };
417DA6D913734E6E007C57FB /* Internals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417DA4CF13734326007C57FB /* Internals.cpp */; };
@@ -2632,7 +2632,6 @@
7C48A6D0191C9D6500026674 /* WebKitNamespace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C48A6CE191C9D6500026674 /* WebKitNamespace.cpp */; };
7C48A6D1191C9D6500026674 /* WebKitNamespace.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C48A6CF191C9D6500026674 /* WebKitNamespace.h */; };
7C4902A218B825F8007D9298 /* DOMWheelEventInternal.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 85989DCA0ACC8BBD00A0BC51 /* DOMWheelEventInternal.h */; };
- 7C4C96DC1AD4483500365A51 /* WebCoreJSBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */; };
7C4C96DC1AD4483500365A50 /* JSReadableStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */; };
7C4C96DD1AD4483500365A50 /* JSReadableStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C4C96D91AD4483500365A50 /* JSReadableStream.h */; };
7C4C96DE1AD4483500365A50 /* JSReadableStreamReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */; };
@@ -8764,6 +8763,7 @@
40ECAE8016B8B68A00C36103 /* JSDOMError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMError.cpp; sourceTree = "<group>"; };
410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMessageEventCustom.cpp; sourceTree = "<group>"; };
41189EF71AD8232800B90A0D /* ReadableStreamController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamController.idl; sourceTree = "<group>"; };
+ 411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = "<group>"; };
4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptState.cpp; sourceTree = "<group>"; };
4129DF811BB5B79B00322A16 /* ReadableStreamController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamController.h; sourceTree = "<group>"; };
4129DF821BB5B7A600322A16 /* ReadableStreamReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamReader.h; sourceTree = "<group>"; };
@@ -10050,7 +10050,6 @@
7C48A6CE191C9D6500026674 /* WebKitNamespace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitNamespace.cpp; sourceTree = "<group>"; };
7C48A6CF191C9D6500026674 /* WebKitNamespace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitNamespace.h; sourceTree = "<group>"; };
7C48A6D2191C9D8E00026674 /* WebKitNamespace.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = WebKitNamespace.idl; sourceTree = "<group>"; };
- 7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = "<group>"; };
7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStream.cpp; sourceTree = "<group>"; };
7C4C96D91AD4483500365A50 /* JSReadableStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStream.h; sourceTree = "<group>"; };
7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamReader.cpp; sourceTree = "<group>"; };
@@ -11322,8 +11321,7 @@
9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltins.h; sourceTree = "<group>"; };
9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltins.h; sourceTree = "<group>"; };
9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltinsWrapper.h; sourceTree = "<group>"; };
- 9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = "<group>"; };
- 9B03D8071BB3110D00B764D9 /* PrivateWebCoreJSBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrivateWebCoreJSBuiltins.h; sourceTree = "<group>"; };
+ 9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = "<group>"; };
9B19B67E1B964E5200348745 /* ShadowRoot.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ShadowRoot.idl; sourceTree = "<group>"; };
9B1AB0791648C69D0051F3F2 /* HTMLFormControlsCollection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLFormControlsCollection.idl; sourceTree = "<group>"; };
9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFormControlsCollectionCustom.cpp; sourceTree = "<group>"; };
@@ -16281,7 +16279,6 @@
41A023FA1A39F13A00F722CF /* Streams */ = {
isa = PBXGroup;
children = (
- 7C4C96D81AD4483500365A51 /* WebCoreJSBuiltins.cpp */,
7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */,
7C4C96D91AD4483500365A50 /* JSReadableStream.h */,
6C4C96DA1AD4483500365A50 /* JSReadableStreamController.cpp */,
@@ -17073,8 +17070,7 @@
9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */,
9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */,
9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */,
- 9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */,
- 9B03D8071BB3110D00B764D9 /* PrivateWebCoreJSBuiltins.h */,
+ 9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */,
43B85ED218CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.cpp */,
43B85ED318CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.gperf */,
26AA0F9D18D2A18B00419381 /* SelectorPseudoElementTypeMap.cpp */,
@@ -21671,6 +21667,7 @@
1400D7A717136EA70077CE05 /* ScriptWrappableInlines.h */,
A75E497510752ACB00C9B896 /* SerializedScriptValue.cpp */,
A75E497410752ACB00C9B896 /* SerializedScriptValue.h */,
+ 411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */,
BC53D910114310CC000D817E /* WebCoreJSClientData.h */,
0F099D0617B968A100FF84B9 /* WebCoreTypedArrayController.cpp */,
0F099D0717B968A100FF84B9 /* WebCoreTypedArrayController.h */,
@@ -25724,8 +25721,7 @@
FC9E0E4D16419C1E00392BE3 /* JSDOMWindowCSS.h in Headers */,
652FBBBC0DE27CB60001D386 /* JSDOMWindowCustom.h in Headers */,
BCBFB53D0DCD29CF0019B3E5 /* JSDOMWindowShell.h in Headers */,
- 416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */,
- 416E6FEA1BBD1684000A6043 /* PrivateWebCoreJSBuiltins.h in Headers */,
+ 416E6FEA1BBD1684000A6043 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */,
65E0E9441133C89F00B4CB10 /* JSDOMWrapper.h in Headers */,
FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */,
65DF31FA09D1CC60000BE325 /* JSElement.h in Headers */,
@@ -29065,6 +29061,7 @@
A8EA79F30A1916DF00A8EF5F /* HTMLUListElement.cpp in Sources */,
E44613AA0CD6331000FADA75 /* HTMLVideoElement.cpp in Sources */,
839AAFEC1A0C0C8D00605F99 /* HTMLWBRElement.cpp in Sources */,
+ 411A90421BBAB47A000CF156 /* WebCoreJSBuiltins.cpp in Sources */,
0B8C56D40F28627F000502E1 /* HTTPHeaderMap.cpp in Sources */,
1AC900C31943C0FC008625B5 /* HTTPHeaderNames.cpp in Sources */,
514C76720CE923A1007EF3CD /* HTTPParsers.cpp in Sources */,
@@ -29576,7 +29573,6 @@
077664FC183E6B5C00133B92 /* JSQuickTimePluginReplacement.cpp in Sources */,
B658FFA11522EF3A00DD5595 /* JSRadioNodeList.cpp in Sources */,
65DF320109D1CC60000BE325 /* JSRange.cpp in Sources */,
- 7C4C96DC1AD4483500365A51 /* WebCoreJSBuiltins.cpp in Sources */,
7C4C96DC1AD4483500365A50 /* JSReadableStream.cpp in Sources */,
6C4C96DE1AD4483500365A50 /* JSReadableStreamController.cpp in Sources */,
7C4C96DE1AD4483500365A50 /* JSReadableStreamReader.cpp in Sources */,
Modified: trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp (190667 => 190668)
--- trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp 2015-10-07 16:11:46 UTC (rev 190668)
@@ -36,14 +36,14 @@
{
VM::ClientData* clientData = m_vm.clientData;
ASSERT(clientData);
- static_cast<JSClientData*>(clientData)->rememberWorld(*this);
+ static_cast<WebCoreJSClientData*>(clientData)->rememberWorld(*this);
}
DOMWrapperWorld::~DOMWrapperWorld()
{
VM::ClientData* clientData = m_vm.clientData;
ASSERT(clientData);
- static_cast<JSClientData*>(clientData)->forgetWorld(*this);
+ static_cast<WebCoreJSClientData*>(clientData)->forgetWorld(*this);
// These items are created lazily.
while (!m_scriptControllersWithWindowShells.isEmpty())
@@ -63,7 +63,7 @@
{
VM::ClientData* clientData = vm.clientData;
ASSERT(clientData);
- return static_cast<JSClientData*>(clientData)->normalWorld();
+ return static_cast<WebCoreJSClientData*>(clientData)->normalWorld();
}
DOMWrapperWorld& mainThreadNormalWorld()
Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp (190667 => 190668)
--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp 2015-10-07 16:11:46 UTC (rev 190668)
@@ -70,7 +70,9 @@
, m_windowCloseWatchpoints((window && window->frame()) ? IsWatched : IsInvalidated)
, m_impl(window)
, m_shell(shell)
- , m_privateFunctions(vm)
+#if ENABLE(STREAMS_API)
+ , m_readableStreamFunctions(vm)
+#endif
{
}
@@ -79,21 +81,23 @@
Base::finishCreation(vm, shell);
ASSERT(inherits(info()));
- m_privateFunctions.init(*this);
+#if ENABLE(STREAMS_API)
+ m_readableStreamFunctions.init(*this);
+#endif
GlobalPropertyInfo staticGlobals[] = {
GlobalPropertyInfo(vm.propertyNames->document, jsNull(), DontDelete | ReadOnly),
GlobalPropertyInfo(vm.propertyNames->window, m_shell, DontDelete | ReadOnly),
#if ENABLE(STREAMS_API)
- GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().readableStreamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
- GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().readableStreamErroredPrivateName(), jsNumber(2), DontDelete | ReadOnly),
- GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().readableStreamReadablePrivateName(), jsNumber(3), DontDelete | ReadOnly),
- GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
- GlobalPropertyInfo(static_cast<JSClientData*>(vm.clientData)->builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
+ GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
+ GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamErroredPrivateName(), jsNumber(2), DontDelete | ReadOnly),
+ GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamReadablePrivateName(), jsNumber(3), DontDelete | ReadOnly),
+ GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
+ GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
#define DECLARE_GLOBAL_STATIC(name)\
GlobalPropertyInfo(\
- static_cast<JSClientData*>(vm.clientData)->builtinFunctions().readableStreamInternalsBuiltins().name##PrivateName(), \
- m_privateFunctions.readableStreamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
+ static_cast<WebCoreJSClientData*>(vm.clientData)->readableStreamInternalsBuiltins().name##PrivateName(),\
+ m_readableStreamFunctions.m_##name##Function.get() , DontDelete | ReadOnly),
WEBCOREREADABLESTREAMINTERNALS_FOREACH_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC)
#undef EXPORT_FUNCTION
#endif
@@ -107,7 +111,9 @@
JSDOMWindowBase* thisObject = jsCast<JSDOMWindowBase*>(cell);
ASSERT_GC_OBJECT_INHERITS(thisObject, info());
Base::visitChildren(thisObject, visitor);
- thisObject->m_privateFunctions.visit(visitor);
+#if ENABLE(STREAMS_API)
+ thisObject->m_readableStreamFunctions.visit(visitor);
+#endif
}
void JSDOMWindowBase::destroy(JSCell* cell)
@@ -291,7 +297,7 @@
void JSDOMWindowBase::fireFrameClearedWatchpointsForWindow(DOMWindow* window)
{
JSC::VM& vm = JSDOMWindowBase::commonVM();
- JSClientData* clientData = static_cast<JSClientData*>(vm.clientData);
+ WebCoreJSClientData* clientData = static_cast<WebCoreJSClientData*>(vm.clientData);
Vector<Ref<DOMWrapperWorld>> wrapperWorlds;
clientData->getAllWorlds(wrapperWorlds);
for (unsigned i = 0; i < wrapperWorlds.size(); ++i) {
Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h (190667 => 190668)
--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h 2015-10-07 16:11:46 UTC (rev 190668)
@@ -22,7 +22,7 @@
#include "JSDOMBinding.h"
#include "JSDOMGlobalObject.h"
-#include "PrivateWebCoreJSBuiltins.h"
+#include "ReadableStreamInternalsBuiltinsWrapper.h"
#include <wtf/Forward.h>
namespace WebCore {
@@ -87,7 +87,9 @@
RefPtr<DOMWindow> m_impl;
JSDOMWindowShell* m_shell;
- JSBuiltinInternalFunctions m_privateFunctions;
+#if ENABLE(STREAMS_API)
+ ReadableStreamInternalsBuiltinFunctions m_readableStreamFunctions;
+#endif
};
// Returns a JSDOMWindow or jsNull()
Modified: trunk/Source/WebCore/bindings/js/ScriptController.cpp (190667 => 190668)
--- trunk/Source/WebCore/bindings/js/ScriptController.cpp 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/ScriptController.cpp 2015-10-07 16:11:46 UTC (rev 190668)
@@ -194,7 +194,7 @@
void ScriptController::getAllWorlds(Vector<Ref<DOMWrapperWorld>>& worlds)
{
- static_cast<JSClientData*>(JSDOMWindow::commonVM().clientData)->getAllWorlds(worlds);
+ static_cast<WebCoreJSClientData*>(JSDOMWindow::commonVM().clientData)->getAllWorlds(worlds);
}
void ScriptController::clearWindowShell(DOMWindow* newDOMWindow, bool goingIntoPageCache)
Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (190667 => 190668)
--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp 2015-10-07 16:11:46 UTC (rev 190668)
@@ -2634,7 +2634,7 @@
auto contents = std::make_unique<ArrayBufferContentsArray>(arrayBuffers.size());
Vector<Ref<DOMWrapperWorld>> worlds;
- static_cast<JSClientData*>(exec->vm().clientData)->getAllWorlds(worlds);
+ static_cast<WebCoreJSClientData*>(exec->vm().clientData)->getAllWorlds(worlds);
HashSet<JSC::ArrayBuffer*> visited;
for (size_t arrayBufferIndex = 0; arrayBufferIndex < arrayBuffers.size(); arrayBufferIndex++) {
Modified: trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h (190667 => 190668)
--- trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h 2015-10-07 16:11:46 UTC (rev 190668)
@@ -24,26 +24,44 @@
#include "DOMWrapperWorld.h"
#include "WebCoreBuiltinNames.h"
-#include "WebCoreJSBuiltins.h"
#include "WebCoreTypedArrayController.h"
#include <wtf/HashSet.h>
#include <wtf/RefPtr.h>
+#if ENABLE(STREAMS_API)
+#include "ByteLengthQueuingStrategyBuiltinsWrapper.h"
+#include "CountQueuingStrategyBuiltinsWrapper.h"
+#include "ReadableStreamBuiltinsWrapper.h"
+#include "ReadableStreamControllerBuiltinsWrapper.h"
+#include "ReadableStreamInternalsBuiltinsWrapper.h"
+#include "ReadableStreamReaderBuiltinsWrapper.h"
+#endif
+
namespace WebCore {
-class JSClientData : public JSC::VM::ClientData {
- WTF_MAKE_NONCOPYABLE(JSClientData); WTF_MAKE_FAST_ALLOCATED;
+class WebCoreJSClientData : public JSC::VM::ClientData {
+ WTF_MAKE_NONCOPYABLE(WebCoreJSClientData); WTF_MAKE_FAST_ALLOCATED;
friend class VMWorldIterator;
friend void initNormalWorldClientData(JSC::VM*);
public:
- explicit JSClientData(JSC::VM& vm)
- : m_builtinFunctions(vm)
- , m_builtinNames(&vm)
+ explicit WebCoreJSClientData(JSC::VM& vm)
+ : m_builtinNames(&vm)
+#if ENABLE(STREAMS_API)
+ , m_readableStreamBuiltins(&vm)
+ , m_readableStreamControllerBuiltins(&vm)
+ , m_readableStreamInternalsBuiltins(&vm)
+ , m_readableStreamReaderBuiltins(&vm)
+ , m_byteLengthQueuingStrategyBuiltins(&vm)
+ , m_countQueuingStrategyBuiltins(&vm)
+#endif
{
+#if ENABLE(STREAMS_API)
+ m_readableStreamInternalsBuiltins.exportNames();
+#endif
}
- virtual ~JSClientData()
+ virtual ~WebCoreJSClientData()
{
ASSERT(m_worldSet.contains(m_normalWorld.get()));
ASSERT(m_worldSet.size() == 1);
@@ -76,19 +94,35 @@
}
WebCoreBuiltinNames& builtinNames() { return m_builtinNames; }
- JSBuiltinFunctions& builtinFunctions() { return m_builtinFunctions; }
+#if ENABLE(STREAMS_API)
+ ReadableStreamBuiltinsWrapper& readableStreamBuiltins() { return m_readableStreamBuiltins; }
+ ReadableStreamControllerBuiltinsWrapper& readableStreamControllerBuiltins() { return m_readableStreamControllerBuiltins; }
+ ReadableStreamInternalsBuiltinsWrapper& readableStreamInternalsBuiltins() { return m_readableStreamInternalsBuiltins; }
+ ReadableStreamReaderBuiltinsWrapper& readableStreamReaderBuiltins() { return m_readableStreamReaderBuiltins; }
+ ByteLengthQueuingStrategyBuiltinsWrapper& byteLengthQueuingStrategyBuiltins() { return m_byteLengthQueuingStrategyBuiltins; }
+ CountQueuingStrategyBuiltinsWrapper& countQueuingStrategyBuiltins() { return m_countQueuingStrategyBuiltins; }
+#endif
+
private:
HashSet<DOMWrapperWorld*> m_worldSet;
RefPtr<DOMWrapperWorld> m_normalWorld;
- JSBuiltinFunctions m_builtinFunctions;
WebCoreBuiltinNames m_builtinNames;
+
+#if ENABLE(STREAMS_API)
+ ReadableStreamBuiltinsWrapper m_readableStreamBuiltins;
+ ReadableStreamControllerBuiltinsWrapper m_readableStreamControllerBuiltins;
+ ReadableStreamInternalsBuiltinsWrapper m_readableStreamInternalsBuiltins;
+ ReadableStreamReaderBuiltinsWrapper m_readableStreamReaderBuiltins;
+ ByteLengthQueuingStrategyBuiltinsWrapper m_byteLengthQueuingStrategyBuiltins;
+ CountQueuingStrategyBuiltinsWrapper m_countQueuingStrategyBuiltins;
+#endif
};
inline void initNormalWorldClientData(JSC::VM* vm)
{
- JSClientData* webCoreJSClientData = new JSClientData(*vm);
+ WebCoreJSClientData* webCoreJSClientData = new WebCoreJSClientData(*vm);
vm->clientData = webCoreJSClientData; // ~VM deletes this pointer.
webCoreJSClientData->m_normalWorld = DOMWrapperWorld::create(*vm, true);
vm->m_typedArrayController = adoptRef(new WebCoreTypedArrayController());
Deleted: trunk/Source/WebCore/generate-js-builtins-allinone (190667 => 190668)
--- trunk/Source/WebCore/generate-js-builtins-allinone 2015-10-07 15:09:02 UTC (rev 190667)
+++ trunk/Source/WebCore/generate-js-builtins-allinone 2015-10-07 16:11:46 UTC (rev 190668)
@@ -1,233 +0,0 @@
-#!/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"\/\/ @.*?\n", 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("Skipping potential generation parameter directive:" % 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 = ("#if ENABLE(" + file_input.parameters["optional"] + ")\n") if "optional" in file_input.parameters else ""
- file_input.optionalendif = "#endif\n" if "optional" in file_input.parameters else ""
- 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)
-
-
-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 "internals" in f.parameters ]
-
-basename = "WebCoreJSBuiltins"
-output_base = os.path.join(args.output_dir, basename)
-private_output_base = os.path.join(args.output_dir, "Private" + basename)
-
-
-# Create writers
-builtinsHeader = open(output_base + ".h.tmp", "w")
-builtinsImplementation = open(output_base + ".cpp.tmp", "w")
-privateBuiltinsHeader = open(private_output_base + ".h.tmp", "w")
-
-preamble = """
-/* 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
- */
-
-"""
-
-###############
-# Generation of cpp file including all JS builtin generated cpp files with optional #fdef directives as defined by @enable in JS files.
-###############
-builtinsImplementation.write(preamble)
-builtinsImplementation.write("#include \"config.h\"\n\n")
-
-# Including cpp files
-for input_file in files:
- writeConditional(builtinsImplementation, input_file, "#include \"" + input_file.filename + "Builtins.cpp\"\n");
-
-builtinsImplementation.close()
-
-###############
-# Generation of wrapper header file defining access to all builtin functions.
-###############
-builtinsHeader.write(preamble)
-builtinsHeader.write("#ifndef " + basename + "_h\n#define " + basename + "_h\n\n")
-
-for input_file in files:
- writeConditional(builtinsHeader, input_file, "#include \"" + input_file.filename + "BuiltinsWrapper.h\"\n");
-builtinsHeader.write("""
-
-#include <runtime/VM.h>
-
-namespace WebCore {
-
-class JSBuiltinFunctions {
-public:
-""")
-
-# Constructor
-builtinsHeader.write(" explicit JSBuiltinFunctions(JSC::VM& v)\n : vm(v)\n");
-for input_file in files:
- writeConditional(builtinsHeader, input_file, " , m_" + input_file.name + "Builtins(&vm)\n");
-builtinsHeader.write(" {\n");
-for input_file in internals_files:
- writeConditional(builtinsHeader, input_file, " m_" + input_file.name + "Builtins.exportNames();\n");
-builtinsHeader.write(" }\n");
-
-# Getters
-for input_file in files:
- writeConditional(builtinsHeader, input_file, " " + input_file.filename + "BuiltinsWrapper& " + input_file.name + "Builtins() { return m_" + input_file.name + "Builtins;}\n");
-
-# Declarations
-builtinsHeader.write("""private:
- JSC::VM& vm;\n""");
-for input_file in files:
- writeConditional(builtinsHeader, input_file, " " + input_file.filename + "BuiltinsWrapper m_" + input_file.name + "Builtins;\n");
-
-builtinsHeader.write("""
-};
-
-}
-
-#endif
-""");
-
-builtinsHeader.close()
-
-###############
-# Generation of class wrapping all functions of JS files marked as @internals.
-###############
-privateBuiltinsHeader.write(preamble)
-privateBuiltinsHeader.write("#ifndef Private" + basename + "_h\n#define Private" + basename + "_h\n\n")
-
-# Including all necessrary wrapper headers.
-for input_file in internals_files:
- writeConditional(privateBuiltinsHeader, input_file, "#include \"" + input_file.filename + "BuiltinsWrapper.h\"\n")
-
-# Class definition
-privateBuiltinsHeader.write("""
-namespace WebCore {
-
-class JSBuiltinInternalFunctions {
-public:
-""")
-
-# Constructor
-privateBuiltinsHeader.write("""explicit JSBuiltinInternalFunctions(JSC::VM& v)\n : vm(v)\n""")
-for input_file in internals_files:
- writeConditional(privateBuiltinsHeader, input_file, " , m_" + input_file.name + "Functions(vm)\n")
-privateBuiltinsHeader.write(" { }\n\n")
-
-# Getters
-for input_file in internals_files:
- writeConditional(privateBuiltinsHeader, input_file, " " + input_file.filename + "BuiltinFunctions " + input_file.name + "() { return m_" + input_file.name + "Functions; }\n")
-
-# Visitor wrapper routine
-privateBuiltinsHeader.write(" void visit(JSC::SlotVisitor& visitor) {\n")
-for input_file in internals_files:
- writeConditional(privateBuiltinsHeader, input_file, " m_" + input_file.name + "Functions.visit(visitor);\n")
-privateBuiltinsHeader.write(" }\n")
-
-# Init wrapper routine
-privateBuiltinsHeader.write(" void init(JSC::JSGlobalObject& globalObject) {\n")
-for input_file in internals_files:
- writeConditional(privateBuiltinsHeader, input_file, " m_" + input_file.name + "Functions.init(globalObject);\n")
-privateBuiltinsHeader.write(" }\n")
-
-# Private member fields
-privateBuiltinsHeader.write("""
-private:
- JSC::VM& vm;\n""")
-for input_file in internals_files:
- writeConditional(privateBuiltinsHeader, input_file, " " + input_file.filename + "BuiltinFunctions m_" + input_file.name + "Functions;\n")
-
-privateBuiltinsHeader.write("""
-};
-
-}
-#endif
-""")
-
-privateBuiltinsHeader.close()
-
-def copytempfile(output):
- if (not os.path.exists(output)) or (not filecmp.cmp(output + ".tmp", output, shallow=False)):
- if (os.path.exists(output)):
- os.remove(output)
- os.rename(output + ".tmp", output)
- else:
- os.remove(output + ".tmp")
-
-copytempfile(output_base + ".h")
-copytempfile(output_base + ".cpp")
-copytempfile(private_output_base + ".h")