Support external keyboard function (SelectAll, Cut, Copy, Paste)
[framework/web/webkit-efl.git] / Source / WebCore / PlatformBlackBerry.cmake
1 LIST(INSERT WebCore_INCLUDE_DIRECTORIES 0
2     "${BLACKBERRY_THIRD_PARTY_DIR}" # For <unicode.h>, which is included from <sys/keycodes.h>.
3     "${BLACKBERRY_THIRD_PARTY_DIR}/icu"
4 )
5
6 LIST(APPEND WebCore_INCLUDE_DIRECTORIES
7     "${WEBCORE_DIR}/bindings/cpp"
8     "${WEBCORE_DIR}/platform/blackberry/CookieDatabaseBackingStore"
9     "${WEBCORE_DIR}/platform/network/blackberry"
10     "${WEBCORE_DIR}/platform/graphics/blackberry/skia"
11     "${WEBCORE_DIR}/platform/graphics/harfbuzz"
12     "${WEBCORE_DIR}/platform/graphics/opentype/"
13     "${WEBCORE_DIR}/platform/graphics/skia"
14     "${WEBCORE_DIR}/platform/image-decoders/skia"
15     "${WEBCORE_DIR}/platform/image-encoders/skia"
16 )
17
18 # Skia sources
19 LIST(APPEND WebCore_SOURCES
20     platform/graphics/skia/FloatPointSkia.cpp
21     platform/graphics/skia/FloatRectSkia.cpp
22     platform/graphics/skia/FontCustomPlatformData.cpp
23     platform/graphics/skia/GradientSkia.cpp
24     platform/graphics/skia/GraphicsContext3DSkia.cpp
25     platform/graphics/skia/GraphicsContextSkia.cpp
26     platform/graphics/skia/HarfbuzzSkia.cpp
27     platform/graphics/skia/ImageBufferSkia.cpp
28     platform/graphics/skia/ImageSkia.cpp
29     platform/graphics/skia/IntPointSkia.cpp
30     platform/graphics/skia/IntRectSkia.cpp
31     platform/graphics/skia/NativeImageSkia.cpp
32     platform/graphics/skia/PathSkia.cpp
33     platform/graphics/skia/PatternSkia.cpp
34     platform/graphics/skia/PlatformContextSkia.cpp
35     platform/graphics/skia/SkiaUtils.cpp
36     platform/graphics/skia/TransformationMatrixSkia.cpp
37     platform/graphics/chromium/VDMXParser.cpp
38     platform/image-decoders/skia/ImageDecoderSkia.cpp
39     platform/image-encoders/skia/PNGImageEncoder.cpp
40 )
41
42 # Skia font backend sources
43 LIST(APPEND WebCore_SOURCES
44     platform/graphics/blackberry/skia/PlatformBridge.cpp
45     platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp
46     platform/graphics/harfbuzz/FontHarfBuzz.cpp
47     platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp
48     platform/graphics/harfbuzz/HarfBuzzShaper.cpp
49     platform/graphics/harfbuzz/HarfBuzzSkia.cpp
50     platform/graphics/skia/FontCacheSkia.cpp
51     platform/graphics/skia/GlyphPageTreeNodeSkia.cpp
52     platform/graphics/skia/SimpleFontDataSkia.cpp
53 )
54
55 # Other sources
56 LIST(APPEND WebCore_SOURCES
57     bindings/cpp/WebDOMCString.cpp
58     bindings/cpp/WebDOMEventTarget.cpp
59     bindings/cpp/WebDOMString.cpp
60     bindings/cpp/WebExceptionHandler.cpp
61     platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp
62     platform/blackberry/CookieManager.cpp
63     platform/blackberry/CookieMap.cpp
64     platform/blackberry/CookieParser.cpp
65     platform/blackberry/FileSystemBlackBerry.cpp
66     platform/blackberry/ParsedCookie.cpp
67     platform/graphics/ImageSource.cpp
68     platform/graphics/WOFFFileFormat.cpp
69     platform/graphics/opentype/OpenTypeSanitizer.cpp
70     platform/image-decoders/ImageDecoder.cpp
71     platform/image-decoders/bmp/BMPImageDecoder.cpp
72     platform/image-decoders/bmp/BMPImageReader.cpp
73     platform/image-decoders/gif/GIFImageDecoder.cpp
74     platform/image-decoders/gif/GIFImageReader.cpp
75     platform/image-decoders/ico/ICOImageDecoder.cpp
76     platform/image-decoders/jpeg/JPEGImageDecoder.cpp
77     platform/image-decoders/png/PNGImageDecoder.cpp
78     platform/image-decoders/webp/WEBPImageDecoder.cpp
79     platform/image-encoders/JPEGImageEncoder.cpp
80     platform/image-encoders/skia/JPEGImageEncoder.cpp
81     platform/posix/FileSystemPOSIX.cpp
82     platform/posix/SharedBufferPOSIX.cpp
83     platform/text/TextBreakIteratorICU.cpp
84     platform/text/TextCodecICU.cpp
85     platform/text/TextEncodingDetectorICU.cpp
86     platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp
87 )
88
89 # Networking sources
90 LIST(APPEND WebCore_SOURCES
91     platform/network/MIMESniffing.cpp
92     platform/network/ProxyServer.cpp
93     platform/network/blackberry/AutofillBackingStore.cpp
94     platform/network/blackberry/DeferredData.cpp
95     platform/network/blackberry/NetworkJob.cpp
96     platform/network/blackberry/NetworkManager.cpp
97     platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
98     platform/network/blackberry/ProxyServerBlackBerry.cpp
99     platform/network/blackberry/ResourceErrorBlackBerry.cpp
100     platform/network/blackberry/ResourceHandleBlackBerry.cpp
101     platform/network/blackberry/ResourceRequestBlackBerry.cpp
102     platform/network/blackberry/ResourceResponseBlackBerry.cpp
103     platform/network/blackberry/SocketStreamHandleBlackBerry.cpp
104 )
105
106 LIST(APPEND WebCore_USER_AGENT_STYLE_SHEETS
107     ${WEBCORE_DIR}/css/mediaControlsBlackBerry.css
108     ${WEBCORE_DIR}/css/themeBlackBerry.css
109 )
110
111 LIST(APPEND WebCore_INCLUDE_DIRECTORIES
112     "${WEBCORE_DIR}/bridge/blackberry"
113     "${WEBCORE_DIR}/history/blackberry"
114     "${WEBCORE_DIR}/page/blackberry"
115     "${WEBCORE_DIR}/platform/blackberry"
116     "${WEBCORE_DIR}/platform/graphics/blackberry"
117     "${WEBCORE_DIR}/platform/image-decoders/bmp"
118     "${WEBCORE_DIR}/platform/image-decoders/gif"
119     "${WEBCORE_DIR}/platform/image-decoders/ico"
120     "${WEBCORE_DIR}/platform/image-decoders/jpeg"
121     "${WEBCORE_DIR}/platform/image-decoders/png"
122     "${WEBCORE_DIR}/platform/image-encoders"
123     "${WEBCORE_DIR}/platform/network/blackberry"
124     "${WEBCORE_DIR}/platform/text/blackberry"
125     "${WEBKIT_DIR}/blackberry/Api"
126     "${WEBKIT_DIR}/blackberry/WebCoreSupport"
127     "${WEBKIT_DIR}/blackberry/WebKitSupport"
128 )
129
130 # BlackBerry sources
131 LIST(APPEND WebCore_SOURCES
132     bindings/js/ScriptControllerBlackBerry.cpp
133     editing/blackberry/EditorBlackBerry.cpp
134     editing/blackberry/SmartReplaceBlackBerry.cpp
135     page/blackberry/AccessibilityObjectBlackBerry.cpp
136     page/blackberry/DragControllerBlackBerry.cpp
137     page/blackberry/EventHandlerBlackBerry.cpp
138     page/blackberry/SettingsBlackBerry.cpp
139     platform/blackberry/ClipboardBlackBerry.cpp
140     platform/blackberry/ContextMenuBlackBerry.cpp
141     platform/blackberry/ContextMenuItemBlackBerry.cpp
142     platform/blackberry/CookieJarBlackBerry.cpp
143     platform/blackberry/CursorBlackBerry.cpp
144     platform/blackberry/DragDataBlackBerry.cpp
145     platform/blackberry/DragImageBlackBerry.cpp
146     platform/blackberry/EventLoopBlackBerry.cpp
147     platform/blackberry/KURLBlackBerry.cpp
148     platform/blackberry/LocalizedStringsBlackBerry.cpp
149     platform/blackberry/LoggingBlackBerry.cpp
150     platform/blackberry/MIMETypeRegistryBlackBerry.cpp
151     platform/blackberry/PasteboardBlackBerry.cpp
152     platform/blackberry/PlatformKeyboardEventBlackBerry.cpp
153     platform/blackberry/PlatformMouseEventBlackBerry.cpp
154     platform/blackberry/PlatformScreenBlackBerry.cpp
155     platform/blackberry/PlatformTouchEventBlackBerry.cpp
156     platform/blackberry/PlatformTouchPointBlackBerry.cpp
157     platform/blackberry/PopupMenuBlackBerry.cpp
158     platform/blackberry/RenderThemeBlackBerry.cpp
159     platform/blackberry/RunLoopBlackBerry.cpp
160     platform/blackberry/SSLKeyGeneratorBlackBerry.cpp
161     platform/blackberry/ScrollbarThemeBlackBerry.cpp
162     platform/blackberry/SearchPopupMenuBlackBerry.cpp
163     platform/blackberry/SharedTimerBlackBerry.cpp
164     platform/blackberry/SoundBlackBerry.cpp
165     platform/blackberry/SystemTimeBlackBerry.cpp
166     platform/blackberry/TemporaryLinkStubs.cpp
167     platform/blackberry/WidgetBlackBerry.cpp
168     platform/graphics/blackberry/FloatPointBlackBerry.cpp
169     platform/graphics/blackberry/FloatRectBlackBerry.cpp
170     platform/graphics/blackberry/FloatSizeBlackBerry.cpp
171     platform/graphics/blackberry/IconBlackBerry.cpp
172     platform/graphics/blackberry/ImageBlackBerry.cpp
173     platform/graphics/blackberry/IntPointBlackBerry.cpp
174     platform/graphics/blackberry/IntRectBlackBerry.cpp
175     platform/graphics/blackberry/IntSizeBlackBerry.cpp
176     platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp
177     platform/text/blackberry/StringBlackBerry.cpp
178 )
179
180 # Credential Persistence sources
181 LIST(APPEND WebCore_SOURCES
182     platform/network/blackberry/CredentialBackingStore.cpp
183     platform/network/blackberry/CredentialStorageBlackBerry.cpp
184 )
185
186 # File System support
187 IF (ENABLE_FILE_SYSTEM)
188     LIST(APPEND WebCore_SOURCES
189         platform/blackberry/AsyncFileSystemBlackBerry.cpp
190     )
191 ENDIF ()
192
193 # Touch sources
194 LIST(APPEND WebCore_SOURCES
195     dom/Touch.cpp
196     dom/TouchEvent.cpp
197     dom/TouchList.cpp
198 )
199
200 IF (ENABLE_SMOOTH_SCROLLING)
201     LIST(APPEND WebCore_SOURCES
202         platform/blackberry/ScrollAnimatorBlackBerry.cpp
203     )
204 ENDIF ()
205
206 LIST(APPEND WEBDOM_IDL_HEADERS
207     bindings/cpp/WebDOMCString.h
208     bindings/cpp/WebDOMEventTarget.h
209     bindings/cpp/WebDOMObject.h
210     bindings/cpp/WebDOMString.h
211 )
212
213 if (ENABLE_REQUEST_ANIMATION_FRAME)
214     LIST(APPEND WebCore_SOURCES
215         platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp
216         platform/graphics/DisplayRefreshMonitor.cpp
217     )
218 ENDIF ()
219
220 if (ENABLE_WEBGL)
221     ADD_DEFINITIONS (-DWTF_USE_OPENGL_ES_2=1)
222     LIST(APPEND WebCore_INCLUDE_DIRECTORIES
223         "${WEBCORE_DIR}/platform/graphics/gpu"
224         "${WEBCORE_DIR}/platform/graphics/opengl"
225     )
226     LIST(APPEND WebCore_SOURCES
227         platform/graphics/blackberry/DrawingBufferBlackBerry.cpp
228         platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp
229         platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
230         platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
231         platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
232         platform/graphics/opengl/Extensions3DOpenGLES.cpp
233         platform/graphics/gpu/SharedGraphicsContext3D.cpp
234     )
235 ENDIF ()
236
237 if (ENABLE_MEDIA_STREAM)
238     LIST(APPEND WebCore_SOURCES
239         platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp
240     )
241 ENDIF ()
242
243 IF (ENABLE_NETSCAPE_PLUGIN_API)
244     LIST(APPEND WebCore_SOURCES
245         plugins/PluginDatabase.cpp
246         plugins/PluginPackage.cpp
247         plugins/PluginView.cpp
248         plugins/blackberry/NPCallbacksBlackBerry.cpp
249         plugins/blackberry/PluginDataBlackBerry.cpp
250         plugins/blackberry/PluginPackageBlackBerry.cpp
251         plugins/blackberry/PluginViewBlackBerry.cpp
252         plugins/blackberry/PluginViewPrivateBlackBerry.cpp
253     )
254 ELSE ()
255     LIST(APPEND WebCore_SOURCES
256         plugins/PluginDataNone.cpp
257         plugins/PluginDatabase.cpp
258         plugins/PluginPackage.cpp
259         plugins/PluginPackageNone.cpp
260         plugins/PluginView.cpp
261         plugins/PluginViewNone.cpp
262     )
263 ENDIF ()
264
265 # To speed up linking when working on accel comp, you can move this whole chunk
266 # to Source/WebKit/blackberry/CMakeListsBlackBerry.txt.
267 # Append to WebKit_SOURCES instead of WebCore_SOURCES.
268 IF (WTF_USE_ACCELERATED_COMPOSITING)
269     LIST(APPEND WebCore_SOURCES
270         ${WEBCORE_DIR}/platform/graphics/GraphicsLayer.cpp
271         ${WEBCORE_DIR}/platform/graphics/blackberry/CanvasLayerWebKitThread.cpp
272         ${WEBCORE_DIR}/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
273         ${WEBCORE_DIR}/platform/graphics/blackberry/LayerAnimation.cpp
274         ${WEBCORE_DIR}/platform/graphics/blackberry/LayerCompositingThread.cpp
275         ${WEBCORE_DIR}/platform/graphics/blackberry/LayerRenderer.cpp
276         ${WEBCORE_DIR}/platform/graphics/blackberry/LayerRendererSurface.cpp
277         ${WEBCORE_DIR}/platform/graphics/blackberry/LayerTile.cpp
278         ${WEBCORE_DIR}/platform/graphics/blackberry/LayerTiler.cpp
279         ${WEBCORE_DIR}/platform/graphics/blackberry/LayerWebKitThread.cpp
280         ${WEBCORE_DIR}/platform/graphics/blackberry/PluginLayerWebKitThread.cpp
281         ${WEBCORE_DIR}/platform/graphics/blackberry/Texture.cpp
282         ${WEBCORE_DIR}/platform/graphics/blackberry/TextureCacheCompositingThread.cpp
283         ${WEBCORE_DIR}/platform/graphics/blackberry/WebGLLayerWebKitThread.cpp
284         ${WEBCORE_DIR}/rendering/RenderLayerBacking.cpp
285         ${WEBCORE_DIR}/rendering/RenderLayerCompositor.cpp
286     )
287 ENDIF ()
288
289 SET(ENV{WEBKITDIR} ${CMAKE_SOURCE_DIR}/Source)
290 SET(ENV{PLATFORMNAME} ${CMAKE_SYSTEM_NAME})
291 EXECUTE_PROCESS(
292     COMMAND hostname
293     OUTPUT_VARIABLE host
294 )
295 STRING(REPLACE "\n" "" host1 "${host}")
296 SET(ENV{COMPUTERNAME} ${host1})
297
298 IF ($ENV{PUBLIC_BUILD})
299     ADD_DEFINITIONS(-DPUBLIC_BUILD=$ENV{PUBLIC_BUILD})
300 ENDIF ()
301
302 INSTALL(FILES ${WEBDOM_IDL_HEADERS} DESTINATION usr/include/browser/webkit/dom)
303
304 # Create DOM C++ code given an IDL input
305 # We define a new list of feature defines that is prefixed with LANGUAGE_CPP=1 so as to avoid the
306 # warning "missing whitespace after the macro name" when inlining "LANGUAGE_CPP=1 ${FEATURE_DEFINES}".
307 SET(FEATURE_DEFINES_WEBCORE "LANGUAGE_CPP=1 ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")
308
309 # FIXME: We need to add the IDLs for SQL storage and Web Workers. See PR #123484.
310 SET(WebCore_NO_CPP_IDL_FILES
311     ${WebCore_SVG_IDL_FILES}
312     dom/CustomEvent.idl
313     dom/PopStateEvent.idl
314     inspector/ScriptProfile.idl
315     inspector/ScriptProfileNode.idl
316 )
317
318 LIST(APPEND WebCore_IDL_FILES
319     css/MediaQueryListListener.idl
320 )
321
322 SET(WebCore_CPP_IDL_FILES ${WebCore_IDL_FILES})
323
324 FOREACH (_file ${WebCore_NO_CPP_IDL_FILES})
325     STRING(REPLACE "${_file}" "" WebCore_CPP_IDL_FILES "${WebCore_CPP_IDL_FILES}")
326 ENDFOREACH ()
327
328 SET(WebCore_CPP_IDL_FILES
329     dom/EventListener.idl
330     "${WebCore_CPP_IDL_FILES}"
331 )
332
333 FOREACH (_idl ${WebCore_CPP_IDL_FILES})
334     SET(IDL_FILES_LIST "${IDL_FILES_LIST}${WEBCORE_DIR}/${_idl}\n")
335 ENDFOREACH ()
336 FILE(WRITE ${IDL_FILES_TMP} ${IDL_FILES_LIST})
337
338 ADD_CUSTOM_COMMAND(
339     OUTPUT ${SUPPLEMENTAL_DEPENDENCY_FILE}
340     DEPENDS ${WEBCORE_DIR}/bindings/scripts/preprocess-idls.pl ${SCRIPTS_RESOLVE_SUPPLEMENTAL} ${WebCore_CPP_IDL_FILES} ${IDL_ATTRIBUTES_FILE}
341     COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/preprocess-idls.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --idlFilesList ${IDL_FILES_TMP} --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --supplementalDependencyFile ${SUPPLEMENTAL_DEPENDENCY_FILE} --idlAttributesFile ${IDL_ATTRIBUTES_FILE}
342     VERBATIM)
343
344 GENERATE_BINDINGS(WebCore_SOURCES
345     "${WebCore_CPP_IDL_FILES}"
346     "${WEBCORE_DIR}"
347     "${IDL_INCLUDES}"
348     "${FEATURE_DEFINES_WEBCORE}"
349     ${DERIVED_SOURCES_WEBCORE_DIR} WebDOM CPP
350     ${SUPPLEMENTAL_DEPENDENCY_FILE})
351
352 # Generate contents for PopupPicker.cpp
353 SET(WebCore_POPUP_CSS_AND_JS
354     ${WEBCORE_DIR}/Resources/blackberry/popupControlBlackBerry.css
355     ${WEBCORE_DIR}/Resources/blackberry/selectControlBlackBerry.css
356     ${WEBCORE_DIR}/Resources/blackberry/selectControlBlackBerry.js
357 )
358
359 ADD_CUSTOM_COMMAND(
360     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/PopupPicker.h ${DERIVED_SOURCES_WEBCORE_DIR}/PopupPicker.cpp
361     MAIN_DEPENDENCY ${WEBCORE_DIR}/make-file-arrays.py
362     DEPENDS ${WebCore_POPUP_CSS_AND_JS}
363     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/make-file-arrays.py --out-h=${DERIVED_SOURCES_WEBCORE_DIR}/PopupPicker.h --out-cpp=${DERIVED_SOURCES_WEBCORE_DIR}/PopupPicker.cpp ${WebCore_POPUP_CSS_AND_JS}
364 )
365 LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/PopupPicker.cpp)