2 # Copyright (C) 2009 Google Inc. All rights reserved.
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above
11 # copyright notice, this list of conditions and the following disclaimer
12 # in the documentation and/or other materials provided with the
14 # * Neither the name of Google Inc. nor the names of its
15 # contributors may be used to endorse or promote products derived from
16 # this software without specific prior written permission.
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 '../../WebKitTools/DumpRenderTree/DumpRenderTree.gypi',
37 'webkit_target_type': 'static_library',
39 # Location of the chromium src directory and target type is different
40 # if webkit is built inside chromium or as standalone project.
41 ['inside_chromium_build==0', {
42 # Webkit is being built outside of the full chromium project.
43 # e.g. via build-webkit --chromium
44 'chromium_src_dir': '../../WebKit/chromium',
46 # WebKit is checked out in src/chromium/third_party/WebKit
47 'chromium_src_dir': '../../../..',
53 'target_name': 'webkit',
54 'type': '<(webkit_target_type)',
55 'msvs_guid': '5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65',
57 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
58 '<(chromium_src_dir)/skia/skia.gyp:skia',
59 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
61 'export_dependent_settings': [
62 '<(chromium_src_dir)/skia/skia.gyp:skia',
63 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
70 'WEBKIT_IMPLEMENTATION',
73 'public/gtk/WebInputEventFactory.h',
74 'public/linux/WebFontRendering.h',
75 'public/linux/WebFontRenderStyle.h',
76 'public/linux/WebRenderTheme.h',
77 'public/x11/WebScreenInfoFactory.h',
78 'public/mac/WebInputEventFactory.h',
79 'public/mac/WebScreenInfoFactory.h',
80 'public/WebAccessibilityCache.h',
81 'public/WebAccessibilityObject.h',
82 'public/WebAccessibilityRole.h',
83 'public/WebAnimationController.h',
84 'public/WebApplicationCacheHost.h',
85 'public/WebApplicationCacheHostClient.h',
86 'public/WebBindings.h',
89 'public/WebClipboard.h',
91 'public/WebColorName.h',
93 'public/WebCommonWorkerClient.h',
94 'public/WebCompositionCommand.h',
95 'public/WebConsoleMessage.h',
96 'public/WebContextMenuData.h',
98 'public/WebCookieJar.h',
99 'public/WebCrossOriginPreflightResultCache.h',
100 'public/WebCString.h',
101 'public/WebCursorInfo.h',
103 'public/WebDatabase.h',
104 'public/WebDatabaseObserver.h',
105 'public/WebDataSource.h',
106 'public/WebDevToolsAgent.h',
107 'public/WebDevToolsAgentClient.h',
108 'public/WebDevToolsFrontend.h',
109 'public/WebDevToolsFrontendClient.h',
110 'public/WebDevToolsMessageData.h',
111 'public/WebDocument.h',
112 'public/WebDragData.h',
113 'public/WebEditingAction.h',
114 'public/WebElement.h',
116 'public/WebEventListener.h',
117 'public/WebFileChooserCompletion.h',
118 'public/WebFileChooserParams.h',
119 'public/WebFileInfo.h',
120 'public/WebFileSystem.h',
121 'public/WebFindOptions.h',
123 'public/WebFrameClient.h',
124 'public/WebFontCache.h',
125 'public/WebFormControlElement.h',
126 'public/WebFormElement.h',
127 'public/WebGeolocationService.h',
128 'public/WebGeolocationServiceBridge.h',
129 'public/WebGlyphCache.h',
130 'public/WebGLES2Context.h',
131 'public/WebGraphicsContext3D.h',
132 'public/WebHistoryItem.h',
133 'public/WebHTTPBody.h',
135 'public/WebImageDecoder.h',
136 'public/WebIDBCallbacks.h',
137 'public/WebIDBDatabase.h',
138 'public/WebIDBDatabaseError.h',
139 'public/WebIndexedDatabase.h',
140 'public/WebInputElement.h',
141 'public/WebInputEvent.h',
143 'public/WebKitClient.h',
144 'public/WebLabelElement.h',
145 'public/WebLocalizedString.h',
146 'public/WebMediaPlayer.h',
147 'public/WebMediaPlayerAction.h',
148 'public/WebMediaPlayerClient.h',
149 'public/WebMenuItemInfo.h',
150 'public/WebMessagePortChannel.h',
151 'public/WebMessagePortChannelClient.h',
152 'public/WebMimeRegistry.h',
153 'public/WebMutationEvent.h',
154 'public/WebNavigationType.h',
156 'public/WebNodeCollection.h',
157 'public/WebNodeList.h',
158 'public/WebNonCopyable.h',
159 'public/WebNotification.h',
160 'public/WebNotificationPresenter.h',
161 'public/WebNotificationPermissionCallback.h',
162 'public/WebPageSerializer.h',
163 'public/WebPageSerializerClient.h',
164 'public/WebPasswordAutocompleteListener.h',
165 'public/WebPasswordFormData.h',
166 'public/WebPlugin.h',
167 'public/WebPluginContainer.h',
168 'public/WebPluginDocument.h',
169 'public/WebPluginListBuilder.h',
171 'public/WebPopupMenu.h',
172 'public/WebPopupMenuInfo.h',
173 'public/WebPopupType.h',
174 'public/WebPrivatePtr.h',
177 'public/WebRegularExpression.h',
178 'public/WebRuntimeFeatures.h',
179 'public/WebScrollbar.h',
180 'public/WebScrollbarClient.h',
181 'public/WebScreenInfo.h',
182 'public/WebScriptController.h',
183 'public/WebScriptSource.h',
184 'public/WebSearchableFormData.h',
185 'public/WebSecurityOrigin.h',
186 'public/WebSecurityPolicy.h',
187 'public/WebSelectElement.h',
188 'public/WebSerializedScriptValue.h',
189 'public/WebSettings.h',
190 'public/WebSharedWorker.h',
191 'public/WebSharedWorkerRepository.h',
193 'public/WebSocketStreamError.h',
194 'public/WebSocketStreamHandle.h',
195 'public/WebSocketStreamHandleClient.h',
196 'public/WebStorageArea.h',
197 'public/WebStorageEventDispatcher.h',
198 'public/WebStorageNamespace.h',
199 'public/WebString.h',
200 'public/WebTextAffinity.h',
201 'public/WebTextCaseSensitivity.h',
202 'public/WebTextDirection.h',
203 'public/WebThemeEngine.h',
205 'public/WebURLError.h',
206 'public/WebURLLoader.h',
207 'public/WebURLLoaderClient.h',
208 'public/WebURLRequest.h',
209 'public/WebURLResponse.h',
210 'public/WebVector.h',
212 'public/WebViewClient.h',
213 'public/WebWidget.h',
214 'public/WebWidgetClient.h',
215 'public/WebWorker.h',
216 'public/WebWorkerClient.h',
217 'public/win/WebInputEventFactory.h',
218 'public/win/WebSandboxSupport.h',
219 'public/win/WebScreenInfoFactory.h',
220 'public/win/WebScreenInfoFactory.h',
221 'src/APUAgentDelegate.h',
222 'src/ApplicationCacheHost.cpp',
223 'src/ApplicationCacheHostInternal.h',
224 'src/AssertMatchingEnums.cpp',
225 'src/AutocompletePopupMenuClient.cpp',
226 'src/AutocompletePopupMenuClient.h',
227 'src/AutoFillPopupMenuClient.cpp',
228 'src/AutoFillPopupMenuClient.h',
229 'src/BackForwardListClientImpl.cpp',
230 'src/BackForwardListClientImpl.h',
231 'src/BoundObject.cpp',
233 'src/ChromeClientImpl.cpp',
234 'src/ChromeClientImpl.h',
235 'src/ChromiumBridge.cpp',
236 'src/ChromiumCurrentTime.cpp',
237 'src/ChromiumThreading.cpp',
238 'src/ContextMenuClientImpl.cpp',
239 'src/ContextMenuClientImpl.h',
240 'src/DatabaseObserver.cpp',
241 'src/DebuggerAgent.h',
242 'src/DebuggerAgentImpl.cpp',
243 'src/DebuggerAgentImpl.h',
244 'src/DebuggerAgentManager.cpp',
245 'src/DebuggerAgentManager.h',
247 'src/DevToolsRPCJS.h',
248 'src/DOMUtilitiesPrivate.cpp',
249 'src/DOMUtilitiesPrivate.h',
250 'src/DragClientImpl.cpp',
251 'src/DragClientImpl.h',
252 'src/EditorClientImpl.cpp',
253 'src/EditorClientImpl.h',
254 'src/EventListenerWrapper.cpp',
255 'src/EventListenerWrapper.h',
256 'src/FrameLoaderClientImpl.cpp',
257 'src/FrameLoaderClientImpl.h',
258 'src/GLES2Context.cpp',
259 'src/gtk/WebFontInfo.cpp',
260 'src/gtk/WebFontInfo.h',
261 'src/gtk/WebInputEventFactory.cpp',
262 'src/IDBCallbacksProxy.cpp',
263 'src/IDBCallbacksProxy.h',
264 'src/IDBDatabaseProxy.cpp',
265 'src/IDBDatabaseProxy.h',
266 'src/IndexedDatabaseProxy.cpp',
267 'src/IndexedDatabaseProxy.h',
268 'src/InspectorClientImpl.cpp',
269 'src/InspectorClientImpl.h',
270 'src/InspectorFrontendClientImpl.cpp',
271 'src/InspectorFrontendClientImpl.h',
272 'src/linux/WebFontRendering.cpp',
273 'src/linux/WebFontRenderStyle.cpp',
274 'src/linux/WebRenderTheme.cpp',
275 'src/x11/WebScreenInfoFactory.cpp',
276 'src/mac/WebInputEventFactory.mm',
277 'src/mac/WebScreenInfoFactory.mm',
278 'src/LocalizedStrings.cpp',
279 'src/MediaPlayerPrivateChromium.cpp',
280 'src/NotificationPresenterImpl.h',
281 'src/NotificationPresenterImpl.cpp',
282 'src/PlatformMessagePortChannel.cpp',
283 'src/PlatformMessagePortChannel.h',
284 'src/ProfilerAgent.h',
285 'src/ProfilerAgentImpl.cpp',
286 'src/ProfilerAgentImpl.h',
287 'src/ResourceHandle.cpp',
288 'src/SharedWorkerRepository.cpp',
289 'src/SocketStreamHandle.cpp',
290 'src/StorageAreaProxy.cpp',
291 'src/StorageAreaProxy.h',
292 'src/StorageEventDispatcherChromium.cpp',
293 'src/StorageEventDispatcherImpl.cpp',
294 'src/StorageEventDispatcherImpl.h',
295 'src/StorageNamespaceProxy.cpp',
296 'src/StorageNamespaceProxy.h',
297 'src/SuggestionsPopupMenuClient.cpp',
298 'src/SuggestionsPopupMenuClient.h',
299 'src/TemporaryGlue.h',
301 'src/WebAccessibilityCache.cpp',
302 'src/WebAccessibilityCacheImpl.cpp',
303 'src/WebAccessibilityCacheImpl.h',
304 'src/WebAccessibilityObject.cpp',
305 'src/WebAnimationControllerImpl.cpp',
306 'src/WebAnimationControllerImpl.h',
307 'src/WebBindings.cpp',
311 'src/WebCrossOriginPreflightResultCache.cpp',
312 'src/WebCString.cpp',
313 'src/WebCursorInfo.cpp',
315 'src/WebDatabase.cpp',
316 'src/WebDataSourceImpl.cpp',
317 'src/WebDataSourceImpl.h',
318 'src/WebDevToolsAgentImpl.cpp',
319 'src/WebDevToolsAgentImpl.h',
320 'src/WebDevToolsFrontendImpl.cpp',
321 'src/WebDevToolsFrontendImpl.h',
322 'src/WebDocument.cpp',
323 'src/WebDragData.cpp',
324 'src/WebElement.cpp',
325 'src/WebEntities.cpp',
328 'src/WebEventListener.cpp',
329 'src/WebEventListenerPrivate.cpp',
330 'src/WebEventListenerPrivate.h',
331 'src/WebFileChooserCompletionImpl.cpp',
332 'src/WebFileChooserCompletionImpl.h',
333 'src/WebFontCache.cpp',
334 'src/WebFormControlElement.cpp',
335 'src/WebFormElement.cpp',
336 'src/WebFrameImpl.cpp',
337 'src/WebFrameImpl.h',
338 'src/WebGeolocationServiceBridgeImpl.cpp',
339 'src/WebGeolocationServiceBridgeImpl.h',
340 'src/WebGlyphCache.cpp',
341 'src/WebGraphicsContext3D.cpp',
342 'src/WebGraphicsContext3DDefaultImpl.cpp',
343 'src/WebGraphicsContext3DDefaultImpl.h',
344 'src/WebHistoryItem.cpp',
345 'src/WebHTTPBody.cpp',
346 'src/WebIDBDatabaseError.cpp',
347 'src/WebImageCG.cpp',
348 'src/WebImageDecoder.cpp',
349 'src/WebImageSkia.cpp',
350 'src/WebIndexedDatabaseImpl.cpp',
351 'src/WebIndexedDatabaseImpl.h',
352 'src/WebInputElement.cpp',
353 'src/WebInputEvent.cpp',
354 'src/WebInputEventConversion.cpp',
355 'src/WebInputEventConversion.h',
357 'src/WebLabelElement.cpp',
358 'src/WebMediaPlayerClientImpl.cpp',
359 'src/WebMediaPlayerClientImpl.h',
360 'src/WebMutationEvent.cpp',
362 'src/WebNodeCollection.cpp',
363 'src/WebNodeList.cpp',
364 'src/WebNotification.cpp',
365 'src/WebPageSerializer.cpp',
366 'src/WebPageSerializerImpl.cpp',
367 'src/WebPageSerializerImpl.h',
368 'src/WebPasswordFormData.cpp',
369 'src/WebPasswordFormUtils.cpp',
370 'src/WebPasswordFormUtils.h',
371 'src/WebPluginContainerImpl.h',
372 'src/WebPluginContainerImpl.cpp',
373 'src/WebPluginDocument.cpp',
374 'src/WebPluginListBuilderImpl.cpp',
375 'src/WebPluginListBuilderImpl.h',
376 'src/WebPluginLoadObserver.cpp',
377 'src/WebPluginLoadObserver.h',
378 'src/WebPopupMenuImpl.cpp',
379 'src/WebPopupMenuImpl.h',
381 'src/WebRegularExpression.cpp',
382 'src/WebRuntimeFeatures.cpp',
383 'src/WebScriptController.cpp',
384 'src/WebScrollbarImpl.cpp',
385 'src/WebScrollbarImpl.h',
386 'src/WebSearchableFormData.cpp',
387 'src/WebSecurityOrigin.cpp',
388 'src/WebSecurityPolicy.cpp',
389 'src/WebSelectElement.cpp',
390 'src/WebSerializedScriptValue.cpp',
391 'src/WebSettingsImpl.cpp',
392 'src/WebSettingsImpl.h',
393 'src/WebSharedWorkerImpl.cpp',
394 'src/WebSharedWorkerImpl.h',
395 'src/WebStorageAreaImpl.cpp',
396 'src/WebStorageAreaImpl.h',
397 'src/WebStorageEventDispatcherImpl.cpp',
398 'src/WebStorageEventDispatcherImpl.h',
399 'src/WebStorageNamespaceImpl.cpp',
400 'src/WebStorageNamespaceImpl.h',
403 'src/WebURLRequest.cpp',
404 'src/WebURLRequestPrivate.h',
405 'src/WebURLResponse.cpp',
406 'src/WebURLResponsePrivate.h',
407 'src/WebURLError.cpp',
408 'src/WebViewImpl.cpp',
410 'src/WebWorkerBase.cpp',
411 'src/WebWorkerBase.h',
412 'src/WebWorkerClientImpl.cpp',
413 'src/WebWorkerClientImpl.h',
414 'src/WebWorkerImpl.cpp',
415 'src/WebWorkerImpl.h',
416 'src/WrappedResourceRequest.h',
417 'src/WrappedResourceResponse.h',
418 'src/win/WebInputEventFactory.cpp',
419 'src/win/WebScreenInfoFactory.cpp',
422 ['OS=="linux" or OS=="freebsd"', {
424 '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
425 '<(chromium_src_dir)/build/linux/system.gyp:gtk',
426 '<(chromium_src_dir)/build/linux/system.gyp:x11',
433 }, { # else: OS!="linux" and OS!="freebsd"
435 ['exclude', '/gtk/'],
436 ['exclude', '/x11/'],
437 ['exclude', '/linux/'],
445 ['exclude', 'Skia\\.cpp$'],
448 # FIXME: Turn on warnings on other platforms and for
452 }, { # else: OS!="mac"
454 ['exclude', '/mac/'],
455 ['exclude', 'CG\\.cpp$'],
462 }, { # else: OS!="win"
463 'sources/': [['exclude', '/win/']],
465 ['"ENABLE_3D_CANVAS=1" in feature_defines', {
466 # Conditionally compile in GLEW and our GraphicsContext3D implementation.
468 'src/GraphicsContext3D.cpp',
469 '<(chromium_src_dir)/third_party/glew/src/glew.c'
472 '<(chromium_src_dir)/third_party/glew/include'
489 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
498 'target_name': 'webkit_unit_tests',
499 'type': 'executable',
500 'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD',
503 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
504 '<(chromium_src_dir)/testing/gtest.gyp:gtest',
505 '<(chromium_src_dir)/base/base.gyp:base',
506 '<(chromium_src_dir)/base/base.gyp:base_i18n',
513 'tests/DragImageTest.cpp',
514 'tests/KeyboardTest.cpp',
515 'tests/KURLTest.cpp',
516 'tests/RunAllTests.cpp',
521 # FIXME: Port PopupMenuTest to Linux and Mac.
522 'tests/PopupMenuTest.cpp',
523 'tests/TransparencyWinTest.cpp',
524 'tests/UniscribeHelperTest.cpp',
529 # FIXME: Port DragImageTest to Mac.
530 'tests/DragImageTest.cpp',
536 'target_name': 'ImageDiff',
537 'type': 'executable',
540 '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
541 '<(chromium_src_dir)/gfx/gfx.gyp:gfx',
544 '../../JavaScriptCore',
548 '../../WebKitTools/DumpRenderTree/chromium/ImageDiff.cpp',
552 'target_name': 'DumpRenderTree',
553 'type': 'executable',
557 '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
558 '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
559 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
563 '../../JavaScriptCore',
564 '../../JavaScriptCore/wtf', # wtf/text/*.h refers headers in wtf/ without wtf/.
568 # Technically not a unit test but require functions available only to
577 'dependencies': ['LayoutTestHelper'],
579 'mac_bundle_resources': [
580 '../../WebKitTools/DumpRenderTree/qt/fonts/AHEM____.TTF',
581 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
582 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
583 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
584 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
585 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
586 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
587 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
588 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
589 '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
593 'action_name': 'repack_locale',
595 'repack_path': '<(chromium_src_dir)/tools/data_pack/repack.py',
597 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
598 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
599 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
606 '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
608 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'],
609 'process_outputs_as_mac_bundle_resources': 1,
613 ['OS!="linux" and OS!="freebsd" and OS!="openbsd"', {
615 ['exclude', '(Gtk|Linux)\\.cpp$']
620 ['exclude', 'Win\\.cpp$'],
625 # .mm is already excluded by common.gypi
626 ['exclude', 'Mac\\.cpp$'],
636 'target_name': 'LayoutTestHelper',
637 'type': 'executable',
638 'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelper.mm'],
641 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
652 # indent-tabs-mode:nil
654 # vim: set expandtab tabstop=2 shiftwidth=2: