Source/WebCore/ChangeLog

 12011-12-30 Kentaro Hara <haraken@chromium.org>
 2
 3 Enable the [Supplemental] IDL on Efl
 4 https://bugs.webkit.org/show_bug.cgi?id=75345
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 This patch enables the [Supplemental] IDL on Efl by changing the build
 9 flow of Efl as follows.
 10
 11 - Previous build flow:
 12 foreach $idl (all IDL files) {
 13 generate-bindings.pl depends on $idl;
 14 generate-bindings.pl reads $idl;
 15 generate-bindings.pl generates .h and .cpp files for $idl;
 16 }
 17
 18 - New build flow (See the discussions in bug 72138 for more details):
 19 resolve-supplemental.pl depends on all IDL files;
 20 resolve-supplemental.pl reads all IDL files;
 21 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
 22 resolve-supplemental.pl outputs supplemental_dependency.tmp;
 23 foreach $idl (all IDL files) {
 24 generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
 25 generate-bindings.pl reads $idl;
 26 generate-bindings.pl reads supplemental_dependency.tmp;
 27 generate-bindings.pl generates .h and .cpp files for $idl,
 28 including all attributes in the IDL files that are implementing $idl;
 29 }
 30
 31 Tests: Confirm that build succeeds.
 32 http/tests/websocket/tests/*
 33
 34 * CMakeLists.txt:
 35 * UseJSC.cmake: Described the above build.
 36
1372011-12-29 Julien Chaffraix <jchaffraix@webkit.org>
238
339 REGRESSION (r93614): Safari Reader doesn't repaint correctly when scrolling

Source/WebCore/CMakeLists.txt

@@SET(WebCore_IDL_FILES
370370 webaudio/AudioSourceNode.idl
371371 webaudio/ConvolverNode.idl
372372 webaudio/DelayNode.idl
 373 webaudio/DOMWindowWebAudio.idl
373374 webaudio/HighPass2FilterNode.idl
374375 webaudio/JavaScriptAudioNode.idl
375376 webaudio/LowPass2FilterNode.idl
376377 webaudio/RealtimeAnalyserNode.idl
377378
378379 websockets/CloseEvent.idl
 380 websockets/DOMWindowWebSocket.idl
379381
380382 xml/DOMParser.idl
381383 xml/XMLHttpRequest.idl

@@IF (ENABLE_REQUEST_ANIMATION_FRAME)
22182220ENDIF ()
22192221
22202222# Modules that the bindings generator scripts may use
 2223SET(SCRIPTS_RESOLVE_SUPPLEMENTAL
 2224 ${WEBCORE_DIR}/bindings/scripts/IDLParser.pm
 2225)
22212226SET(SCRIPTS_BINDINGS
22222227 ${WEBCORE_DIR}/bindings/scripts/IDLParser.pm
22232228 ${WEBCORE_DIR}/bindings/scripts/IDLStructure.pm
22242229 ${WEBCORE_DIR}/bindings/scripts/InFilesParser.pm
22252230 ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
22262231)
 2232SET(IDL_FILES_TMP ${DERIVED_SOURCES_WEBCORE_DIR}/idl_files.tmp)
 2233SET(SUPPLEMENTAL_DEPENDENCY_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/supplemental_dependency.tmp)
22272234
22282235INCLUDE(${WEBCORE_DIR}/UseJSC.cmake)
22292236

Source/WebCore/UseJSC.cmake

@@FOREACH (_feature ${FEATURE_DEFINES})
258258ENDFOREACH ()
259259
260260# Create JavaScript C++ code given an IDL input
 261SET(IDL_FILES_LIST "")
 262FOREACH (_idl ${WebCore_IDL_FILES})
 263 SET(IDL_FILES_LIST "${IDL_FILES_LIST} ${WEBCORE_DIR}/${_idl}")
 264ENDFOREACH ()
 265
 266ADD_CUSTOM_COMMAND(
 267 OUTPUT ${SUPPLEMENTAL_DEPENDENCY_FILE}
 268 MAIN_DEPENDENCY ${SCRIPTS_RESOLVE_SUPPLEMENTAL} ${WebCore_IDL_FILES}
 269 DEPENDS ${WEBCORE_DIR}/bindings/scripts/resolve-supplemental.pl ${SCRIPTS_RESOLVE_SUPPLEMENTAL} ${WebCore_IDL_FILES}
 270 COMMAND echo ${IDL_FILES_LIST} | tr ' ' '\n' > ${IDL_FILES_TMP}
 271 COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/resolve-supplemental.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --idlFilesList ${IDL_FILES_TMP} --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --supplementalDependencyFile ${SUPPLEMENTAL_DEPENDENCY_FILE}
 272 COMMAND cat ${IDL_FILES_TMP}
 273 COMMAND cat ${SUPPLEMENTAL_DEPENDENCY_FILE}
 274 VERBATIM)
 275
261276FOREACH (_file ${WebCore_IDL_FILES})
262277 GET_FILENAME_COMPONENT (_name ${_file} NAME_WE)
263278 ADD_CUSTOM_COMMAND(
264279 OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.h
265  MAIN_DEPENDENCY ${_file}
266  DEPENDS ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl ${SCRIPTS_BINDINGS} ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm ${_file}
267  COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --generator JS ${IDL_INCLUDES} --outputDir "${DERIVED_SOURCES_WEBCORE_DIR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${WEBCORE_DIR}/${_file}
 280 MAIN_DEPENDENCY ${_file} ${SUPPLEMENTAL_DEPENDENCY_FILE}
 281 DEPENDS ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl ${SCRIPTS_BINDINGS} ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm ${_file} ${SUPPLEMENTAL_DEPENDENCY_FILE}
 282 COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --generator JS ${IDL_INCLUDES} --outputDir "${DERIVED_SOURCES_WEBCORE_DIR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --supplementalDependencyFile ${SUPPLEMENTAL_DEPENDENCY_FILE} ${WEBCORE_DIR}/${_file}
268283 VERBATIM)
269284 LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_name}.cpp)
270285ENDFOREACH ()