Source/WebCore/ChangeLog

 12011-10-14 Jaehoon Jeong <jh4u.jeong@samsung.com>
 2
 3 Reviewed by NOBODY (OOPS!).
 4
 5 [CMAKE] Add the UseV8.cmake to WebCore.
 6 https://bugs.webkit.org/show_bug.cgi?id=XXXXX
 7
 8 Add the UseV8.cmake to WebCore to build bindings of V8 and
 9 generate JavaScript codes given IDL input.
 10
 11 * UseV8.cmake: Added.
 12
1132011-10-03 Andy Estes <aestes@apple.com>
214
315 Add the option to suppress rendering until the document's load event fires.

Source/WebCore/UseV8.cmake

 1ADD_DEFINITIONS(-DUSING_V8_SHARED)
 2ADD_DEFINITIONS(-DWTF_CHANGES=1)
 3
 4LIST(APPEND WebCore_INCLUDE_DIRECTORIES
 5 "${WEBCORE_DIR}/bindings/v8"
 6 "${WEBCORE_DIR}/bindings/v8/custom"
 7 "${WEBCORE_DIR}/bindings/v8/specialization"
 8 "${JAVASCRIPTCORE_DIR}/runtime"
 9)
 10
 11LIST(APPEND WebCore_IDL_INCLUDES
 12 bindings/v8
 13)
 14
 15LIST(APPEND WebCore_SOURCES
 16 bindings/v8/DateExtension.cpp
 17 bindings/v8/DOMData.cpp
 18 bindings/v8/DOMDataStore.cpp
 19 bindings/v8/DOMWrapperWorld.cpp
 20 bindings/v8/IDBBindingUtilities.cpp
 21 bindings/v8/IsolatedWorld.cpp
 22 bindings/v8/npruntime.cpp
 23 bindings/v8/OptionsObject.cpp
 24 bindings/v8/PageScriptDebugServer.cpp
 25 bindings/v8/RetainedDOMInfo.cpp
 26 bindings/v8/ScheduledAction.cpp
 27 bindings/v8/ScopedDOMDataStore.cpp
 28 bindings/v8/ScriptCachedFrameData.cpp
 29 bindings/v8/ScriptCallStackFactory.cpp
 30 bindings/v8/ScriptController.cpp
 31 bindings/v8/ScriptEventListener.cpp
 32 bindings/v8/ScriptFunctionCall.cpp
 33 bindings/v8/ScriptGCEvent.cpp
 34 bindings/v8/ScriptInstance.cpp
 35 bindings/v8/ScriptObject.cpp
 36 bindings/v8/ScriptScope.cpp
 37 bindings/v8/ScriptState.cpp
 38 bindings/v8/ScriptValue.cpp
 39 bindings/v8/SerializedScriptValue.cpp
 40 bindings/v8/StaticDOMDataStore.cpp
 41 bindings/v8/V8AbstractEventListener.cpp
 42 bindings/v8/V8Binding.cpp
 43 bindings/v8/V8Collection.cpp
 44 bindings/v8/V8DOMMap.cpp
 45 bindings/v8/V8DOMWindowShell.cpp
 46 bindings/v8/V8DOMWrapper.cpp
 47 bindings/v8/V8EventListener.cpp
 48 bindings/v8/V8EventListenerList.cpp
 49 bindings/v8/V8GCController.cpp
 50 bindings/v8/V8GCForContextDispose.cpp
 51 bindings/v8/V8Helpers.cpp
 52 bindings/v8/V8HiddenPropertyName.cpp
 53 bindings/v8/V8IsolatedContext.cpp
 54 bindings/v8/V8LazyEventListener.cpp
 55 bindings/v8/V8NodeFilterCondition.cpp
 56 bindings/v8/V8Proxy.cpp
 57 bindings/v8/V8Utilities.cpp
 58 bindings/v8/V8WindowErrorHandler.cpp
 59 bindings/v8/V8WorkerContextErrorHandler.cpp
 60 bindings/v8/V8WorkerContextEventListener.cpp
 61 bindings/v8/WorldContextHandle.cpp
 62 bindings/v8/WorkerContextExecutionProxy.cpp
 63 bindings/v8/WorkerScriptController.cpp
 64 bindings/v8/WorkerScriptDebugServer.cpp
 65
 66 bindings/v8/custom/V8ArrayBufferCustom.cpp
 67 bindings/v8/custom/V8ArrayBufferViewCustom.cpp
 68 bindings/v8/custom/V8AudioContextCustom.cpp
 69 bindings/v8/custom/V8AudioNodeCustom.cpp
 70 bindings/v8/custom/V8CanvasPixelArrayCustom.cpp
 71 bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
 72 bindings/v8/custom/V8ClipboardCustom.cpp
 73 bindings/v8/custom/V8ConsoleCustom.cpp
 74 bindings/v8/custom/V8CoordinatesCustom.cpp
 75 bindings/v8/custom/V8CustomXPathNSResolver.cpp
 76 bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp
 77 bindings/v8/custom/V8CustomVoidCallback.cpp
 78 bindings/v8/custom/V8CSSRuleCustom.cpp
 79 bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp
 80 bindings/v8/custom/V8CSSStyleSheetCustom.cpp
 81 bindings/v8/custom/V8CSSValueCustom.cpp
 82 bindings/v8/custom/V8DataViewCustom.cpp
 83 bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp
 84 bindings/v8/custom/V8DeviceMotionEventCustom.cpp
 85 bindings/v8/custom/V8DeviceOrientationEventCustom.cpp
 86 bindings/v8/custom/V8DirectoryEntryCustom.cpp
 87 bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp
 88 bindings/v8/custom/V8DocumentCustom.cpp
 89 bindings/v8/custom/V8DocumentLocationCustom.cpp
 90 bindings/v8/custom/V8DOMTokenListCustom.cpp
 91 bindings/v8/custom/V8DOMSettableTokenListCustom.cpp
 92 bindings/v8/custom/V8DOMStringMapCustom.cpp
 93 bindings/v8/custom/V8DOMFormDataCustom.cpp
 94 bindings/v8/custom/V8DOMWindowCustom.cpp
 95 bindings/v8/custom/V8ElementCustom.cpp
 96 bindings/v8/custom/V8EntrySyncCustom.cpp
 97 bindings/v8/custom/V8EventConstructors.cpp
 98 bindings/v8/custom/V8EventCustom.cpp
 99 bindings/v8/custom/V8FileReaderCustom.cpp
 100 bindings/v8/custom/V8Float32ArrayCustom.cpp
 101 bindings/v8/custom/V8Float64ArrayCustom.cpp
 102 bindings/v8/custom/V8GeolocationCustom.cpp
 103 bindings/v8/custom/V8HistoryCustom.cpp
 104 bindings/v8/custom/V8HTMLAllCollectionCustom.cpp
 105 bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
 106 bindings/v8/custom/V8HTMLCollectionCustom.cpp
 107 bindings/v8/custom/V8HTMLDocumentCustom.cpp
 108 bindings/v8/custom/V8HTMLElementCustom.cpp
 109 bindings/v8/custom/V8HTMLFormElementCustom.cpp
 110 bindings/v8/custom/V8HTMLFrameElementCustom.cpp
 111 bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp
 112 bindings/v8/custom/V8HTMLImageElementConstructor.cpp
 113 bindings/v8/custom/V8HTMLInputElementCustom.cpp
 114 bindings/v8/custom/V8HTMLLinkElementCustom.cpp
 115 bindings/v8/custom/V8HTMLOptionElementConstructor.cpp
 116 bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
 117 bindings/v8/custom/V8HTMLOutputElementCustom.cpp
 118 bindings/v8/custom/V8HTMLPlugInElementCustom.cpp
 119 bindings/v8/custom/V8HTMLSelectElementCustom.cpp
 120 bindings/v8/custom/V8IDBAnyCustom.cpp
 121 bindings/v8/custom/V8IDBKeyCustom.cpp
 122 bindings/v8/custom/V8InjectedScriptHostCustom.cpp
 123 bindings/v8/custom/V8InjectedScriptManager.cpp
 124 bindings/v8/custom/V8InspectorFrontendHostCustom.cpp
 125 bindings/v8/custom/V8Int8ArrayCustom.cpp
 126 bindings/v8/custom/V8Int16ArrayCustom.cpp
 127 bindings/v8/custom/V8Int32ArrayCustom.cpp
 128 bindings/v8/custom/V8ImageDataCustom.cpp
 129 bindings/v8/custom/V8LocationCustom.cpp
 130 bindings/v8/custom/V8MessageChannelConstructor.cpp
 131 bindings/v8/custom/V8MessagePortCustom.cpp
 132 bindings/v8/custom/V8MessageEventCustom.cpp
 133 bindings/v8/custom/V8NamedNodeMapCustom.cpp
 134 bindings/v8/custom/V8NamedNodesCollection.cpp
 135 bindings/v8/custom/V8NavigatorCustom.cpp
 136 bindings/v8/custom/V8NodeCustom.cpp
 137 bindings/v8/custom/V8NodeListCustom.cpp
 138 bindings/v8/custom/V8NotificationCenterCustom.cpp
 139 bindings/v8/custom/V8PerformanceCustom.cpp
 140 bindings/v8/custom/V8PopStateEventCustom.cpp
 141 bindings/v8/custom/V8StorageCustom.cpp
 142 bindings/v8/custom/V8StyleSheetCustom.cpp
 143 bindings/v8/custom/V8StyleSheetListCustom.cpp
 144 bindings/v8/custom/V8SQLResultSetRowListCustom.cpp
 145 bindings/v8/custom/V8SQLTransactionCustom.cpp
 146 bindings/v8/custom/V8SQLTransactionSyncCustom.cpp
 147 bindings/v8/custom/V8Uint8ArrayCustom.cpp
 148 bindings/v8/custom/V8Uint16ArrayCustom.cpp
 149 bindings/v8/custom/V8Uint32ArrayCustom.cpp
 150 bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
 151 bindings/v8/custom/V8WebKitAnimationCustom.cpp
 152 bindings/v8/custom/V8WebKitPointConstructor.cpp
 153 bindings/v8/custom/V8WebSocketCustom.cpp
 154 bindings/v8/custom/V8WorkerContextCustom.cpp
 155 bindings/v8/custom/V8WorkerCustom.cpp
 156 bindings/v8/custom/V8XMLHttpRequestConstructor.cpp
 157 bindings/v8/custom/V8XMLHttpRequestCustom.cpp
 158 bindings/v8/custom/V8XSLTProcessorCustom.cpp
 159
 160 bindings/v8/specialization/V8BindingState.cpp
 161)
 162
 163LIST(APPEND WebCore_SOURCES
 164 ${JAVASCRIPTCORE_DIR}/yarr/YarrPattern.cpp
 165 ${JAVASCRIPTCORE_DIR}/yarr/YarrInterpreter.cpp
 166 ${JAVASCRIPTCORE_DIR}/yarr/YarrJIT.cpp
 167 ${JAVASCRIPTCORE_DIR}/yarr/YarrSyntaxChecker.cpp
 168)
 169
 170IF (ENABLE_JAVASCRIPT_DEBUGGER)
 171 LIST(APPEND WebCore_SOURCES
 172 bindings/v8/JavaScriptCallFrame.cpp
 173 bindings/v8/ScriptDebugServer.cpp
 174 bindings/v8/ScriptHeapSnapshot.cpp
 175 bindings/v8/ScriptProfile.cpp
 176 bindings/v8/ScriptProfileNode.cpp
 177 bindings/v8/ScriptProfiler.cpp
 178
 179 bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp
 180 bindings/v8/custom/V8ScriptProfileCustom.cpp
 181 bindings/v8/custom/V8ScriptProfileNodeCustom.cpp
 182 )
 183ENDIF ()
 184
 185IF (ENABLE_NETSCAPE_PLUGIN_API)
 186 LIST(APPEND WebCore_SOURCES
 187 bindings/v8/NPV8Object.cpp
 188 bindings/v8/V8NPObject.cpp
 189 bindings/v8/V8NPUtils.cpp
 190 )
 191ENDIF()
 192
 193IF (ENABLE_VIDEO)
 194 LIST(APPEND WebCore_SOURCES
 195 bindings/v8/custom/V8HTMLAudioElementConstructor.cpp
 196 )
 197ENDIF ()
 198
 199IF (ENABLE_SVG)
 200 LIST(APPEND WebCore_SOURCES
 201 bindings/v8/custom/V8SVGDocumentCustom.cpp
 202 bindings/v8/custom/V8SVGElementCustom.cpp
 203 bindings/v8/custom/V8SVGLengthCustom.cpp
 204 bindings/v8/custom/V8SVGPathSegCustom.cpp
 205 )
 206ENDIF ()
 207
 208LIST(APPEND SCRIPTS_BINDINGS
 209 ${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
 210)
 211
 212SET(IDL_INCLUDES "")
 213FOREACH (_include ${WebCore_IDL_INCLUDES})
 214 LIST(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include})
 215ENDFOREACH ()
 216
 217SET(FEATURE_DEFINES_JAVASCRIPT "LANGUAGE_JAVASCRIPT=1")
 218FOREACH (_feature ${FEATURE_DEFINES})
 219 SET(FEATURE_DEFINES_JAVASCRIPT "${FEATURE_DEFINES_JAVASCRIPT} ${_feature}")
 220 SET(FEATURE_DEFINES_JAVASCRIPT "${FEATURE_DEFINES_JAVASCRIPT} V8_BINDING=1")
 221ENDFOREACH ()
 222
 223# Generate DebuggerScriptSource.h
 224ADD_CUSTOM_COMMAND(
 225 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/DebuggerScriptSource.h
 226 MAIN_DEPENDENCY bindings/v8/DebuggerScript.js
 227 COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/inspector/xxd.pl DebuggerScriptSource_js ${WEBCORE_DIR}/bindings/v8/DebuggerScript.js ${DERIVED_SOURCES_WEBCORE_DIR}/DebuggerScriptSource.h
 228 VERBATIM)
 229LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/DebuggerScriptSource.h)
 230
 231#GENERATOR: "RegExpJitTables.h": tables used by Yarr
 232ADD_CUSTOM_COMMAND(
 233 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/RegExpJitTables.h
 234 MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/create_regex_tables
 235 COMMAND ${PYTHON_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/create_regex_tables > ${DERIVED_SOURCES_WEBCORE_DIR}/RegExpJitTables.h
 236 VERBATIM)
 237ADD_SOURCE_DEPENDENCIES(${JAVASCRIPTCORE_DIR}/yarr/YarrPattern.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/RegExpJitTables.h)
 238
 239# Generate V8ArrayBufferViewCustomScript.h
 240ADD_CUSTOM_COMMAND(
 241 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/V8ArrayBufferViewCustomScript.h
 242 MAIN_DEPENDENCY bindings/v8/custom/V8ArrayBufferViewCustomScript.js
 243 COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/inspector/xxd.pl V8ArrayBufferViewCustomScript_js ${WEBCORE_DIR}/bindings/v8/custom/V8ArrayBufferViewCustomScript.js ${DERIVED_SOURCES_WEBCORE_DIR}/V8ArrayBufferViewCustomScript.h
 244 VERBATIM)
 245LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/V8ArrayBufferViewCustomScript.h)
 246
 247# Create JavaScript C++ code given an IDL input
 248FOREACH (_file ${WebCore_IDL_FILES})
 249 GET_FILENAME_COMPONENT (_name ${_file} NAME_WE)
 250 ADD_CUSTOM_COMMAND(
 251 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/V8${_name}.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/V8${_name}.h
 252 MAIN_DEPENDENCY ${_file}
 253 DEPENDS ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl ${SCRIPTS_BINDINGS} ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorV8.pm ${_file}
 254 COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --generator V8 ${IDL_INCLUDES} --outputDir "${DERIVED_SOURCES_WEBCORE_DIR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${WEBCORE_DIR}/${_file}
 255 VERBATIM)
 256 LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/V8${_name}.cpp)
 257ENDFOREACH ()