Changeset 190794 in webkit


Ignore:
Timestamp:
Oct 9, 2015 7:21:58 AM (9 years ago)
Author:
youenn.fablet@crf.canon.fr
Message:

Source/JavaScriptCore:
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.

Source/WebCore:
Refactor WebCore JS builtins to prepare for automatic generation
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 should be exported automatically.
Added WebCoreJSBuiltins.h to simplify handling of builtins in JSVMClientData.
Added WebCoreJSInternals.h to simplify handling of builtin private function in JSDOMWindowBase.
Renamed WebCoreJSClientData to JSVMClientData.

Covered by existing tests.

  • CMakeLists.txt:
  • Modules/streams/ByteLengthQueuingStrategy.js:
  • Modules/streams/CountQueuingStrategy.js:
  • Modules/streams/ReadableStream.js:
  • Modules/streams/ReadableStreamController.js:
  • Modules/streams/ReadableStreamInternals.js:
  • Modules/streams/ReadableStreamReader.js:
  • WebCore.order:
  • 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):
(WebCore::JSDOMWindowBase::destroy): Deleted.

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::getAllWorlds):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::transferArrayBuffers):

  • bindings/js/WebCoreJSBuiltinInternals.h: Added.

(WebCore::JSBuiltinInternalFunctions::JSBuiltinInternalFunctions):
(WebCore::JSBuiltinInternalFunctions::readableStreamInternals):
(WebCore::JSBuiltinInternalFunctions::visit):
(WebCore::JSBuiltinInternalFunctions::init):

  • bindings/js/WebCoreJSBuiltins.cpp:
  • bindings/js/WebCoreJSBuiltins.h: Added.

(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::byteLengthQueuingStrategyBuiltins):
(WebCore::JSBuiltinFunctions::countQueuingStrategyBuiltins):
(WebCore::JSBuiltinFunctions::readableStreamBuiltins):
(WebCore::JSBuiltinFunctions::readableStreamControllerBuiltins):
(WebCore::JSBuiltinFunctions::readableStreamInternalsBuiltins):
(WebCore::JSBuiltinFunctions::readableStreamReaderBuiltins):

  • bindings/js/WebCoreJSClientData.h:

(WebCore::JSVMClientData::JSVMClientData):
(WebCore::JSVMClientData::~JSVMClientData):
(WebCore::JSVMClientData::builtinFunctions):
(WebCore::initNormalWorldClientData):
(WebCore::JSVMClientData::normalWorld): Deleted.
(WebCore::JSVMClientData::getAllWorlds): Deleted.

Location:
trunk/Source
Files:
2 added
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r190761 r190794  
     12015-10-09  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Automate WebCore JS builtins generation and build system
     4        https://bugs.webkit.org/show_bug.cgi?id=149751
     5
     6        Reviewed by Darin Adler.
     7
     8        * generate-js-builtins: updating the part related to WebCore JS binding.
     9
    1102015-10-08  Filip Pizlo  <fpizlo@apple.com>
    211
  • trunk/Source/JavaScriptCore/generate-js-builtins

    r190723 r190794  
    315315    builtinName = scopeName[0].lower() + scopeName[1:]
    316316    builtinsImplementation.write("""{\\
    317     WebCoreJSClientData* clientData = static_cast<WebCoreJSClientData*>(vm.clientData); \\
    318     return clientData->%s().codeName##Executable()->link(vm, clientData->%s().codeName##Source()); \\
     317    JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \\
     318    return clientData->builtinFunctions().%s().codeName##Executable()->link(vm, clientData->builtinFunctions().%s().codeName##Source()); \\
    319319"""% (builtinName, builtinName))
    320320
  • trunk/Source/WebCore/CMakeLists.txt

    r190723 r190794  
    35833583    add_custom_command(
    35843584        OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/${_name}BuiltinsWrapper.h ${DERIVED_SOURCES_WEBCORE_DIR}/${_name}Builtins.h ${DERIVED_SOURCES_WEBCORE_DIR}/${_name}Builtins.cpp
    3585         MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/generate-js-builtins
     3585        MAIN_DEPENDENCY ${WEBCORE_DIR}/generate-js-builtins
    35863586        DEPENDS ${WebCore_GENERATE_JS_BUILTINS_SCRIPTS_DIR}/generate-js-builtins
    35873587        DEPENDS ${_builtinjs}
  • trunk/Source/WebCore/ChangeLog

    r190785 r190794  
     12015-10-09  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
     2
     3        Refactor WebCore JS builtins to prepare for automatic generation
     4        https://bugs.webkit.org/show_bug.cgi?id=149751
     5
     6        Reviewed by Darin Adler.
     7
     8        Adding annotations to JS files to know whether they should be under a compilation flag and
     9        whether they are JS internals or JS tied to WebIDL.
     10        If a file is said as JS internals, all function names should be exported automatically.
     11        Added WebCoreJSBuiltins.h to simplify handling of builtins in JSVMClientData.
     12        Added WebCoreJSInternals.h to simplify handling of builtin private function in JSDOMWindowBase.
     13        Renamed WebCoreJSClientData to JSVMClientData.
     14
     15        Covered by existing tests.
     16
     17        * CMakeLists.txt:
     18        * Modules/streams/ByteLengthQueuingStrategy.js:
     19        * Modules/streams/CountQueuingStrategy.js:
     20        * Modules/streams/ReadableStream.js:
     21        * Modules/streams/ReadableStreamController.js:
     22        * Modules/streams/ReadableStreamInternals.js:
     23        * Modules/streams/ReadableStreamReader.js:
     24        * WebCore.order:
     25        * WebCore.xcodeproj/project.pbxproj:
     26        * bindings/js/DOMWrapperWorld.cpp:
     27        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
     28        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
     29        (WebCore::normalWorld):
     30        * bindings/js/JSDOMWindowBase.cpp:
     31        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
     32        (WebCore::JSDOMWindowBase::finishCreation):
     33        (WebCore::JSDOMWindowBase::visitChildren):
     34        (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
     35        (WebCore::JSDOMWindowBase::destroy): Deleted.
     36        * bindings/js/JSDOMWindowBase.h:
     37        * bindings/js/ScriptController.cpp:
     38        (WebCore::ScriptController::getAllWorlds):
     39        * bindings/js/SerializedScriptValue.cpp:
     40        (WebCore::SerializedScriptValue::transferArrayBuffers):
     41        * bindings/js/WebCoreJSBuiltinInternals.h: Added.
     42        (WebCore::JSBuiltinInternalFunctions::JSBuiltinInternalFunctions):
     43        (WebCore::JSBuiltinInternalFunctions::readableStreamInternals):
     44        (WebCore::JSBuiltinInternalFunctions::visit):
     45        (WebCore::JSBuiltinInternalFunctions::init):
     46        * bindings/js/WebCoreJSBuiltins.cpp:
     47        * bindings/js/WebCoreJSBuiltins.h: Added.
     48        (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
     49        (WebCore::JSBuiltinFunctions::byteLengthQueuingStrategyBuiltins):
     50        (WebCore::JSBuiltinFunctions::countQueuingStrategyBuiltins):
     51        (WebCore::JSBuiltinFunctions::readableStreamBuiltins):
     52        (WebCore::JSBuiltinFunctions::readableStreamControllerBuiltins):
     53        (WebCore::JSBuiltinFunctions::readableStreamInternalsBuiltins):
     54        (WebCore::JSBuiltinFunctions::readableStreamReaderBuiltins):
     55        * bindings/js/WebCoreJSClientData.h:
     56        (WebCore::JSVMClientData::JSVMClientData):
     57        (WebCore::JSVMClientData::~JSVMClientData):
     58        (WebCore::JSVMClientData::builtinFunctions):
     59        (WebCore::initNormalWorldClientData):
     60        (WebCore::JSVMClientData::normalWorld): Deleted.
     61        (WebCore::JSVMClientData::getAllWorlds): Deleted.
     62
    1632015-10-09  Youenn Fablet  <youenn.fablet@crf.canon.fr>
    264
  • trunk/Source/WebCore/Modules/streams/ByteLengthQueuingStrategy.js

    r190723 r190794  
    2525 */
    2626
     27// @optional=STREAMS_API
     28
    2729function size(chunk)
    2830{
  • trunk/Source/WebCore/Modules/streams/CountQueuingStrategy.js

    r190723 r190794  
    2424 */
    2525
     26// @optional=STREAMS_API
     27
    2628function size()
    2729{
  • trunk/Source/WebCore/Modules/streams/ReadableStream.js

    r190723 r190794  
    2323 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2424 */
     25
     26// @optional=STREAMS_API
    2527
    2628function initializeReadableStream(underlyingSource, strategy)
  • trunk/Source/WebCore/Modules/streams/ReadableStreamController.js

    r190608 r190794  
    2323 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2424 */
     25
     26// @optional=STREAMS_API
    2527
    2628function enqueue(chunk)
  • trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js

    r190723 r190794  
    2424 */
    2525
     26// @optional=STREAMS_API
     27// @internals
     28
    2629function privateInitializeReadableStreamReader(stream)
    2730{
  • trunk/Source/WebCore/Modules/streams/ReadableStreamReader.js

    r190608 r190794  
    2323 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2424 */
     25
     26// @optional=STREAMS_API
    2527
    2628function cancel(reason)
  • trunk/Source/WebCore/WebCore.order

    r190723 r190794  
    2472424724__ZGVZN7WebCore12wrapperOwnerEPNS_15DOMWrapperWorldEPNS_6DOMURLEE13jsDOMURLOwner
    2472524725__ZN7WebCoreL27JSDOMWindowConstructorTableE
    24726 __ZTVN7WebCore19WebCoreJSClientDataE
     24726__ZTVN7WebCore19JSVMClientDataE
    2472724727__ZN7WebCoreL40JSDynamicsCompressorNodeConstructorTableE
    2472824728__ZN7WebCoreL38JSDynamicsCompressorNodePrototypeTableE
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r190723 r190794  
    14861486                40ECAE8116B8B68A00C36103 /* JSDOMError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 40ECAE8016B8B68A00C36103 /* JSDOMError.cpp */; };
    14871487                410B7E721045FAB000D8224F /* JSMessageEventCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */; };
    1488                 411A90421BBAB47A000CF156 /* WebCoreJSBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */; };
    14891488                4123081B138C429700BCCFCA /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93F19B1A08245E5A001E9ABC /* WebCore.framework */; };
    14901489                41230913138C42FF00BCCFCA /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8216299029F4FB501000131 /* JavaScriptCore.framework */; };
     
    15091508                416E6FE81BBD12DF000A6043 /* ReadableStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
    15101509                416E6FE91BBD12E5000A6043 /* ReadableStreamBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
    1511                 416E6FEA1BBD1684000A6043 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1510                416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
    15121511                417253AA1354BBBC00360F2A /* MediaControlElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417253A81354BBBC00360F2A /* MediaControlElements.cpp */; };
    15131512                417253AB1354BBBC00360F2A /* MediaControlElements.h in Headers */ = {isa = PBXBuildFile; fileRef = 417253A91354BBBC00360F2A /* MediaControlElements.h */; };
     
    15261525                419BC2DE1685329900D64D6D /* VisitedLinkState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 419BC2DC1685329900D64D6D /* VisitedLinkState.cpp */; };
    15271526                419BC2DF1685329900D64D6D /* VisitedLinkState.h in Headers */ = {isa = PBXBuildFile; fileRef = 419BC2DD1685329900D64D6D /* VisitedLinkState.h */; };
     1527                419BE7561BC7F41B00E1C85B /* WebCoreJSBuiltinInternals.h in Headers */ = {isa = PBXBuildFile; fileRef = 419BE7531BC7F3DB00E1C85B /* WebCoreJSBuiltinInternals.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1528                419BE7571BC7F42100E1C85B /* WebCoreJSBuiltins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 419BE7541BC7F3DB00E1C85B /* WebCoreJSBuiltins.cpp */; settings = {ASSET_TAGS = (); }; };
     1529                419BE7581BC7F42700E1C85B /* WebCoreJSBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 419BE7551BC7F3DB00E1C85B /* WebCoreJSBuiltins.h */; settings = {ASSET_TAGS = (); }; };
     1530                419BE7591BC7F42B00E1C85B /* WebCoreBuiltinNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 419BE7521BC7F3DB00E1C85B /* WebCoreBuiltinNames.h */; settings = {ASSET_TAGS = (); }; };
    15281531                41A3D58E101C152D00316D07 /* DedicatedWorkerThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41A3D58C101C152D00316D07 /* DedicatedWorkerThread.cpp */; };
    15291532                41A3D58F101C152D00316D07 /* DedicatedWorkerThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A3D58D101C152D00316D07 /* DedicatedWorkerThread.h */; };
     
    87648767                410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMessageEventCustom.cpp; sourceTree = "<group>"; };
    87658768                41189EF71AD8232800B90A0D /* ReadableStreamController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamController.idl; sourceTree = "<group>"; };
    8766                 411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = "<group>"; };
    87678769                4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptState.cpp; sourceTree = "<group>"; };
    87688770                4129DF811BB5B79B00322A16 /* ReadableStreamController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamController.h; sourceTree = "<group>"; };
     
    88058807                419BC2DC1685329900D64D6D /* VisitedLinkState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisitedLinkState.cpp; sourceTree = "<group>"; };
    88068808                419BC2DD1685329900D64D6D /* VisitedLinkState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisitedLinkState.h; sourceTree = "<group>"; };
     8809                419BE7521BC7F3DB00E1C85B /* WebCoreBuiltinNames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreBuiltinNames.h; sourceTree = "<group>"; };
     8810                419BE7531BC7F3DB00E1C85B /* WebCoreJSBuiltinInternals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreJSBuiltinInternals.h; sourceTree = "<group>"; };
     8811                419BE7541BC7F3DB00E1C85B /* WebCoreJSBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreJSBuiltins.cpp; sourceTree = "<group>"; };
     8812                419BE7551BC7F3DB00E1C85B /* WebCoreJSBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreJSBuiltins.h; sourceTree = "<group>"; };
    88078813                419FAFAD1ABABCD5005B828B /* ReadableStreamReader.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamReader.idl; sourceTree = "<group>"; };
    88088814                41A023ED1A39DB7900F722CF /* ReadableStream.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStream.idl; sourceTree = "<group>"; };
     
    1132211328                9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltins.h; sourceTree = "<group>"; };
    1132311329                9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltinsWrapper.h; sourceTree = "<group>"; };
    11324                 9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = "<group>"; };
     11330                9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = "<group>"; };
    1132511331                9B19B67E1B964E5200348745 /* ShadowRoot.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ShadowRoot.idl; sourceTree = "<group>"; };
    1132611332                9B1AB0791648C69D0051F3F2 /* HTMLFormControlsCollection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLFormControlsCollection.idl; sourceTree = "<group>"; };
     
    1707117077                                9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */,
    1707217078                                9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */,
    17073                                 9B03D8071BB3110D00B764D9 /* ReadableStreamInternalsBuiltinsWrapper.h */,
     17079                                9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */,
    1707417080                                43B85ED218CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.cpp */,
    1707517081                                43B85ED318CBEC5200E31AF4 /* SelectorPseudoClassAndCompatibilityElementMap.gperf */,
     
    2166821674                                A75E497510752ACB00C9B896 /* SerializedScriptValue.cpp */,
    2166921675                                A75E497410752ACB00C9B896 /* SerializedScriptValue.h */,
    21670                                 411A90411BBAB46D000CF156 /* WebCoreJSBuiltins.cpp */,
     21676                                419BE7521BC7F3DB00E1C85B /* WebCoreBuiltinNames.h */,
     21677                                419BE7531BC7F3DB00E1C85B /* WebCoreJSBuiltinInternals.h */,
     21678                                419BE7541BC7F3DB00E1C85B /* WebCoreJSBuiltins.cpp */,
     21679                                419BE7551BC7F3DB00E1C85B /* WebCoreJSBuiltins.h */,
    2167121680                                BC53D910114310CC000D817E /* WebCoreJSClientData.h */,
    2167221681                                0F099D0617B968A100FF84B9 /* WebCoreTypedArrayController.cpp */,
     
    2537325382                                A8DF3FD0097FA0FC0052981B /* HTMLCollection.h in Headers */,
    2537425383                                977B3865122883E900B81FF8 /* HTMLConstructionSite.h in Headers */,
     25384                                419BE7591BC7F42B00E1C85B /* WebCoreBuiltinNames.h in Headers */,
    2537525385                                7C3E510A18DF8F3500C112F7 /* HTMLConverter.h in Headers */,
    2537625386                                F5C041DB0FFCA7CE00839D4A /* HTMLDataListElement.h in Headers */,
     
    2572225732                                652FBBBC0DE27CB60001D386 /* JSDOMWindowCustom.h in Headers */,
    2572325733                                BCBFB53D0DCD29CF0019B3E5 /* JSDOMWindowShell.h in Headers */,
    25724                                 416E6FEA1BBD1684000A6043 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */,
     25734                                416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */,
    2572525735                                65E0E9441133C89F00B4CB10 /* JSDOMWrapper.h in Headers */,
    2572625736                                FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */,
     
    2591425924                                8A9A587511E84C81008ACFD1 /* JSPerformance.h in Headers */,
    2591525925                                8A9A587111E84C36008ACFD1 /* JSPerformanceNavigation.h in Headers */,
     25926                                419BE7581BC7F42700E1C85B /* WebCoreJSBuiltins.h in Headers */,
    2591625927                                8A9A588811E84F37008ACFD1 /* JSPerformanceTiming.h in Headers */,
    2591725928                                FDEA6247152102FC00479DF0 /* JSPeriodicWave.h in Headers */,
     
    2618726198                                494BD79E0F55C94C00747828 /* JSWebKitPoint.h in Headers */,
    2618826199                                31C0FF400E4CEFAC007D6FE5 /* JSWebKitTransitionEvent.h in Headers */,
     26200                                419BE7561BC7F41B00E1C85B /* WebCoreJSBuiltinInternals.h in Headers */,
    2618926201                                5DA5E0FD102B953800088CF9 /* JSWebSocket.h in Headers */,
    2619026202                                65DF320609D1CC60000BE325 /* JSWheelEvent.h in Headers */,
     
    2906029072                                977B37251228721700B81FF8 /* HTMLTreeBuilder.cpp in Sources */,
    2906129073                                A8EA79F30A1916DF00A8EF5F /* HTMLUListElement.cpp in Sources */,
     29074                                419BE7571BC7F42100E1C85B /* WebCoreJSBuiltins.cpp in Sources */,
    2906229075                                E44613AA0CD6331000FADA75 /* HTMLVideoElement.cpp in Sources */,
    2906329076                                839AAFEC1A0C0C8D00605F99 /* HTMLWBRElement.cpp in Sources */,
    29064                                 411A90421BBAB47A000CF156 /* WebCoreJSBuiltins.cpp in Sources */,
    2906529077                                0B8C56D40F28627F000502E1 /* HTTPHeaderMap.cpp in Sources */,
    2906629078                                1AC900C31943C0FC008625B5 /* HTTPHeaderNames.cpp in Sources */,
  • trunk/Source/WebCore/bindings/js/DOMWrapperWorld.cpp

    r190723 r190794  
    3737    VM::ClientData* clientData = m_vm.clientData;
    3838    ASSERT(clientData);
    39     static_cast<WebCoreJSClientData*>(clientData)->rememberWorld(*this);
     39    static_cast<JSVMClientData*>(clientData)->rememberWorld(*this);
    4040}
    4141
     
    4444    VM::ClientData* clientData = m_vm.clientData;
    4545    ASSERT(clientData);
    46     static_cast<WebCoreJSClientData*>(clientData)->forgetWorld(*this);
     46    static_cast<JSVMClientData*>(clientData)->forgetWorld(*this);
    4747
    4848    // These items are created lazily.
     
    6464    VM::ClientData* clientData = vm.clientData;
    6565    ASSERT(clientData);
    66     return static_cast<WebCoreJSClientData*>(clientData)->normalWorld();
     66    return static_cast<JSVMClientData*>(clientData)->normalWorld();
    6767}
    6868
  • trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp

    r190723 r190794  
    7171    , m_impl(window)
    7272    , m_shell(shell)
    73 #if ENABLE(STREAMS_API)
    74     , m_readableStreamFunctions(vm)
    75 #endif
     73    , m_privateFunctions(vm)
    7674{
    7775}
     
    8280    ASSERT(inherits(info()));
    8381
    84 #if ENABLE(STREAMS_API)
    85     m_readableStreamFunctions.init(*this);
    86 #endif
     82    m_privateFunctions.init(*this);
    8783
    8884    GlobalPropertyInfo staticGlobals[] = {
     
    9086        GlobalPropertyInfo(vm.propertyNames->window, m_shell, DontDelete | ReadOnly),
    9187#if ENABLE(STREAMS_API)
    92         GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
    93         GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamErroredPrivateName(), jsNumber(2), DontDelete | ReadOnly),
    94         GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().readableStreamReadablePrivateName(), jsNumber(3), DontDelete | ReadOnly),
    95         GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
    96         GlobalPropertyInfo(static_cast<WebCoreJSClientData*>(vm.clientData)->builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
     88        GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().readableStreamClosedPrivateName(), jsNumber(1), DontDelete | ReadOnly),
     89        GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().readableStreamErroredPrivateName(), jsNumber(2), DontDelete | ReadOnly),
     90        GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().readableStreamReadablePrivateName(), jsNumber(3), DontDelete | ReadOnly),
     91        GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamControllerPrivateName(), createReadableStreamControllerPrivateConstructor(vm, *this), DontDelete | ReadOnly),
     92        GlobalPropertyInfo(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamReaderPrivateName(), createReadableStreamReaderPrivateConstructor(vm, *this), DontDelete | ReadOnly),
    9793#define DECLARE_GLOBAL_STATIC(name)\
    9894        GlobalPropertyInfo(\
    99             static_cast<WebCoreJSClientData*>(vm.clientData)->readableStreamInternalsBuiltins().name##PrivateName(),\
    100             m_readableStreamFunctions.m_##name##Function.get() , DontDelete | ReadOnly),
     95            static_cast<JSVMClientData*>(vm.clientData)->builtinFunctions().readableStreamInternalsBuiltins().name##PrivateName(), \
     96            m_privateFunctions.readableStreamInternals().m_##name##Function.get() , DontDelete | ReadOnly),
    10197        WEBCOREREADABLESTREAMINTERNALS_FOREACH_BUILTIN_FUNCTION_NAME(DECLARE_GLOBAL_STATIC)
    102 #undef EXPORT_FUNCTION
     98#undef DECLARE_GLOBAL_STATIC
    10399#endif
    104100    };
     
    112108    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
    113109    Base::visitChildren(thisObject, visitor);
    114 #if ENABLE(STREAMS_API)
    115     thisObject->m_readableStreamFunctions.visit(visitor);
    116 #endif
     110    thisObject->m_privateFunctions.visit(visitor);
    117111}
    118112
     
    298292{
    299293    JSC::VM& vm = JSDOMWindowBase::commonVM();
    300     WebCoreJSClientData* clientData = static_cast<WebCoreJSClientData*>(vm.clientData);
     294    JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData);
    301295    Vector<Ref<DOMWrapperWorld>> wrapperWorlds;
    302296    clientData->getAllWorlds(wrapperWorlds);
  • trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h

    r190723 r190794  
    2323#include "JSDOMBinding.h"
    2424#include "JSDOMGlobalObject.h"
    25 #include "ReadableStreamInternalsBuiltinsWrapper.h"
     25#include "WebCoreJSBuiltinInternals.h"
    2626#include <wtf/Forward.h>
    2727
     
    8888        JSDOMWindowShell* m_shell;
    8989
    90 #if ENABLE(STREAMS_API)
    91         ReadableStreamInternalsBuiltinFunctions m_readableStreamFunctions;
    92 #endif
     90        JSBuiltinInternalFunctions m_privateFunctions;
    9391    };
    9492
  • trunk/Source/WebCore/bindings/js/ScriptController.cpp

    r190723 r190794  
    195195void ScriptController::getAllWorlds(Vector<Ref<DOMWrapperWorld>>& worlds)
    196196{
    197     static_cast<WebCoreJSClientData*>(JSDOMWindow::commonVM().clientData)->getAllWorlds(worlds);
     197    static_cast<JSVMClientData*>(JSDOMWindow::commonVM().clientData)->getAllWorlds(worlds);
    198198}
    199199
  • trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp

    r190723 r190794  
    26352635    auto contents = std::make_unique<ArrayBufferContentsArray>(arrayBuffers.size());
    26362636    Vector<Ref<DOMWrapperWorld>> worlds;
    2637     static_cast<WebCoreJSClientData*>(exec->vm().clientData)->getAllWorlds(worlds);
     2637    static_cast<JSVMClientData*>(exec->vm().clientData)->getAllWorlds(worlds);
    26382638
    26392639    HashSet<JSC::ArrayBuffer*> visited;
  • trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp

    r190723 r190794  
    11/*
    2  * Copyright (C) 2015, Canon Inc. All Rights Reserved.
    32 *
    4  * Redistribution and use in source and binary forms, with or without
    5  * modification, are permitted provided that the following conditions
    6  * are met:
    7  * 1. Redistributions of source code must retain the above copyright
    8  *    notice, this list of conditions and the following disclaimer.
    9  * 2. Redistributions in binary form must reproduce the above copyright
    10  *    notice, this list of conditions and the following disclaimer in the
    11  *    documentation and/or other materials provided with the distribution.
     3 *  This library is free software; you can redistribute it and/or
     4 *  modify it under the terms of the GNU Lesser General Public
     5 *  License as published by the Free Software Foundation; either
     6 *  version 2 of the License, or (at your option) any later version.
    127 *
    13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
    14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
    17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
    21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     8 *  This library is distributed in the hope that it will be useful,
     9 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     10 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     11 *  Lesser General Public License for more details.
     12 *
     13 *  You should have received a copy of the GNU Lesser General Public
     14 *  License along with this library; if not, write to the Free Software
     15 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    2416 */
    2517
  • trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h

    r190723 r190794  
    2525#include "DOMWrapperWorld.h"
    2626#include "WebCoreBuiltinNames.h"
     27#include "WebCoreJSBuiltins.h"
    2728#include "WebCoreTypedArrayController.h"
    2829#include <wtf/HashSet.h>
    2930#include <wtf/RefPtr.h>
    3031
    31 #if ENABLE(STREAMS_API)
    32 #include "ByteLengthQueuingStrategyBuiltinsWrapper.h"
    33 #include "CountQueuingStrategyBuiltinsWrapper.h"
    34 #include "ReadableStreamBuiltinsWrapper.h"
    35 #include "ReadableStreamControllerBuiltinsWrapper.h"
    36 #include "ReadableStreamInternalsBuiltinsWrapper.h"
    37 #include "ReadableStreamReaderBuiltinsWrapper.h"
    38 #endif
    39 
    4032namespace WebCore {
    4133
    42 class WebCoreJSClientData : public JSC::VM::ClientData {
    43     WTF_MAKE_NONCOPYABLE(WebCoreJSClientData); WTF_MAKE_FAST_ALLOCATED;
     34class JSVMClientData : public JSC::VM::ClientData {
     35    WTF_MAKE_NONCOPYABLE(JSVMClientData); WTF_MAKE_FAST_ALLOCATED;
    4436    friend class VMWorldIterator;
    4537    friend void initNormalWorldClientData(JSC::VM*);
    4638
    4739public:
    48     explicit WebCoreJSClientData(JSC::VM& vm)
    49         : m_builtinNames(&vm)
    50 #if ENABLE(STREAMS_API)
    51         , m_readableStreamBuiltins(&vm)
    52         , m_readableStreamControllerBuiltins(&vm)
    53         , m_readableStreamInternalsBuiltins(&vm)
    54         , m_readableStreamReaderBuiltins(&vm)
    55         , m_byteLengthQueuingStrategyBuiltins(&vm)
    56         , m_countQueuingStrategyBuiltins(&vm)
    57 #endif
     40    explicit JSVMClientData(JSC::VM& vm)
     41        : m_builtinFunctions(vm)
     42        , m_builtinNames(&vm)
    5843    {
    59 #if ENABLE(STREAMS_API)
    60         m_readableStreamInternalsBuiltins.exportNames();
    61 #endif
    6244    }
    6345
    64     virtual ~WebCoreJSClientData()
     46    virtual ~JSVMClientData()
    6547    {
    6648        ASSERT(m_worldSet.contains(m_normalWorld.get()));
     
    9577
    9678    WebCoreBuiltinNames& builtinNames() { return m_builtinNames; }
    97 
    98 #if ENABLE(STREAMS_API)
    99     ReadableStreamBuiltinsWrapper& readableStreamBuiltins() { return m_readableStreamBuiltins; }
    100     ReadableStreamControllerBuiltinsWrapper& readableStreamControllerBuiltins() { return m_readableStreamControllerBuiltins; }
    101     ReadableStreamInternalsBuiltinsWrapper& readableStreamInternalsBuiltins() { return m_readableStreamInternalsBuiltins; }
    102     ReadableStreamReaderBuiltinsWrapper& readableStreamReaderBuiltins() { return m_readableStreamReaderBuiltins; }
    103     ByteLengthQueuingStrategyBuiltinsWrapper& byteLengthQueuingStrategyBuiltins() { return m_byteLengthQueuingStrategyBuiltins; }
    104     CountQueuingStrategyBuiltinsWrapper& countQueuingStrategyBuiltins() { return m_countQueuingStrategyBuiltins; }
    105 #endif
     79    JSBuiltinFunctions& builtinFunctions() { return m_builtinFunctions; }
    10680
    10781private:
     
    10983    RefPtr<DOMWrapperWorld> m_normalWorld;
    11084
     85    JSBuiltinFunctions m_builtinFunctions;
    11186    WebCoreBuiltinNames m_builtinNames;
    112 
    113 #if ENABLE(STREAMS_API)
    114     ReadableStreamBuiltinsWrapper m_readableStreamBuiltins;
    115     ReadableStreamControllerBuiltinsWrapper m_readableStreamControllerBuiltins;
    116     ReadableStreamInternalsBuiltinsWrapper m_readableStreamInternalsBuiltins;
    117     ReadableStreamReaderBuiltinsWrapper m_readableStreamReaderBuiltins;
    118     ByteLengthQueuingStrategyBuiltinsWrapper m_byteLengthQueuingStrategyBuiltins;
    119     CountQueuingStrategyBuiltinsWrapper m_countQueuingStrategyBuiltins;
    120 #endif
    12187};
    12288
    12389inline void initNormalWorldClientData(JSC::VM* vm)
    12490{
    125     WebCoreJSClientData* webCoreJSClientData = new WebCoreJSClientData(*vm);
    126     vm->clientData = webCoreJSClientData; // ~VM deletes this pointer.
    127     webCoreJSClientData->m_normalWorld = DOMWrapperWorld::create(*vm, true);
     91    JSVMClientData* clientData = new JSVMClientData(*vm);
     92    vm->clientData = clientData; // ~VM deletes this pointer.
     93    clientData->m_normalWorld = DOMWrapperWorld::create(*vm, true);
    12894    vm->m_typedArrayController = adoptRef(new WebCoreTypedArrayController());
    12995}
Note: See TracChangeset for help on using the changeset viewer.