1list(APPEND WebCore_INCLUDE_DIRECTORIES 2 "${WEBCORE_DIR}/bindings/js" 3 "${WEBCORE_DIR}/bridge/jsc" 4) 5 6list(APPEND WebCoreTestSupport_INCLUDE_DIRECTORIES 7 "${WEBCORE_DIR}/testing/js" 8) 9 10list(APPEND WebCore_IDL_INCLUDES 11 bindings/js 12) 13 14if (PORT MATCHES "BlackBerry") 15 list(APPEND WebCore_IDL_INCLUDES 16 testing/js 17 ) 18 list(APPEND WebCore_IDL_FILES 19 testing/Internals.idl 20 testing/InternalSettings.idl 21 ) 22endif () 23 24list(APPEND WebCore_SOURCES 25 bindings/js/ArrayValue.cpp 26 bindings/js/BindingState.cpp 27 bindings/js/CallbackFunction.cpp 28 bindings/js/DOMObjectHashTableMap.cpp 29 bindings/js/DOMWrapperWorld.cpp 30 bindings/js/Dictionary.cpp 31 bindings/js/GCController.cpp 32 bindings/js/JSArrayBufferCustom.cpp 33 bindings/js/JSAudioBufferCustom.cpp 34 bindings/js/JSAttrCustom.cpp 35 bindings/js/JSBlobCustom.cpp 36 bindings/js/JSCDATASectionCustom.cpp 37 bindings/js/JSDataViewCustom.cpp 38 bindings/js/JSCSSFontFaceRuleCustom.cpp 39 bindings/js/JSCSSImportRuleCustom.cpp 40 bindings/js/JSCSSMediaRuleCustom.cpp 41 bindings/js/JSCSSPageRuleCustom.cpp 42 bindings/js/JSCSSRuleCustom.cpp 43 bindings/js/JSCSSRuleListCustom.cpp 44 bindings/js/JSCSSStyleDeclarationCustom.cpp 45 bindings/js/JSCSSStyleRuleCustom.cpp 46 bindings/js/JSCSSValueCustom.cpp 47 bindings/js/JSCallbackData.cpp 48 bindings/js/JSCanvasRenderingContext2DCustom.cpp 49 bindings/js/JSCanvasRenderingContextCustom.cpp 50 bindings/js/JSClipboardCustom.cpp 51 bindings/js/JSConsoleCustom.cpp 52 bindings/js/JSCryptoCustom.cpp 53 bindings/js/JSCustomXPathNSResolver.cpp 54 bindings/js/JSDictionary.cpp 55 bindings/js/JSDOMBinding.cpp 56 bindings/js/JSDOMFormDataCustom.cpp 57 bindings/js/JSDOMGlobalObject.cpp 58 bindings/js/JSDOMImplementationCustom.cpp 59 bindings/js/JSDOMMimeTypeArrayCustom.cpp 60 bindings/js/JSDOMPluginArrayCustom.cpp 61 bindings/js/JSDOMPluginCustom.cpp 62 bindings/js/JSDOMStringListCustom.cpp 63 bindings/js/JSDOMStringMapCustom.cpp 64 bindings/js/JSDOMTokenListCustom.cpp 65 bindings/js/JSDOMWindowBase.cpp 66 bindings/js/JSDOMWindowCustom.cpp 67 bindings/js/JSDOMWindowShell.cpp 68 bindings/js/JSDOMWrapper.cpp 69 bindings/js/JSDeviceMotionEventCustom.cpp 70 bindings/js/JSDeviceOrientationEventCustom.cpp 71 bindings/js/JSDocumentCustom.cpp 72 bindings/js/JSElementCustom.cpp 73 bindings/js/JSErrorHandler.cpp 74 bindings/js/JSEventCustom.cpp 75 bindings/js/JSEventListener.cpp 76 bindings/js/JSEventTargetCustom.cpp 77 bindings/js/JSExceptionBase.cpp 78 bindings/js/JSGeolocationCustom.cpp 79 bindings/js/JSHTMLAllCollectionCustom.cpp 80 bindings/js/JSHTMLAppletElementCustom.cpp 81 bindings/js/JSHTMLCanvasElementCustom.cpp 82 bindings/js/JSHTMLCollectionCustom.cpp 83 bindings/js/JSHTMLDocumentCustom.cpp 84 bindings/js/JSHTMLElementCustom.cpp 85 bindings/js/JSHTMLEmbedElementCustom.cpp 86 bindings/js/JSHTMLFormControlsCollectionCustom.cpp 87 bindings/js/JSHTMLFormElementCustom.cpp 88 bindings/js/JSHTMLFrameElementCustom.cpp 89 bindings/js/JSHTMLFrameSetElementCustom.cpp 90 bindings/js/JSHTMLInputElementCustom.cpp 91 bindings/js/JSHTMLLinkElementCustom.cpp 92 bindings/js/JSHTMLMediaElementCustom.cpp 93 bindings/js/JSHTMLObjectElementCustom.cpp 94 bindings/js/JSHTMLOptionsCollectionCustom.cpp 95 bindings/js/JSHTMLSelectElementCustom.cpp 96 bindings/js/JSHTMLStyleElementCustom.cpp 97 bindings/js/JSHTMLTemplateElementCustom.cpp 98 bindings/js/JSHistoryCustom.cpp 99 bindings/js/JSImageConstructor.cpp 100 bindings/js/JSImageDataCustom.cpp 101 bindings/js/JSInjectedScriptHostCustom.cpp 102 bindings/js/JSInjectedScriptManager.cpp 103 bindings/js/JSInspectorFrontendHostCustom.cpp 104 bindings/js/JSJavaScriptCallFrameCustom.cpp 105 bindings/js/JSLazyEventListener.cpp 106 bindings/js/JSLocationCustom.cpp 107 bindings/js/JSMainThreadExecState.cpp 108 bindings/js/JSMediaListCustom.cpp 109 bindings/js/JSMessageChannelCustom.cpp 110 bindings/js/JSMessageEventCustom.cpp 111 bindings/js/JSMessagePortCustom.cpp 112 bindings/js/JSMicroDataItemValueCustom.cpp 113 bindings/js/JSMutationCallback.cpp 114 bindings/js/JSMutationObserverCustom.cpp 115 bindings/js/JSNamedNodeMapCustom.cpp 116 bindings/js/JSNodeCustom.cpp 117 bindings/js/JSNodeFilterCondition.cpp 118 bindings/js/JSNodeFilterCustom.cpp 119 bindings/js/JSNodeIteratorCustom.cpp 120 bindings/js/JSNodeListCustom.cpp 121 bindings/js/JSPluginElementFunctions.cpp 122 bindings/js/JSPopStateEventCustom.cpp 123 bindings/js/JSProcessingInstructionCustom.cpp 124 bindings/js/JSStorageCustom.cpp 125 bindings/js/JSStyleSheetCustom.cpp 126 bindings/js/JSStyleSheetListCustom.cpp 127 bindings/js/JSTextCustom.cpp 128 bindings/js/JSTouchCustom.cpp 129 bindings/js/JSTouchListCustom.cpp 130 bindings/js/JSTreeWalkerCustom.cpp 131 bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp 132 bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp 133 bindings/js/JSWebKitPointCustom.cpp 134 bindings/js/JSXMLHttpRequestCustom.cpp 135 bindings/js/JSXMLHttpRequestUploadCustom.cpp 136 bindings/js/JSXPathResultCustom.cpp 137 bindings/js/JSXSLTProcessorCustom.cpp 138 bindings/js/JavaScriptCallFrame.cpp 139 bindings/js/PageScriptDebugServer.cpp 140 bindings/js/ScheduledAction.cpp 141 bindings/js/ScriptCachedFrameData.cpp 142 bindings/js/ScriptCallStackFactory.cpp 143 bindings/js/ScriptController.cpp 144 bindings/js/ScriptDebugServer.cpp 145 bindings/js/ScriptEventListener.cpp 146 bindings/js/ScriptFunctionCall.cpp 147 bindings/js/ScriptGCEvent.cpp 148 bindings/js/ScriptObject.cpp 149 bindings/js/ScriptProfile.cpp 150 bindings/js/ScriptProfiler.cpp 151 bindings/js/ScriptState.cpp 152 bindings/js/ScriptValue.cpp 153 bindings/js/SerializedScriptValue.cpp 154 155 bridge/IdentifierRep.cpp 156 bridge/NP_jsobject.cpp 157 bridge/npruntime.cpp 158 bridge/runtime_array.cpp 159 bridge/runtime_method.cpp 160 bridge/runtime_object.cpp 161 bridge/runtime_root.cpp 162 163 bridge/c/CRuntimeObject.cpp 164 bridge/c/c_class.cpp 165 bridge/c/c_instance.cpp 166 bridge/c/c_runtime.cpp 167 bridge/c/c_utility.cpp 168 169 bridge/jsc/BridgeJSC.cpp 170) 171 172list(APPEND WebCoreTestSupport_SOURCES 173 testing/js/WebCoreTestSupport.cpp 174) 175 176if (ENABLE_BLOB) 177 list(APPEND WebCore_SOURCES 178 bindings/js/JSFileReaderCustom.cpp 179 ) 180endif () 181 182if (ENABLE_REQUEST_ANIMATION_FRAME) 183 list(APPEND WebCore_SOURCES 184 bindings/js/JSRequestAnimationFrameCallbackCustom.cpp 185 ) 186endif () 187 188if (ENABLE_SQL_DATABASE) 189 list(APPEND WebCore_SOURCES 190 bindings/js/JSCustomSQLStatementErrorCallback.cpp 191 bindings/js/JSSQLResultSetRowListCustom.cpp 192 bindings/js/JSSQLTransactionCustom.cpp 193 bindings/js/JSSQLTransactionSyncCustom.cpp 194 ) 195endif () 196 197if (ENABLE_INDEXED_DATABASE) 198 list(APPEND WebCore_SOURCES 199 bindings/js/IDBBindingUtilities.cpp 200 bindings/js/JSIDBAnyCustom.cpp 201 bindings/js/JSIDBDatabaseCustom.cpp 202 bindings/js/JSIDBObjectStoreCustom.cpp 203 ) 204endif () 205 206if (ENABLE_WORKERS) 207 list(APPEND WebCore_SOURCES 208 bindings/js/JSDedicatedWorkerContextCustom.cpp 209 bindings/js/JSWorkerContextBase.cpp 210 bindings/js/JSWorkerContextCustom.cpp 211 bindings/js/JSWorkerCustom.cpp 212 bindings/js/WorkerScriptController.cpp 213 bindings/js/WorkerScriptDebugServer.cpp 214 ) 215endif () 216 217if (ENABLE_VIDEO_TRACK) 218 list(APPEND WebCore_SOURCES 219 bindings/js/JSAudioTrackCustom.cpp 220 bindings/js/JSAudioTrackListCustom.cpp 221 bindings/js/JSTextTrackCueCustom.cpp 222 bindings/js/JSTextTrackCustom.cpp 223 bindings/js/JSTextTrackListCustom.cpp 224 bindings/js/JSTrackCustom.cpp 225 bindings/js/JSTrackEventCustom.cpp 226 bindings/js/JSVideoTrackCustom.cpp 227 bindings/js/JSVideoTrackListCustom.cpp 228 ) 229endif () 230 231if (ENABLE_SHARED_WORKERS) 232 list(APPEND WebCore_SOURCES 233 bindings/js/JSSharedWorkerCustom.cpp 234 ) 235endif () 236 237if (ENABLE_FILE_SYSTEM) 238 list(APPEND WebCore_SOURCES 239 bindings/js/JSEntryCustom.cpp 240 bindings/js/JSEntrySyncCustom.cpp 241 ) 242endif () 243 244if (ENABLE_SVG) 245 list(APPEND WebCore_SOURCES 246 bindings/js/JSSVGElementInstanceCustom.cpp 247 bindings/js/JSSVGLengthCustom.cpp 248 bindings/js/JSSVGPathSegCustom.cpp 249 ) 250endif () 251 252if (ENABLE_WEBGL) 253 list(APPEND WebCore_SOURCES 254 bindings/js/JSWebGLRenderingContextCustom.cpp 255 ) 256endif () 257 258if (ENABLE_WEB_AUDIO) 259 list(APPEND WebCore_SOURCES 260 bindings/js/JSAudioBufferSourceNodeCustom.cpp 261 bindings/js/JSAudioContextCustom.cpp 262 bindings/js/JSBiquadFilterNodeCustom.cpp 263 bindings/js/JSOscillatorNodeCustom.cpp 264 bindings/js/JSPannerNodeCustom.cpp 265 ) 266endif () 267 268if (ENABLE_MEDIA_STREAM) 269 list(APPEND WebCore_SOURCES 270 bindings/js/JSRTCStatsResponseCustom.cpp 271 ) 272endif () 273 274list(APPEND SCRIPTS_BINDINGS 275 ${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm 276 ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm 277) 278 279set(IDL_INCLUDES "") 280foreach (_include ${WebCore_IDL_INCLUDES}) 281 list(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include}) 282endforeach () 283 284foreach (_include ${WebCoreTestSupport_IDL_INCLUDES}) 285 list(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include}) 286endforeach () 287 288set(FEATURE_DEFINES_JAVASCRIPT "LANGUAGE_JAVASCRIPT=1 ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}") 289 290# Create JavaScript C++ code given an IDL input 291foreach (_idl ${WebCore_IDL_FILES}) 292 set(IDL_FILES_LIST "${IDL_FILES_LIST}${WEBCORE_DIR}/${_idl}\n") 293endforeach () 294 295foreach (_idl ${WebCoreTestSupport_IDL_FILES}) 296 set(IDL_FILES_LIST "${IDL_FILES_LIST}${WEBCORE_DIR}/${_idl}\n") 297endforeach () 298 299set(IDL_FILES_LIST "${IDL_FILES_LIST}${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.idl\n") 300list(APPEND IDL_INCLUDES --include=${DERIVED_SOURCES_WEBCORE_DIR}) 301list(APPEND WebCoreTestSupport_IDL_FILES ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.idl) 302 303file(WRITE ${IDL_FILES_TMP} ${IDL_FILES_LIST}) 304 305add_custom_command( 306 OUTPUT ${SUPPLEMENTAL_DEPENDENCY_FILE} ${WINDOW_CONSTRUCTORS_FILE} ${WORKERCONTEXT_CONSTRUCTORS_FILE} 307 DEPENDS ${WEBCORE_DIR}/bindings/scripts/preprocess-idls.pl ${SCRIPTS_PREPROCESS_IDLS} ${WebCore_IDL_FILES} ${WebCoreTestSupport_IDL_FILES} 308 COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/preprocess-idls.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --idlFilesList ${IDL_FILES_TMP} --supplementalDependencyFile ${SUPPLEMENTAL_DEPENDENCY_FILE} --windowConstructorsFile ${WINDOW_CONSTRUCTORS_FILE} --workerContextConstructorsFile ${WORKERCONTEXT_CONSTRUCTORS_FILE} 309 VERBATIM) 310 311GENERATE_BINDINGS(WebCore_SOURCES 312 "${WebCore_IDL_FILES}" 313 "${WEBCORE_DIR}" 314 "${IDL_INCLUDES}" 315 "${FEATURE_DEFINES_JAVASCRIPT}" 316 ${DERIVED_SOURCES_WEBCORE_DIR} JS JS 317 ${IDL_ATTRIBUTES_FILE} 318 ${SUPPLEMENTAL_DEPENDENCY_FILE} 319 ${WINDOW_CONSTRUCTORS_FILE} 320 ${WORKERCONTEXT_CONSTRUCTORS_FILE}) 321 322GENERATE_BINDINGS(WebCoreTestSupport_SOURCES 323 "${WebCoreTestSupport_IDL_FILES}" 324 "${WEBCORE_DIR}" 325 "${IDL_INCLUDES}" 326 "${FEATURE_DEFINES_JAVASCRIPT}" 327 ${DERIVED_SOURCES_WEBCORE_DIR} JS JS 328 ${IDL_ATTRIBUTES_FILE} 329 ${SUPPLEMENTAL_DEPENDENCY_FILE} 330 ${WINDOW_CONSTRUCTORS_FILE} 331 ${WORKERCONTEXT_CONSTRUCTORS_FILE}) 332