3fccca5b246e70c360d6946e3f3c887c6e3be9f1
[WebKit-https.git] / Source / WebKit / chromium / WebKit.gyp
1 #
2 # Copyright (C) 2011 Google Inc. All rights reserved.
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
7 #
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
13 # distribution.
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.
17 #
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.
29 #
30
31 {
32     'includes': [
33         '../../WebCore/WebCore.gypi',
34         'WebKit.gypi',
35         'features.gypi',
36     ],
37     'variables': {
38         'conditions': [
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',
45             },{
46                 # WebKit is checked out in src/chromium/third_party/WebKit
47                 'chromium_src_dir': '../../../../..',
48             }],
49         ],
50         'ahem_path': '../../../Tools/DumpRenderTree/qt/fonts/AHEM____.TTF',
51
52         # If debug_devtools is set to 1, JavaScript files for DevTools are
53         # stored as is. Otherwise, a concatenated file is stored.
54         'debug_devtools%': 0,
55
56         # List of DevTools source files, ordered by dependencies. It is used both
57         # for copying them to resource dir, and for generating 'devtools.html' file.
58         'devtools_files': [
59             '<@(devtools_css_files)',
60             '<@(devtools_js_files)',
61         ],
62     },
63     'targets': [
64         {
65             'target_name': 'webkit',
66             'type': 'static_library',
67             'variables': { 'enable_wexit_time_destructors': 1, },
68             'msvs_guid': '5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65',
69             'dependencies': [
70                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
71                 '<(chromium_src_dir)/skia/skia.gyp:skia',
72                 '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
73                 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
74                 '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_glsl',
75                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
76             ],
77             'export_dependent_settings': [
78                 '<(chromium_src_dir)/skia/skia.gyp:skia',
79                 '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
80                 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
81                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
82             ],
83             'include_dirs': [
84                 'public',
85                 'src',
86                 '<(chromium_src_dir)/third_party/angle/include',
87                 '<(chromium_src_dir)/third_party/skia/include/utils',
88             ],
89             'defines': [
90                 'WEBKIT_IMPLEMENTATION=1',
91             ],
92             'sources': [
93                 'bridge/PeerConnectionHandler.cpp',
94                 'bridge/PeerConnectionHandlerInternal.cpp',
95                 'bridge/PeerConnectionHandlerInternal.h',
96                 'public/WebAccessibilityNotification.h',
97                 'public/WebAccessibilityObject.h',
98                 'public/WebAccessibilityRole.h',
99                 'public/WebAnimationController.h',
100                 'public/WebApplicationCacheHostClient.h',
101                 'public/WebArrayBuffer.h',
102                 'public/WebAttribute.h',
103                 'public/WebAudioSourceProvider.h',
104                 'public/WebAudioSourceProviderClient.h',
105                 'public/WebAutofillClient.h',
106                 'public/WebBindings.h',
107                 'public/WebBlob.h',
108                 'public/WebCache.h',
109                 'public/WebColorChooser.h',
110                 'public/WebColorChooserClient.h',
111                 'public/WebCommonWorkerClient.h',
112                 'public/WebCompositionUnderline.h',
113                 'public/WebCompositor.h',
114                 'public/WebCompositorClient.h',
115                 'public/WebCompositorInputHandler.h',
116                 'public/WebCompositorInputHandlerClient.h',
117                 'public/WebConsoleMessage.h',
118                 'public/WebContextMenuData.h',
119                 'public/WebCrossOriginPreflightResultCache.h',
120                 'public/WebCursorInfo.h',
121                 'public/WebDOMEvent.h',
122                 'public/WebDOMEventListener.h',
123                 'public/WebDOMMessageEvent.h',
124                 'public/WebDOMMouseEvent.h',
125                 'public/WebDOMMutationEvent.h',
126                 'public/WebDOMStringList.h',
127                 'public/WebDataSource.h',
128                 'public/WebDatabase.h',
129                 'public/WebDatabaseObserver.h',
130                 'public/WebDevToolsAgent.h',
131                 'public/WebDevToolsAgentClient.h',
132                 'public/WebDevToolsFrontend.h',
133                 'public/WebDevToolsFrontendClient.h',
134                 'public/WebDeviceOrientation.h',
135                 'public/WebDeviceOrientationClient.h',
136                 'public/WebDeviceOrientationClientMock.h',
137                 'public/WebDeviceOrientationController.h',
138                 'public/WebDocument.h',
139                 'public/WebDocumentType.h',
140                 'public/WebEditingAction.h',
141                 'public/WebElement.h',
142                 'public/WebExceptionCode.h',
143                 'public/WebExternalPopupMenu.h',
144                 'public/WebExternalPopupMenuClient.h',
145                 'public/WebFileChooserCompletion.h',
146                 'public/WebFileChooserParams.h',
147                 'public/WebFileError.h',
148                 'public/WebFileInfo.h',
149                 'public/WebFileSystemCallbacks.h',
150                 'public/WebFileSystemEntry.h',
151                 'public/WebFileUtilities.h',
152                 'public/WebFileWriter.h',
153                 'public/WebFileWriterClient.h',
154                 'public/WebFindOptions.h',
155                 'public/WebFont.h',
156                 'public/WebFontCache.h',
157                 'public/WebFontDescription.h',
158                 'public/WebFormControlElement.h',
159                 'public/WebFormElement.h',
160                 'public/WebFrame.h',
161                 'public/WebFrameClient.h',
162                 'public/WebGeolocationClient.h',
163                 'public/WebGeolocationClientMock.h',
164                 'public/WebGeolocationController.h',
165                 'public/WebGeolocationError.h',
166                 'public/WebGeolocationPermissionRequest.h',
167                 'public/WebGeolocationPermissionRequestManager.h',
168                 'public/WebGeolocationPosition.h',
169                 'public/WebGlyphCache.h',
170                 'public/WebHistoryItem.h',
171                 'public/WebIDBCallbacks.h',
172                 'public/WebIDBCursor.h',
173                 'public/WebIDBDatabase.h',
174                 'public/WebIDBDatabaseCallbacks.h',
175                 'public/WebIDBDatabaseError.h',
176                 'public/WebIDBFactory.h',
177                 'public/WebIDBIndex.h',
178                 'public/WebIDBKey.h',
179                 'public/WebIDBKeyPath.h',
180                 'public/WebIDBKeyRange.h',
181                 'public/WebIDBObjectStore.h',
182                 'public/WebIDBTransaction.h',
183                 'public/WebIDBTransactionCallbacks.h',
184                 'public/WebIconLoadingCompletion.h',
185                 'public/WebIconURL.h',
186                 'public/WebImageDecoder.h',
187                 'public/WebInputElement.h',
188                 'public/WebInputEvent.h',
189                 'public/WebIntent.h',
190                 'public/WebIntentServiceInfo.h',
191                 'public/WebKit.h',
192                 'public/WebLabelElement.h',
193                 'public/WebMediaElement.h',
194                 'public/WebMediaPlayer.h',
195                 'public/WebMediaPlayerAction.h',
196                 'public/WebMediaPlayerClient.h',
197                 'public/WebMediaStreamRegistry.h',
198                 'public/WebMenuItemInfo.h',
199                 'public/WebMessagePortChannel.h',
200                 'public/WebMessagePortChannelClient.h',
201                 'public/WebNamedNodeMap.h',
202                 'public/WebNavigationType.h',
203                 'public/WebNetworkStateNotifier.h',
204                 'public/WebNode.h',
205                 'public/WebNodeCollection.h',
206                 'public/WebNodeList.h',
207                 'public/WebNotification.h',
208                 'public/WebNotificationPermissionCallback.h',
209                 'public/WebNotificationPresenter.h',
210                 'public/WebOptionElement.h',
211                 'public/WebPageOverlay.h',
212                 'public/WebPageSerializer.h',
213                 'public/WebPageSerializerClient.h',
214                 'public/WebPageVisibilityState.h',
215                 'public/WebPasswordFormData.h',
216                 'public/WebPerformance.h',
217                 'public/WebPermissionClient.h',
218                 'public/WebPlugin.h',
219                 'public/WebPluginContainer.h',
220                 'public/WebPluginDocument.h',
221                 'public/WebPluginListBuilder.h',
222                 'public/WebPopupMenu.h',
223                 'public/WebPopupMenuInfo.h',
224                 'public/WebPopupType.h',
225                 'public/WebRange.h',
226                 'public/WebReferrerPolicy.h',
227                 'public/WebRegularExpression.h',
228                 'public/WebRuntimeFeatures.h',
229                 'public/WebScreenInfo.h',
230                 'public/WebScriptController.h',
231                 'public/WebScriptSource.h',
232                 'public/WebScrollbar.h',
233                 'public/WebScrollbarClient.h',
234                 'public/WebSearchableFormData.h',
235                 'public/WebSecurityOrigin.h',
236                 'public/WebSecurityPolicy.h',
237                 'public/WebSelectElement.h',
238                 'public/WebSettings.h',
239                 'public/WebSharedWorker.h',
240                 'public/WebSharedWorkerRepository.h',
241                 'public/WebSocket.h',
242                 'public/WebSocketClient.h',
243                 'public/WebSpeechInputController.h',
244                 'public/WebSpeechInputControllerMock.h',
245                 'public/WebSpeechInputListener.h',
246                 'public/WebSpeechInputResult.h',
247                 'public/WebSpellCheckClient.h',
248                 'public/WebStorageArea.h',
249                 'public/WebStorageEventDispatcher.h',
250                 'public/WebStorageNamespace.h',
251                 'public/WebStorageQuotaCallbacks.h',
252                 'public/WebStorageQuotaType.h',
253                 'public/WebTextAffinity.h',
254                 'public/WebTextCaseSensitivity.h',
255                 'public/WebTextCheckingCompletion.h',
256                 'public/WebTextCheckingResult.h',
257                 'public/WebTextDirection.h',
258                 'public/WebTextInputType.h',
259                 'public/WebTextRun.h',
260                 'public/WebURLLoaderOptions.h',
261                 'public/WebUserMediaClient.h',
262                 'public/WebUserMediaRequest.h',
263                 'public/WebView.h',
264                 'public/WebViewClient.h',
265                 'public/WebWidget.h',
266                 'public/WebWidgetClient.h',
267                 'public/WebWorker.h',
268                 'public/WebWorkerClient.h',
269                 'public/WebWorkerRunLoop.h',
270                 'public/android/WebInputEventFactory.h',
271                 'public/android/WebSandboxSupport.h',
272                 'public/gtk/WebInputEventFactory.h',
273                 'public/linux/WebFontRenderStyle.h',
274                 'public/linux/WebFontRendering.h',
275                 'public/linux/WebRenderTheme.h',
276                 'public/mac/WebInputEventFactory.h',
277                 'public/mac/WebSandboxSupport.h',
278                 'public/mac/WebScreenInfoFactory.h',
279                 'public/mac/WebSubstringUtil.h',
280                 'public/platform/WebArrayBufferView.h',
281                 'public/platform/WebAudioBus.h',
282                 'public/platform/WebAudioDevice.h',
283                 'public/platform/WebBlobData.h',
284                 'public/platform/WebBlobRegistry.h',
285                 'public/platform/WebCString.h',
286                 'public/platform/WebCanvas.h',
287                 'public/platform/WebClipboard.h',
288                 'public/platform/WebColor.h',
289                 'public/platform/WebColorName.h',
290                 'public/platform/WebCommon.h',
291                 'public/platform/WebContentLayer.h',
292                 'public/platform/WebContentLayerClient.h',
293                 'public/platform/WebCookie.h',
294                 'public/platform/WebCookieJar.h',
295                 'public/platform/WebData.h',
296                 'public/platform/WebDragData.h',
297                 'public/platform/WebExternalTextureLayer.h',
298                 'public/platform/WebFileSystem.h',
299                 'public/platform/WebFloatPoint.h',
300                 'public/platform/WebFloatQuad.h',
301                 'public/platform/WebFloatRect.h',
302                 'public/platform/WebGamepad.h',
303                 'public/platform/WebGamepads.h',
304                 'public/platform/WebGraphicsContext3D.h',
305                 'public/platform/WebHTTPBody.h',
306                 'public/platform/WebHTTPHeaderVisitor.h',
307                 'public/platform/WebHTTPLoadInfo.h',
308                 'public/platform/WebImage.h',
309                 'public/platform/WebKitPlatformSupport.h',
310                 'public/platform/WebLayer.h',
311                 'public/platform/WebLayerClient.h',
312                 'public/platform/WebLayerTreeView.h',
313                 'public/platform/WebLayerTreeViewClient.h',
314                 'public/platform/WebLocalizedString.h',
315                 'public/platform/WebMediaStreamDescriptor.h',
316                 'public/platform/WebMediaStreamSource.h',
317                 'public/platform/WebMimeRegistry.h',
318                 'public/platform/WebNonCopyable.h',
319                 'public/platform/WebPeerConnectionHandler.h',
320                 'public/platform/WebPeerConnectionHandlerClient.h',
321                 'public/platform/WebPoint.h',
322                 'public/platform/WebPrivateOwnPtr.h',
323                 'public/platform/WebPrivatePtr.h',
324                 'public/platform/WebRect.h',
325                 'public/platform/WebSerializedScriptValue.h',
326                 'public/platform/WebSize.h',
327                 'public/platform/WebSocketStreamError.h',
328                 'public/platform/WebSocketStreamHandle.h',
329                 'public/platform/WebSocketStreamHandleClient.h',
330                 'public/platform/WebString.h',
331                 'public/platform/WebThread.h',
332                 'public/platform/WebThreadSafeData.h',
333                 'public/platform/WebURL.h',
334                 'public/platform/WebURLError.h',
335                 'public/platform/WebURLLoadTiming.h',
336                 'public/platform/WebURLLoader.h',
337                 'public/platform/WebURLLoaderClient.h',
338                 'public/platform/WebURLRequest.h',
339                 'public/platform/WebURLResponse.h',
340                 'public/platform/WebVector.h',
341                 'public/platform/android/WebSandboxSupport.h',
342                 'public/platform/android/WebThemeEngine.h',
343                 'public/platform/linux/WebThemeEngine.h',
344                 'public/platform/mac/WebSandboxSupport.h',
345                 'public/platform/mac/WebThemeEngine.h',
346                 'public/platform/win/WebSandboxSupport.h',
347                 'public/platform/win/WebThemeEngine.h',
348                 'public/win/WebInputEventFactory.h',
349                 'public/win/WebSandboxSupport.h',
350                 'public/win/WebScreenInfoFactory.h',
351                 'public/x11/WebScreenInfoFactory.h',
352                 'src/ApplicationCacheHost.cpp',
353                 'src/ApplicationCacheHostInternal.h',
354                 'src/AssertMatchingEnums.cpp',
355                 'src/AssociatedURLLoader.cpp',
356                 'src/AssociatedURLLoader.h',
357                 'src/AsyncFileSystemChromium.cpp',
358                 'src/AsyncFileSystemChromium.h',
359                 'src/AsyncFileWriterChromium.cpp',
360                 'src/AsyncFileWriterChromium.h',
361                 'src/AudioDestinationChromium.cpp',
362                 'src/AudioDestinationChromium.h',
363                 'src/AutofillPopupMenuClient.cpp',
364                 'src/AutofillPopupMenuClient.h',
365                 'src/BackForwardListChromium.cpp',
366                 'src/BackForwardListChromium.h',
367                 'src/BlobRegistryProxy.cpp',
368                 'src/BlobRegistryProxy.h',
369                 'src/BoundObject.cpp',
370                 'src/BoundObject.h',
371                 'src/CCThreadImpl.cpp',
372                 'src/CCThreadImpl.h',
373                 'src/ChromeClientImpl.cpp',
374                 'src/ChromeClientImpl.h',
375                 'src/ColorChooserProxy.cpp',
376                 'src/ColorChooserProxy.h',
377                 'src/ChromiumCurrentTime.cpp',
378                 'src/ChromiumOSRandomSource.cpp',
379                 'src/ChromiumThreading.cpp',
380                 'src/CompositionUnderlineBuilder.h',
381                 'src/CompositionUnderlineVectorBuilder.cpp',
382                 'src/CompositionUnderlineVectorBuilder.h',
383                 'src/ContextMenuClientImpl.cpp',
384                 'src/ContextMenuClientImpl.h',
385                 'src/DatabaseObserver.cpp',
386                 'src/DeviceOrientationClientProxy.cpp',
387                 'src/DeviceOrientationClientProxy.h',
388                 'src/DOMUtilitiesPrivate.cpp',
389                 'src/DOMUtilitiesPrivate.h',
390                 'src/DragClientImpl.cpp',
391                 'src/DragClientImpl.h',
392                 'src/DragScrollTimer.cpp',
393                 'src/DragScrollTimer.h',
394                 'src/EditorClientImpl.cpp',
395                 'src/EditorClientImpl.h',
396                 'src/EventListenerWrapper.cpp',
397                 'src/EventListenerWrapper.h',
398                 'src/Extensions3DChromium.cpp',
399                 'src/ExternalPopupMenu.cpp',
400                 'src/ExternalPopupMenu.h',
401                 'src/FrameLoaderClientImpl.cpp',
402                 'src/FrameLoaderClientImpl.h',
403                 'src/FrameNetworkingContextImpl.h',
404                 'src/GeolocationClientProxy.cpp',
405                 'src/GeolocationClientProxy.h',
406                 'src/GraphicsContext3DChromium.cpp',
407                 'src/GraphicsContext3DPrivate.h',
408                 'src/gtk/WebInputEventFactory.cpp',
409                 'src/IDBCallbacksProxy.cpp',
410                 'src/IDBCallbacksProxy.h',
411                 'src/IDBCursorBackendProxy.cpp',
412                 'src/IDBCursorBackendProxy.h',
413                 'src/IDBDatabaseCallbacksProxy.cpp',
414                 'src/IDBDatabaseCallbacksProxy.h',
415                 'src/IDBDatabaseBackendProxy.cpp',
416                 'src/IDBDatabaseBackendProxy.h',
417                 'src/IDBFactoryBackendProxy.cpp',
418                 'src/IDBFactoryBackendProxy.h',
419                 'src/IDBIndexBackendProxy.cpp',
420                 'src/IDBIndexBackendProxy.h',
421                 'src/IDBObjectStoreBackendProxy.cpp',
422                 'src/IDBObjectStoreBackendProxy.h',
423                 'src/IDBTransactionBackendProxy.cpp',
424                 'src/IDBTransactionBackendProxy.h',
425                 'src/IDBTransactionCallbacksProxy.cpp',
426                 'src/IDBTransactionCallbacksProxy.h',
427                 'src/InspectorClientImpl.cpp',
428                 'src/InspectorClientImpl.h',
429                 'src/InspectorFrontendClientImpl.cpp',
430                 'src/InspectorFrontendClientImpl.h',
431                 'src/NonCompositedContentHost.cpp',
432                 'src/NonCompositedContentHost.h',
433                 'src/android/WebInputEventFactory.cpp',
434                 'src/linux/WebFontInfo.cpp',
435                 'src/linux/WebFontRendering.cpp',
436                 'src/linux/WebFontRenderStyle.cpp',
437                 'src/linux/WebRenderTheme.cpp',
438                 'src/x11/WebScreenInfoFactory.cpp',
439                 'src/mac/WebInputEventFactory.mm',
440                 'src/mac/WebScreenInfoFactory.mm',
441                 'src/mac/WebSubstringUtil.mm',
442                 'src/LocalFileSystemChromium.cpp',
443                 'src/LocalizedStrings.cpp',
444                 'src/MediaPlayerPrivateChromium.cpp',
445                 'src/NotificationPresenterImpl.h',
446                 'src/NotificationPresenterImpl.cpp',
447                 'src/painting/GraphicsContextBuilder.h',
448                 'src/PageOverlay.cpp',
449                 'src/PageOverlay.h',
450                 'src/PageOverlayList.cpp',
451                 'src/PageOverlayList.h',
452                 'src/PlatformMessagePortChannel.cpp',
453                 'src/PlatformMessagePortChannel.h',
454                 'src/PlatformSupport.cpp',
455                 'src/ResourceHandle.cpp',
456                 'src/ScrollbarGroup.cpp',
457                 'src/ScrollbarGroup.h',
458                 'src/SharedWorkerRepository.cpp',
459                 'src/SocketStreamHandle.cpp',
460                 'src/SpeechInputClientImpl.cpp',
461                 'src/SpeechInputClientImpl.h',
462                 'src/StorageAreaProxy.cpp',
463                 'src/StorageAreaProxy.h',
464                 'src/StorageEventDispatcherChromium.cpp',
465                 'src/StorageEventDispatcherImpl.cpp',
466                 'src/StorageEventDispatcherImpl.h',
467                 'src/StorageInfoChromium.cpp',
468                 'src/StorageNamespaceProxy.cpp',
469                 'src/StorageNamespaceProxy.h',
470                 'src/UserMediaClientImpl.h',
471                 'src/UserMediaClientImpl.cpp',
472                 'src/WebTextCheckingCompletionImpl.h',
473                 'src/WebTextCheckingCompletionImpl.cpp',
474                 'src/VideoFrameChromiumImpl.cpp',
475                 'src/VideoFrameChromiumImpl.h',
476                 'src/WebAccessibilityObject.cpp',
477                 'src/WebAnimationControllerImpl.cpp',
478                 'src/WebAnimationControllerImpl.h',
479                 'src/WebArrayBuffer.cpp',
480                 'src/WebArrayBufferView.cpp',
481                 'src/WebAttribute.cpp',
482                 'src/WebAudioBus.cpp',
483                 'src/WebBindings.cpp',
484                 'src/WebBlob.cpp',
485                 'src/WebBlobData.cpp',
486                 'src/WebCache.cpp',
487                 'src/WebColor.cpp',
488                 'src/WebColorChooserClientImpl.cpp',
489                 'src/WebColorChooserClientImpl.h',
490                 'src/WebCommon.cpp',
491                 'src/WebCompositorImpl.cpp',
492                 'src/WebCompositorImpl.h',
493                 'src/WebCompositorInputHandlerImpl.cpp',
494                 'src/WebCompositorInputHandlerImpl.h',
495                 'src/WebContentLayer.cpp',
496                 'src/WebContentLayerImpl.cpp',
497                 'src/WebContentLayerImpl.h',
498                 'src/WebCrossOriginPreflightResultCache.cpp',
499                 'src/WebCString.cpp',
500                 'src/WebCursorInfo.cpp',
501                 'src/WebDOMEvent.cpp',
502                 'src/WebDOMEventListener.cpp',
503                 'src/WebDOMEventListenerPrivate.cpp',
504                 'src/WebDOMEventListenerPrivate.h',
505                 'src/WebDOMMessageEvent.cpp',
506                 'src/WebDOMMouseEvent.cpp',
507                 'src/WebDOMMutationEvent.cpp',
508                 'src/WebDOMStringList.cpp',
509                 'src/WebData.cpp',
510                 'src/WebDatabase.cpp',
511                 'src/WebDataSourceImpl.cpp',
512                 'src/WebDataSourceImpl.h',
513                 'src/WebDevToolsAgentImpl.cpp',
514                 'src/WebDevToolsAgentImpl.h',
515                 'src/WebDevToolsFrontendImpl.cpp',
516                 'src/WebDevToolsFrontendImpl.h',
517                 'src/WebDeviceOrientation.cpp',
518                 'src/WebDeviceOrientationClientMock.cpp',
519                 'src/WebDeviceOrientationController.cpp',
520                 'src/WebDocument.cpp',
521                 'src/WebDocumentType.cpp',
522                 'src/WebDragData.cpp',
523                 'src/WebElement.cpp',
524                 'src/WebEntities.cpp',
525                 'src/WebEntities.h',
526                 'src/WebExternalTextureLayer.cpp',
527                 'src/WebExternalTextureLayerImpl.cpp',
528                 'src/WebExternalTextureLayerImpl.h',
529                 'src/WebFileChooserCompletionImpl.cpp',
530                 'src/WebFileChooserCompletionImpl.h',
531                 'src/WebFileSystemCallbacksImpl.cpp',
532                 'src/WebFileSystemCallbacksImpl.h',
533                 'src/WebFloatQuad.cpp',
534                 'src/WebFontCache.cpp',
535                 'src/WebFontDescription.cpp',
536                 'src/WebFontImpl.cpp',
537                 'src/WebFontImpl.h',
538                 'src/WebFormControlElement.cpp',
539                 'src/WebFormElement.cpp',
540                 'src/WebFrameImpl.cpp',
541                 'src/WebFrameImpl.h',
542                 'src/WebGeolocationController.cpp',
543                 'src/WebGeolocationClientMock.cpp',
544                 'src/WebGeolocationError.cpp',
545                 'src/WebGeolocationPermissionRequest.cpp',
546                 'src/WebGeolocationPermissionRequestManager.cpp',
547                 'src/WebGeolocationPosition.cpp',
548                 'src/WebGlyphCache.cpp',
549                 'src/WebGraphicsContext3D.cpp',
550                 'src/WebHistoryItem.cpp',
551                 'src/WebHTTPBody.cpp',
552                 'src/WebHTTPLoadInfo.cpp',
553                 'src/WebIconLoadingCompletionImpl.cpp',
554                 'src/WebIconLoadingCompletionImpl.h',
555                 'src/WebIDBCallbacksImpl.cpp',
556                 'src/WebIDBCallbacksImpl.h',
557                 'src/WebIDBCursorImpl.cpp',
558                 'src/WebIDBCursorImpl.h',
559                 'src/WebIDBDatabaseCallbacksImpl.cpp',
560                 'src/WebIDBDatabaseCallbacksImpl.h',
561                 'src/WebIDBDatabaseError.cpp',
562                 'src/WebIDBDatabaseImpl.cpp',
563                 'src/WebIDBDatabaseImpl.h',
564                 'src/WebIDBFactoryImpl.cpp',
565                 'src/WebIDBFactoryImpl.h',
566                 'src/WebIDBIndexImpl.cpp',
567                 'src/WebIDBIndexImpl.h',
568                 'src/WebIDBKey.cpp',
569                 'src/WebIDBKeyPath.cpp',
570                 'src/WebIDBKeyRange.cpp',
571                 'src/WebIDBObjectStoreImpl.cpp',
572                 'src/WebIDBObjectStoreImpl.h',
573                 'src/WebIDBTransactionImpl.cpp',
574                 'src/WebIDBTransactionImpl.h',
575                 'src/WebIDBTransactionCallbacksImpl.cpp',
576                 'src/WebIDBTransactionCallbacksImpl.h',
577                 'src/WebImageCG.cpp',
578                 'src/WebImageDecoder.cpp',
579                 'src/WebImageSkia.cpp',
580                 'src/WebInputElement.cpp',
581                 'src/WebInputEvent.cpp',
582                 'src/WebInputEventConversion.cpp',
583                 'src/WebInputEventConversion.h',
584                 'src/WebIntent.cpp',
585                 'src/WebIntentServiceInfo.cpp',
586                 'src/WebKit.cpp',
587                 'src/WebLabelElement.cpp',
588                 'src/WebLayer.cpp',
589                 'src/WebLayerImpl.cpp',
590                 'src/WebLayerImpl.h',
591                 'src/WebLayerTreeView.cpp',
592                 'src/WebLayerTreeViewImpl.cpp',
593                 'src/WebLayerTreeViewImpl.h',
594                 'src/WebMediaElement.cpp',
595                 'src/WebMediaPlayerClientImpl.cpp',
596                 'src/WebMediaPlayerClientImpl.h',
597                 'src/WebMediaStreamDescriptor.cpp',
598                 'src/WebMediaStreamRegistry.cpp',
599                 'src/WebMediaStreamSource.cpp',
600                 'src/WebNamedNodeMap.cpp',
601                 'src/WebNetworkStateNotifier.cpp',
602                 'src/WebNode.cpp',
603                 'src/WebNodeCollection.cpp',
604                 'src/WebNodeList.cpp',
605                 'src/WebNotification.cpp',
606                 'src/WebOptionElement.cpp',
607                 'src/WebPageSerializer.cpp',
608                 'src/WebPageSerializerImpl.cpp',
609                 'src/WebPageSerializerImpl.h',
610                 'src/WebPasswordFormData.cpp',
611                 'src/WebPasswordFormUtils.cpp',
612                 'src/WebPasswordFormUtils.h',
613                 'src/WebPerformance.cpp',
614                 'src/WebPluginContainerImpl.h',
615                 'src/WebPluginContainerImpl.cpp',
616                 'src/WebPluginDocument.cpp',
617                 'src/WebPluginListBuilderImpl.cpp',
618                 'src/WebPluginListBuilderImpl.h',
619                 'src/WebPluginLoadObserver.cpp',
620                 'src/WebPluginLoadObserver.h',
621                 'src/WebPopupMenuImpl.cpp',
622                 'src/WebPopupMenuImpl.h',
623                 'src/WebRange.cpp',
624                 'src/WebRegularExpression.cpp',
625                 'src/WebRuntimeFeatures.cpp',
626                 'src/WebScriptController.cpp',
627                 'src/WebScrollbarImpl.cpp',
628                 'src/WebScrollbarImpl.h',
629                 'src/WebSearchableFormData.cpp',
630                 'src/WebSecurityOrigin.cpp',
631                 'src/WebSecurityPolicy.cpp',
632                 'src/WebSelectElement.cpp',
633                 'src/WebSerializedScriptValue.cpp',
634                 'src/WebSettingsImpl.cpp',
635                 'src/WebSettingsImpl.h',
636                 'src/WebSharedWorkerImpl.cpp',
637                 'src/WebSharedWorkerImpl.h',
638                 'src/WebSocket.cpp',
639                 'src/WebSocketImpl.cpp',
640                 'src/WebSocketImpl.h',
641                 'src/WebSpeechInputControllerMockImpl.cpp',
642                 'src/WebSpeechInputControllerMockImpl.h',
643                 'src/WebSpeechInputResult.cpp',
644                 'src/WebStorageAreaImpl.cpp',
645                 'src/WebStorageAreaImpl.h',
646                 'src/WebStorageEventDispatcherImpl.cpp',
647                 'src/WebStorageEventDispatcherImpl.h',
648                 'src/WebStorageNamespaceImpl.cpp',
649                 'src/WebStorageNamespaceImpl.h',
650                 'src/WebStorageQuotaCallbacksImpl.cpp',
651                 'src/WebStorageQuotaCallbacksImpl.h',
652                 'src/WebString.cpp',
653                 'src/WebTextRun.cpp',
654                 'src/WebThreadSafeData.cpp',
655                 'src/WebURL.cpp',
656                 'src/WebURLLoadTiming.cpp',
657                 'src/WebURLRequest.cpp',
658                 'src/WebURLRequestPrivate.h',
659                 'src/WebURLResponse.cpp',
660                 'src/WebURLResponsePrivate.h',
661                 'src/WebURLError.cpp',
662                 'src/WebUserMediaRequest.cpp',
663                 'src/WebViewImpl.cpp',
664                 'src/WebViewImpl.h',
665                 'src/WebWorkerBase.cpp',
666                 'src/WebWorkerBase.h',
667                 'src/WebWorkerClientImpl.cpp',
668                 'src/WebWorkerClientImpl.h',
669                 'src/WebWorkerImpl.cpp',
670                 'src/WebWorkerImpl.h',
671                 'src/WebWorkerRunLoop.cpp',
672                 'src/WorkerAsyncFileSystemChromium.cpp',
673                 'src/WorkerAsyncFileSystemChromium.h',
674                 'src/WorkerAsyncFileWriterChromium.cpp',
675                 'src/WorkerAsyncFileWriterChromium.h',
676                 'src/WorkerFileSystemCallbacksBridge.cpp',
677                 'src/WorkerFileSystemCallbacksBridge.h',
678                 'src/WorkerFileWriterCallbacksBridge.cpp',
679                 'src/WorkerFileWriterCallbacksBridge.h',
680                 'src/WrappedResourceRequest.h',
681                 'src/WrappedResourceResponse.h',
682                 'src/win/WebInputEventFactory.cpp',
683                 'src/win/WebScreenInfoFactory.cpp',
684             ],
685             'conditions': [
686                 ['inside_chromium_build==1', {
687                     'type': '<(component)',
688
689                     'conditions': [
690                         ['component=="shared_library"', {
691                             'defines': [
692                                 'WEBKIT_DLL',
693                             ],
694                             'dependencies': [
695                                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings',
696                                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_test_support',
697                                 '<(chromium_src_dir)/base/base.gyp:test_support_base',
698                                 '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
699                                 '<(chromium_src_dir)/testing/gtest.gyp:gtest',
700                                 '<(chromium_src_dir)/testing/gmock.gyp:gmock',
701                                 '<(chromium_src_dir)/third_party/icu/icu.gyp:*',
702                                 '<(chromium_src_dir)/third_party/libjpeg_turbo/libjpeg.gyp:libjpeg',
703                                 '<(chromium_src_dir)/third_party/libpng/libpng.gyp:libpng',
704                                 '<(chromium_src_dir)/third_party/libxml/libxml.gyp:libxml',
705                                 '<(chromium_src_dir)/third_party/libxslt/libxslt.gyp:libxslt',
706                                 '<(chromium_src_dir)/third_party/modp_b64/modp_b64.gyp:modp_b64',
707                                 '<(chromium_src_dir)/third_party/ots/ots.gyp:ots',
708                                 '<(chromium_src_dir)/third_party/zlib/zlib.gyp:zlib',
709                                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
710                                 # We must not add webkit_support here because of cyclic dependency.
711                             ],
712                             'direct_dependent_settings': {
713                                 'defines': [
714                                     'WEBKIT_DLL',
715                                 ],
716                             },
717                             'export_dependent_settings': [
718                                 '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
719                                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
720                             ],
721                             'include_dirs': [
722                                 # WARNING: Do not view this particular case as a precedent for
723                                 # including WebCore headers in DumpRenderTree project.
724                                 '../../WebCore/testing/v8', # for WebCoreTestSupport.h, needed to link in window.internals code.
725                             ],
726                             'sources': [
727                                 '<@(webkit_unittest_files)',
728                                 'src/WebTestingSupport.cpp',
729                                 'public/WebTestingSupport.h',
730                                 'tests/WebUnitTests.cpp',   # Components test runner support.
731                             ],
732                             'sources!': [
733                                 # We should not include files depending on webkit_support.
734                                 # These tests depend on webkit_support and
735                                 # functions defined only in !WEBKIT_IMPLEMENTATION.
736                                 'tests/AssociatedURLLoaderTest.cpp',
737                                 'tests/CCLayerTreeHostTest.cpp',
738                                 'tests/FrameTestHelpers.cpp',
739                                 'tests/PopupMenuTest.cpp',
740                                 'tests/RenderTableCellTest.cpp',
741                                 'tests/WebFrameTest.cpp',
742                                 'tests/WebPageNewSerializerTest.cpp',
743                                 'tests/WebPageSerializerTest.cpp',
744                                 'tests/WebViewTest.cpp',
745                             ],
746                             'conditions': [
747                                 ['OS=="win" or OS=="mac"', {
748                                     'dependencies': [
749                                         '<(chromium_src_dir)/third_party/nss/nss.gyp:*',
750                                     ],
751                                 }],
752                             ],
753                             'msvs_settings': {
754                               'VCLinkerTool': {
755                                 'conditions': [
756                                   ['incremental_chrome_dll==1', {
757                                     'UseLibraryDependencyInputs': "true",
758                                   }],
759                                 ],
760                               },
761                             },
762                         }],
763                     ],
764                 }],
765                 ['use_x11 == 1', {
766                     'dependencies': [
767                         '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
768                         '<(chromium_src_dir)/build/linux/system.gyp:x11',
769                     ],
770                     'include_dirs': [
771                         'public/x11',
772                         'public/linux',
773                     ],
774                 }, { # else: use_x11 != 1
775                     'sources/': [
776                         ['exclude', '/x11/'],
777                         ['exclude', '/linux/'],
778                     ],
779                 }],
780                 ['toolkit_uses_gtk == 1', {
781                     'dependencies': [
782                         '<(chromium_src_dir)/build/linux/system.gyp:gtk',
783                     ],
784                     'include_dirs': [
785                         'public/gtk',
786                     ],
787                 }, { # else: toolkit_uses_gtk != 1
788                     'sources/': [
789                         ['exclude', '/gtk/'],
790                     ],
791                 }],
792                 ['OS=="android"', {
793                     'include_dirs': [
794                         'public/android',
795                     ],
796                 }, { # else: OS!="android"
797                     'sources/': [
798                         ['exclude', '/android/'],
799                     ],
800                 }],
801                 ['OS=="mac"', {
802                     'include_dirs': [
803                         'public/mac',
804                     ],
805                     'conditions': [
806                         ['use_skia==0', {
807                             'sources/': [
808                                 ['exclude', 'Skia\\.cpp$'],
809                             ],
810                         },{ # use_skia
811                             'sources/': [
812                                 ['exclude', 'CG\\.cpp$'],
813                             ],
814                         }],
815                     ],
816                 }, { # else: OS!="mac"
817                     'sources/': [
818                         ['exclude', '/mac/'],
819                         ['exclude', 'CG\\.cpp$'],
820                     ],
821                 }],
822                 ['OS=="win"', {
823                     'include_dirs': [
824                         'public/win',
825                     ],
826                 }, { # else: OS!="win"
827                     'sources/': [['exclude', '/win/']],
828                     'variables': {
829                         # FIXME: Turn on warnings on Windows.
830                         'chromium_code': 1,
831                     }
832                 }],
833                 ['"ENABLE_WEBGL=1" in feature_defines', {
834                     'conditions': [
835                         ['OS=="mac"', {
836                             'link_settings': {
837                                 'libraries': [
838                                     '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
839                                 ],
840                             },
841                         }],
842                     ],
843                 }],
844             ],
845         },
846         {
847             'target_name': 'inspector_resources',
848             'type': 'none',
849             'dependencies': [
850                 'devtools_html',
851                 '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources',
852             ],
853             'conditions': [
854                 ['debug_devtools==0', {
855                     'dependencies': ['concatenated_devtools_js',
856                                      'concatenated_heap_snapshot_worker_js',
857                                      'concatenated_script_formatter_worker_js',
858                                      'concatenated_devtools_css'],
859                 }],
860             ],
861             'copies': [
862                 {
863                     'destination': '<(PRODUCT_DIR)/resources/inspector',
864                     'files': [
865                         '<@(devtools_files)',
866                         '<@(webinspector_files)',
867                         '<(SHARED_INTERMEDIATE_DIR)/webcore/InspectorBackendStub.js',
868                     ],
869                     'conditions': [
870                         ['debug_devtools==0', {
871                             'files/': [['exclude', '\\.(js|css|html)$']],
872                         }],
873                     ],
874                 },
875                 {
876                     'destination': '<(PRODUCT_DIR)/resources/inspector/UglifyJS',
877                     'files': [
878                         '<@(webinspector_uglifyjs_files)',
879                     ],
880                     'conditions': [
881                         ['debug_devtools==0', {
882                             'files/': [['exclude', '\\.(js|css|html)$']],
883                         }],
884                     ],
885                 },
886                 {
887                     'destination': '<(PRODUCT_DIR)/resources/inspector/Images',
888                     'files': [
889                         '<@(webinspector_image_files)',
890                         '<@(devtools_image_files)',
891                     ],
892                },
893             ],
894         },
895         {
896             'target_name': 'devtools_html',
897             'type': 'none',
898             'sources': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
899             'actions': [{
900                 'action_name': 'devtools_html',
901                 'script_name': 'scripts/generate_devtools_html.py',
902                 'input_page': '../../WebCore/inspector/front-end/inspector.html',
903                 'inputs': [
904                     '<@(_script_name)',
905                     '<@(_input_page)',
906                     '<@(devtools_files)',
907                 ],
908                 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
909                 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_outputs)', '<@(debug_devtools)', '<@(devtools_files)'],
910             }],
911         },
912         {
913             'target_name': 'devtools_extension_api',
914             'type': 'none',
915             'actions': [{
916                 'action_name': 'devtools_html',
917                 'script_name': 'scripts/generate_devtools_extension_api.py',
918                 'inputs': [
919                     '<@(_script_name)',
920                     '<@(webinspector_extension_api_files)',
921                 ],
922                 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js'],
923                 'action': ['python', '<@(_script_name)', '<@(_outputs)', '<@(webinspector_extension_api_files)'],
924             }],
925         },
926         {
927             'target_name': 'generate_devtools_grd',
928             'type': 'none',
929             'dependencies': [
930                 'devtools_html',
931                 'devtools_extension_api'
932             ],
933             'conditions': [
934                 ['debug_devtools==0', {
935                     'dependencies': ['concatenated_devtools_js',
936                                      'concatenated_heap_snapshot_worker_js',
937                                      'concatenated_script_formatter_worker_js',
938                                      'concatenated_devtools_css'],
939                 },{
940                     # If we're not concatenating devtools files, we want to
941                     # run after the original files have been copied to
942                     # <(PRODUCT_DIR)/resources/inspector.
943                     'dependencies': ['inspector_resources'],
944                 }],
945             ],
946             'actions': [{
947                 'action_name': 'generate_devtools_grd',
948                 'script_name': 'scripts/generate_devtools_grd.py',
949                 'input_pages': [
950                     '<(PRODUCT_DIR)/resources/inspector/devtools.html',
951                     '<(PRODUCT_DIR)/resources/inspector/DevTools.js',
952                     '<(PRODUCT_DIR)/resources/inspector/HeapSnapshotWorker.js',
953                     '<(PRODUCT_DIR)/resources/inspector/ScriptFormatterWorker.js',
954                     '<(PRODUCT_DIR)/resources/inspector/devTools.css',
955                     '<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js',
956                     '<@(webinspector_standalone_css_files)',
957                 ],
958                 'images': [
959                     '<@(webinspector_image_files)',
960                     '<@(devtools_image_files)',
961                 ],
962                 'inputs': [
963                     '<@(_script_name)',
964                     '<@(_input_pages)',
965                     '<@(_images)',
966                 ],
967                 'search_path': [
968                     '../../WebCore/inspector/front-end/Images',
969                     'src/js/Images',
970                 ],
971                 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'],
972                 'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--images', '<@(_search_path)', '--output', '<@(_outputs)'],
973             }],
974         },
975         {
976             'target_name': 'generate_devtools_zip',
977             'type': 'none',
978             'dependencies': [
979                 '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources',
980             ],
981             'actions': [{
982                 'action_name': 'generate_devtools_zip',
983                 'script_name': 'scripts/generate_devtools_zip.py',
984                 'inspector_html': '../../WebCore/inspector/front-end/inspector.html',
985                 'workers_files': [
986                     '../../WebCore/inspector/front-end/HeapSnapshotWorker.js',
987                     '../../WebCore/inspector/front-end/JavaScriptFormatter.js',
988                     '../../WebCore/inspector/front-end/ScriptFormatterWorker.js',
989                     '<@(webinspector_uglifyjs_files)'
990                 ],
991                 'inputs': [
992                     '<@(_script_name)',
993                     'scripts/generate_devtools_html.py',
994                     'scripts/generate_devtools_extension_api.py',
995                     '<@(_inspector_html)',
996                     '<@(devtools_files)',
997                     '<@(webinspector_files)',
998                     '<(SHARED_INTERMEDIATE_DIR)/webcore/InspectorBackendStub.js',
999                     '<@(_workers_files)',
1000                     '<@(webinspector_image_files)',
1001                     '<@(devtools_image_files)',
1002                     '<@(webinspector_extension_api_files)',
1003                 ],
1004                 'search_path': [
1005                     '../../WebCore/inspector/front-end',
1006                     'src/js',
1007                 ],
1008                 'js_search_path': [
1009                     '<(SHARED_INTERMEDIATE_DIR)/webcore',
1010                 ],
1011                 'outputs': ['<(PRODUCT_DIR)/devtools_frontend.zip'],
1012                 'action': ['python', '<@(_script_name)', '<@(_inspector_html)',
1013                                      '--devtools-files', '<@(devtools_files)',
1014                                      '--workers-files', '<@(_workers_files)',
1015                                      '--extension-api-files', '<@(webinspector_extension_api_files)',
1016                                      '--search-path', '<@(_search_path)',
1017                                      '--js-search-path', '<@(_js_search_path)',
1018                                      '--output', '<@(_outputs)'],
1019             }],
1020         },
1021     ], # targets
1022     'conditions': [
1023         ['os_posix==1 and OS!="mac" and OS!="android" and gcc_version==46', {
1024             'target_defaults': {
1025                 # Disable warnings about c++0x compatibility, as some names (such
1026                 # as nullptr) conflict with upcoming c++0x types.
1027                 'cflags_cc': ['-Wno-c++0x-compat'],
1028             },
1029         }],
1030         ['OS=="mac"', {
1031             'targets': [
1032                 {
1033                     'target_name': 'copy_mesa',
1034                     'type': 'none',
1035                     'dependencies': ['<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa'],
1036                     'copies': [{
1037                         'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/MacOS/',
1038                         'files': ['<(PRODUCT_DIR)/osmesa.so'],
1039                     }],
1040                 },
1041             ],
1042         }],
1043         ['debug_devtools==0', {
1044             'targets': [
1045                 {
1046                     'target_name': 'concatenated_devtools_js',
1047                     'type': 'none',
1048                     'dependencies': [
1049                         'devtools_html',
1050                         '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources'
1051                     ],
1052                     'actions': [{
1053                         'action_name': 'concatenate_devtools_js',
1054                         'script_name': 'scripts/concatenate_js_files.py',
1055                         'input_page': '../../WebCore/inspector/front-end/inspector.html',
1056                         'inputs': [
1057                             '<@(_script_name)',
1058                             '<@(_input_page)',
1059                             '<@(webinspector_files)',
1060                             '<@(devtools_files)',
1061                             '<(SHARED_INTERMEDIATE_DIR)/webcore/InspectorBackendStub.js'
1062                         ],
1063                         'search_path': [
1064                             '../../WebCore/inspector/front-end',
1065                             'src/js',
1066                             '<(SHARED_INTERMEDIATE_DIR)/webcore',
1067                         ],
1068                         'outputs': ['<(PRODUCT_DIR)/resources/inspector/DevTools.js'],
1069                         'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'],
1070                     }],
1071                 },
1072                 {
1073                     'target_name': 'concatenated_heap_snapshot_worker_js',
1074                     'type': 'none',
1075                     'actions': [{
1076                         'action_name': 'concatenate_heap_snapshot_worker_js',
1077                         'script_name': 'scripts/inline_js_imports.py',
1078                         'input_file': '../../WebCore/inspector/front-end/HeapSnapshotWorker.js',
1079                         'inputs': [
1080                             '<@(_script_name)',
1081                             '<@(_input_file)',
1082                             '../../WebCore/inspector/front-end/BinarySearch.js',
1083                             '../../WebCore/inspector/front-end/HeapSnapshot.js',
1084                             '../../WebCore/inspector/front-end/HeapSnapshotWorkerDispatcher.js',
1085                             '../../WebCore/inspector/front-end/PartialQuickSort.js',
1086                         ],
1087                         'search_path': '../../WebCore/inspector/front-end',
1088                         'outputs': ['<(PRODUCT_DIR)/resources/inspector/HeapSnapshotWorker.js'],
1089                         'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
1090                     }],
1091                 },
1092                 {
1093                     'target_name': 'concatenated_script_formatter_worker_js',
1094                     'type': 'none',
1095                     'actions': [{
1096                         'action_name': 'concatenate_script_formatter_worker_js',
1097                         'script_name': 'scripts/inline_js_imports.py',
1098                         'input_file': '../../WebCore/inspector/front-end/ScriptFormatterWorker.js',
1099                         'inputs': [
1100                             '<@(_script_name)',
1101                             '<@(_input_file)',
1102                             '<@(webinspector_uglifyjs_files)'
1103                         ],
1104                         'search_path': '../../WebCore/inspector/front-end',
1105                         'outputs': ['<(PRODUCT_DIR)/resources/inspector/ScriptFormatterWorker.js'],
1106                         'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
1107                     }],
1108                 },
1109                 {
1110                     'target_name': 'concatenated_devtools_css',
1111                     'type': 'none',
1112                     'dependencies': [
1113                         'devtools_html'
1114                     ],
1115                     'actions': [{
1116                         'action_name': 'concatenate_devtools_css',
1117                         'script_name': 'scripts/concatenate_css_files.py',
1118                         'input_page': '../../WebCore/inspector/front-end/inspector.html',
1119                         'inputs': [
1120                             '<@(_script_name)',
1121                             '<@(_input_page)',
1122                             '<@(webinspector_files)',
1123                             '<@(devtools_files)'
1124                         ],
1125                         'search_path': [
1126                             '../../WebCore/inspector/front-end',
1127                             'src/js',
1128                         ],
1129                         'outputs': ['<(PRODUCT_DIR)/resources/inspector/devTools.css'],
1130                         'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'],
1131                     }],
1132                     'copies': [{
1133                         'destination': '<(PRODUCT_DIR)/resources/inspector',
1134                         'files': [
1135                             '<@(webinspector_standalone_css_files)',
1136                         ],
1137                     }],
1138                 },
1139             ],
1140         }],
1141         # FIXME: Delete this whole block once chromium's build/common.gypi
1142         # is setting this flag to 0 by default. See
1143         # https://bugs.webkit.org/show_bug.cgi?id=68463.
1144         ['build_webkit_exes_from_webkit_gyp==1', {
1145             'includes': [
1146                 '../../../Tools/DumpRenderTree/DumpRenderTree.gypi',
1147                 '../../../Tools/TestWebKitAPI/TestWebKitAPI.gypi',
1148             ],
1149             'targets': [
1150                 {
1151                     'target_name': 'webkit_unit_tests',
1152                     'type': 'executable',
1153                     'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD',
1154                     'dependencies': [
1155                         'webkit',
1156                         '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
1157                         '<(chromium_src_dir)/testing/gtest.gyp:gtest',
1158                         '<(chromium_src_dir)/testing/gmock.gyp:gmock',
1159                         '<(chromium_src_dir)/base/base.gyp:base',
1160                         '<(chromium_src_dir)/base/base.gyp:base_i18n',
1161                         '<(chromium_src_dir)/base/base.gyp:test_support_base',
1162                         '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
1163                         '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_user_agent',
1164                     ],
1165                     'sources': [
1166                         'tests/RunAllTests.cpp',
1167                     ],
1168                     'include_dirs': [
1169                         'public',
1170                         'src',
1171                     ],
1172                     'conditions': [
1173                         ['inside_chromium_build==1 and component=="shared_library"', {
1174                             'defines': [
1175                                 'WEBKIT_DLL_UNITTEST',
1176                             ],
1177                         }, {
1178                             'sources': [
1179                                 '<@(webkit_unittest_files)',
1180                             ],
1181                             'conditions': [
1182                                 ['toolkit_uses_gtk == 1', {
1183                                     'include_dirs': [
1184                                         'public/gtk',
1185                                     ],
1186                                     'variables': {
1187                                     # FIXME: Enable warnings on other platforms.
1188                                     'chromium_code': 1,
1189                                     },
1190                                 }],
1191                             ],
1192                         }],
1193                         ['inside_chromium_build==1 and OS=="win" and component!="shared_library"', {
1194                             'configurations': {
1195                                 'Debug_Base': {
1196                                     'msvs_settings': {
1197                                         'VCLinkerTool': {
1198                                             'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
1199                                         },
1200                                     },
1201                                 },
1202                             },
1203                         }],
1204                     ],
1205                 },
1206                 {
1207                     'target_name': 'ImageDiff',
1208                     'type': 'executable',
1209                     'dependencies': [
1210                         '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support_gfx',
1211                     ],
1212                     'include_dirs': [
1213                         '../../JavaScriptCore',
1214                         '<(DEPTH)',
1215                     ],
1216                     'sources': [
1217                         '../../../Tools/DumpRenderTree/chromium/ImageDiff.cpp',
1218                     ],
1219                     'conditions': [
1220                         ['OS=="android"', {
1221                             'toolsets': ['host'],
1222                         }],
1223                     ],
1224                 },
1225                 {
1226                     'target_name': 'DumpRenderTree',
1227                     'type': 'executable',
1228                     'mac_bundle': 1,
1229                     'dependencies': [
1230                         'inspector_resources',
1231                         'webkit',
1232                         '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
1233                         '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
1234                         '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
1235                         '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
1236                         '<(chromium_src_dir)/webkit/support/webkit_support.gyp:blob',
1237                         '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
1238                         '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_user_agent',
1239                     ],
1240                     'include_dirs': [
1241                         '<(chromium_src_dir)',
1242                         'public',
1243                         '../../JavaScriptCore',
1244                         '../../JavaScriptCore/wtf', # wtf/text/*.h refers headers in wtf/ without wtf/.
1245                         '<(DEPTH)',
1246                     ],
1247                     'defines': [
1248                         # Technically not a unit test but require functions available only to
1249                         # unit tests.
1250                         'UNIT_TEST',
1251                     ],
1252                     'sources': [
1253                         '<@(drt_files)',
1254                     ],
1255                     'conditions': [
1256                         ['OS=="win"', {
1257                             'dependencies': [
1258                                 'LayoutTestHelper',
1259                                 '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:libEGL',
1260                                 '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:libGLESv2',
1261                             ],
1262
1263                             'resource_include_dirs': ['<(SHARED_INTERMEDIATE_DIR)/webkit'],
1264                             'sources': [
1265                                 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
1266                                 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
1267                                 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc',
1268                                 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc',
1269                             ],
1270                             'conditions': [
1271                                 ['inside_chromium_build==1', {
1272                                     'configurations': {
1273                                         'Debug_Base': {
1274                                             'msvs_settings': {
1275                                                 'VCLinkerTool': {
1276                                                     'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
1277                                                 },
1278                                             },
1279                                         },
1280                                     },
1281                                 }],
1282                             ],
1283                             'copies': [{
1284                                 'destination': '<(PRODUCT_DIR)',
1285                                 'files': ['<(ahem_path)'],
1286                             }],
1287                         },{ # OS!="win"
1288                             'sources/': [
1289                                 ['exclude', 'Win\\.cpp$'],
1290                             ],
1291                             'actions': [
1292                                 {
1293                                     'action_name': 'repack_locale',
1294                                     'variables': {
1295                                         'repack_path': '<(chromium_src_dir)/tools/grit/grit/format/repack.py',
1296                                         'pak_inputs': [
1297                                             '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
1298                                             '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/gfx_resources.pak',
1299                                             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
1300                                             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
1301                                             '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
1302                                     ]},
1303                                     'inputs': [
1304                                         '<(repack_path)',
1305                                         '<@(pak_inputs)',
1306                                     ],
1307                                     'outputs': [
1308                                         '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
1309                                     ],
1310                                     'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'],
1311                                     'process_outputs_as_mac_bundle_resources': 1,
1312                                 },
1313                             ], # actions
1314                         }],
1315                         ['OS=="mac"', {
1316                             'dependencies': [
1317                                 'copy_mesa',
1318                                 'LayoutTestHelper',
1319                             ],
1320                             'mac_bundle_resources': [
1321                                 '<(ahem_path)',
1322                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
1323                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
1324                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
1325                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
1326                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
1327                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
1328                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
1329                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
1330                                 '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
1331                                 '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
1332                             ],
1333                         },{ # OS!="mac"
1334                             'sources/': [
1335                                 # .mm is already excluded by common.gypi
1336                                 ['exclude', 'Mac\\.cpp$'],
1337                             ],
1338                         }],
1339                         ['use_x11 == 1', {
1340                             'dependencies': [
1341                                 '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
1342                             ],
1343                             'copies': [{
1344                                 'destination': '<(PRODUCT_DIR)',
1345                                 'files': [
1346                                     '<(ahem_path)',
1347                                     '../../../Tools/DumpRenderTree/chromium/fonts.conf',
1348                                     '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
1349                                 ]
1350                             }],
1351                             'variables': {
1352                                 # FIXME: Enable warnings on other platforms.
1353                                 'chromium_code': 1,
1354                             },
1355                             'conditions': [
1356                                 ['linux_use_tcmalloc == 1', {
1357                                     'dependencies': [
1358                                         '<(chromium_src_dir)/base/allocator/allocator.gyp:allocator',
1359                                     ],
1360                                 }],
1361                             ],
1362                         },{ # use_x11 != 1
1363                             'sources/': [
1364                                 ['exclude', 'Linux\\.cpp$']
1365                             ]
1366                         }],
1367                         ['toolkit_uses_gtk == 1', {
1368                             'defines': [
1369                                 'WTF_USE_GTK=1',
1370                             ],
1371                             'dependencies': [
1372                                 '<(chromium_src_dir)/build/linux/system.gyp:gtk',
1373                             ],
1374                             'include_dirs': [
1375                                 'public/gtk',
1376                             ],
1377                         },{ # toolkit_uses_gtk != 1
1378                             'sources/': [
1379                                 ['exclude', 'Gtk\\.cpp$']
1380                             ]
1381                         }],
1382                         ['OS=="android"', {
1383                             'dependencies': [
1384                                 'ImageDiff#host',
1385                             ],
1386                         },{ # OS!="android"
1387                             'dependencies': [
1388                                 'ImageDiff',
1389                                 'copy_TestNetscapePlugIn',
1390                                 '<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa',
1391                             ],
1392                         }],
1393                         ['inside_chromium_build==1 and component=="shared_library"', {
1394                             'sources': [
1395                                 'src/ChromiumCurrentTime.cpp',
1396                                 'src/ChromiumThreading.cpp',
1397                             ],
1398                             'include_dirs': [
1399                                 'public',
1400                             ],
1401                             'dependencies': [
1402                                 '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
1403                                 '../../WTF/WTF.gyp/WTF.gyp:newwtf',
1404                             ],
1405                         }],
1406                         ['inside_chromium_build==0', {
1407                             'dependencies': [
1408                                 '<(chromium_src_dir)/webkit/support/setup_third_party.gyp:third_party_headers',
1409                             ]
1410                         }],
1411                         ['inside_chromium_build==0 or component!="shared_library"', {
1412                             'dependencies': [
1413                                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_test_support',
1414                             ],
1415                             'include_dirs': [
1416                                 # WARNING: Do not view this particular case as a precedent for
1417                                 # including WebCore headers in DumpRenderTree project.
1418                                 '../../WebCore/testing/v8', # for WebCoreTestSupport.h, needed to link in window.internals code.
1419                             ],
1420                             'sources': [
1421                                 'src/WebTestingSupport.cpp',
1422                                 'public/WebTestingSupport.h',
1423                             ],
1424                         }],
1425                     ],
1426                 },
1427                 {
1428                     'target_name': 'TestNetscapePlugIn',
1429                     'type': 'loadable_module',
1430                     'sources': [ '<@(test_plugin_files)' ],
1431                     'dependencies': [
1432                         '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
1433                     ],
1434                     'include_dirs': [
1435                         '<(chromium_src_dir)',
1436                         '../../../Tools/DumpRenderTree/TestNetscapePlugIn',
1437                         '../../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
1438                     ],
1439                     'conditions': [
1440                         ['OS=="mac"', {
1441                             'mac_bundle': 1,
1442                             'product_extension': 'plugin',
1443                             'link_settings': {
1444                                 'libraries': [
1445                                     '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
1446                                     '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
1447                                     '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
1448                                 ]
1449                             },
1450                             'xcode_settings': {
1451                                 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
1452                                 'INFOPLIST_FILE': '../../../Tools/DumpRenderTree/TestNetscapePlugIn/mac/Info.plist',
1453                             },
1454                         }],
1455                         ['os_posix == 1 and OS != "mac"', {
1456                             'cflags': [
1457                                 '-fvisibility=default',
1458                             ],
1459                         }],
1460                         ['OS=="android"', {
1461                             'ldflags!': [
1462                                 '-nostdlib',
1463                             ],
1464                         }],
1465                         ['OS=="win"', {
1466                             'defines': [
1467                                 # This seems like a hack, but this is what Safari Win does.
1468                                 'snprintf=_snprintf',
1469                             ],
1470                             'sources': [
1471                                 '../../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def',
1472                                 '../../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc',
1473                             ],
1474                             # The .rc file requires that the name of the dll is npTestNetscapePlugin.dll.
1475                             'product_name': 'npTestNetscapePlugin',
1476                         }],
1477                     ],
1478                 },
1479                 {
1480                     'target_name': 'copy_TestNetscapePlugIn',
1481                     'type': 'none',
1482                     'dependencies': [
1483                         'TestNetscapePlugIn',
1484                     ],
1485                     'conditions': [
1486                         ['OS=="win"', {
1487                             'copies': [{
1488                                 'destination': '<(PRODUCT_DIR)/plugins',
1489                                 'files': ['<(PRODUCT_DIR)/npTestNetscapePlugIn.dll'],
1490                             }],
1491                         }],
1492                         ['OS=="mac"', {
1493                             'dependencies': ['TestNetscapePlugIn'],
1494                             'copies': [{
1495                                 'destination': '<(PRODUCT_DIR)/plugins/',
1496                                 'files': ['<(PRODUCT_DIR)/TestNetscapePlugIn.plugin/'],
1497                             }],
1498                         }],
1499                         ['os_posix == 1 and OS != "mac"', {
1500                             'copies': [{
1501                                 'destination': '<(PRODUCT_DIR)/plugins',
1502                                 'files': ['<(PRODUCT_DIR)/libTestNetscapePlugIn.so'],
1503                             }],
1504                         }],
1505                     ],
1506                 },
1507                 {
1508                     'target_name': 'TestWebKitAPI',
1509                     'type': 'executable',
1510                     'dependencies': [
1511                         'webkit',
1512                         '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
1513                         '<(chromium_src_dir)/base/base.gyp:test_support_base',
1514                         '<(chromium_src_dir)/testing/gtest.gyp:gtest',
1515                         '<(chromium_src_dir)/testing/gmock.gyp:gmock',
1516                         '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
1517                     ],
1518                     'include_dirs': [
1519                         '../../../Tools/TestWebKitAPI',
1520                         # Needed by tests/RunAllTests.cpp, as well as ChromiumCurrentTime.cpp and
1521                         # ChromiumThreading.cpp in chromium shared library configuration.
1522                         'public',
1523                     ],
1524                     'sources': [
1525                         # Reuse the same testing driver of Chromium's webkit_unit_tests.
1526                         'tests/RunAllTests.cpp',
1527                         '<@(TestWebKitAPI_files)',
1528                     ],
1529                     'conditions': [
1530                         ['inside_chromium_build==1 and component=="shared_library"', {
1531                             'sources': [
1532                                 # To satisfy linking of WTF::currentTime() etc. in shared library configuration,
1533                                 # as the symbols are not exported from the DLLs.
1534                                 'src/ChromiumCurrentTime.cpp',
1535                                 'src/ChromiumThreading.cpp',
1536                             ],
1537                         }],
1538                     ],
1539                 },
1540             ], # targets
1541             'conditions': [
1542                 ['OS=="win"', {
1543                     'targets': [{
1544                         'target_name': 'LayoutTestHelper',
1545                         'type': 'executable',
1546                         'sources': ['../../../Tools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
1547                     }],
1548                 }],
1549                 ['OS=="mac"', {
1550                     'targets': [{
1551                         'target_name': 'LayoutTestHelper',
1552                         'type': 'executable',
1553                         'sources': ['../../../Tools/DumpRenderTree/chromium/LayoutTestHelper.mm'],
1554                         'link_settings': {
1555                             'libraries': [
1556                                 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
1557                             ],
1558                         },
1559                     }],
1560                 }],
1561             ],
1562         }],
1563     ], # conditions
1564 }