OSDN Git Service

Merge Webkit at r70949: Initial merge by git.
[android-x86/external-webkit.git] / WebKit / chromium / WebKit.gyp
index 97efddc..f121c5f 100644 (file)
@@ -36,7 +36,6 @@
         'features.gypi',
     ],
     'variables': {
-        'webkit_target_type': 'static_library',
         'conditions': [
             # Location of the chromium src directory and target type is different
             # if webkit is built inside chromium or as standalone project.
                 # Webkit is being built outside of the full chromium project.
                 # e.g. via build-webkit --chromium
                 'chromium_src_dir': '../../WebKit/chromium',
+                'webkit_target_type': 'static_library',
 
                 # List of DevTools source files, ordered by dependencies. It is used both
                 # for copying them to resource dir, and for generating 'devtools.html' file.
                 'devtools_files': [
                     '<@(devtools_css_files)',
-                    '../../WebKit/chromium/v8/tools/codemap.js',
-                    '../../WebKit/chromium/v8/tools/consarray.js',
-                    '../../WebKit/chromium/v8/tools/csvparser.js',
-                    '../../WebKit/chromium/v8/tools/logreader.js',
-                    '../../WebKit/chromium/v8/tools/profile.js',
-                    '../../WebKit/chromium/v8/tools/profile_view.js',
-                    '../../WebKit/chromium/v8/tools/splaytree.js',
                     '<@(devtools_js_files)',
                 ],
             },{
                 # WebKit is checked out in src/chromium/third_party/WebKit
                 'chromium_src_dir': '../../../..',
+                'webkit_target_type': '<(library)',
 
                 'devtools_files': [
                     '<@(devtools_css_files)',
-                    '../../../../v8/tools/codemap.js',
-                    '../../../../v8/tools/consarray.js',
-                    '../../../../v8/tools/csvparser.js',
-                    '../../../../v8/tools/logreader.js',
-                    '../../../../v8/tools/profile.js',
-                    '../../../../v8/tools/profile_view.js',
-                    '../../../../v8/tools/splaytree.js',
                     '<@(devtools_js_files)',
                 ],
             }],
             'msvs_guid': '5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65',
             'dependencies': [
                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
+                '<(chromium_src_dir)/app/app.gyp:app_base', # For GLContext
                 '<(chromium_src_dir)/skia/skia.gyp:skia',
                 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
+                '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_glsl',
             ],
             'export_dependent_settings': [
                 '<(chromium_src_dir)/skia/skia.gyp:skia',
@@ -97,6 +86,7 @@
             'include_dirs': [
                 'public',
                 'src',
+                '<(chromium_src_dir)/third_party/angle/include',
             ],
             'defines': [
                 'WEBKIT_IMPLEMENTATION=1',
                 'public/linux/WebFontRendering.h',
                 'public/linux/WebFontRenderStyle.h',
                 'public/linux/WebRenderTheme.h',
+                'public/linux/WebThemeEngine.h',
                 'public/x11/WebScreenInfoFactory.h',
                 'public/mac/WebInputEventFactory.h',
                 'public/mac/WebSandboxSupport.h',
                 'public/mac/WebScreenInfoFactory.h',
                 'public/WebAccessibilityCache.h',
+                'public/WebAccessibilityNotification.h',
                 'public/WebAccessibilityObject.h',
                 'public/WebAccessibilityRole.h',
                 'public/WebAnimationController.h',
                 'public/WebApplicationCacheHostClient.h',
                 'public/WebAttribute.h',
                 'public/WebBindings.h',
+                'public/WebBlobData.h',
+                'public/WebBlobRegistry.h',
                 'public/WebCache.h',
                 'public/WebCanvas.h',
                 'public/WebClipboard.h',
                 'public/WebCrossOriginPreflightResultCache.h',
                 'public/WebCString.h',
                 'public/WebCursorInfo.h',
+                'public/WebDOMEvent.h',
+                'public/WebDOMEventListener.h',
+                'public/WebDOMMouseEvent.h',
+                'public/WebDOMMutationEvent.h',
                 'public/WebDOMStringList.h',
                 'public/WebData.h',
                 'public/WebDatabase.h',
                 'public/WebDevToolsAgentClient.h',
                 'public/WebDevToolsFrontend.h',
                 'public/WebDevToolsFrontendClient.h',
-                'public/WebDevToolsMessageData.h',
-                'public/WebDevToolsMessageTransport.h',
+                'public/WebDeviceOrientation.h',
+                'public/WebDeviceOrientationClient.h',
+                'public/WebDeviceOrientationClientMock.h',
+                'public/WebDeviceOrientationController.h',
                 'public/WebDocument.h',
                 'public/WebDocumentType.h',
                 'public/WebDragData.h',
                 'public/WebEditingAction.h',
                 'public/WebElement.h',
-                'public/WebEvent.h',
-                'public/WebEventListener.h',
+                'public/WebExceptionCode.h',
+                'public/WebExternalPopupMenu.h',
+                'public/WebExternalPopupMenuClient.h',
                 'public/WebFileChooserCompletion.h',
                 'public/WebFileChooserParams.h',
+                'public/WebFileError.h',
                 'public/WebFileInfo.h',
                 'public/WebFileSystem.h',
+                'public/WebFileSystemCallbacks.h',
+                'public/WebFileSystemEntry.h',
+                'public/WebFileUtilities.h',
+                'public/WebFileWriter.h',
+                'public/WebFileWriterClient.h',
                 'public/WebFindOptions.h',
                 'public/WebFloatPoint.h',
                 'public/WebFloatRect.h',
                 'public/WebGeolocationServiceBridge.h',
                 'public/WebGeolocationServiceMock.h',
                 'public/WebGlyphCache.h',
-                'public/WebGLES2Context.h',
                 'public/WebGraphicsContext3D.h',
                 'public/WebHistoryItem.h',
                 'public/WebHTTPBody.h',
                 'public/WebImage.h',
                 'public/WebImageDecoder.h',
                 'public/WebIDBCallbacks.h',
+                'public/WebIDBCursor.h',
                 'public/WebIDBDatabase.h',
                 'public/WebIDBDatabaseError.h',
+                'public/WebIDBFactory.h',
+                'public/WebIDBKeyRange.h',
                 'public/WebIDBIndex.h',
                 'public/WebIDBKey.h',
+                'public/WebIDBKeyPath.h',
                 'public/WebIDBObjectStore.h',
-                'public/WebIndexedDatabase.h',
+                'public/WebIDBTransaction.h',
+                'public/WebIDBTransactionCallbacks.h',
                 'public/WebInputElement.h',
                 'public/WebInputEvent.h',
                 'public/WebKit.h',
                 'public/WebMessagePortChannel.h',
                 'public/WebMessagePortChannelClient.h',
                 'public/WebMimeRegistry.h',
-                'public/WebMutationEvent.h',
                 'public/WebNamedNodeMap.h',
                 'public/WebNavigationType.h',
                 'public/WebNode.h',
                 'public/WebPageSerializerClient.h',
                 'public/WebPasswordAutocompleteListener.h',
                 'public/WebPasswordFormData.h',
+                'public/WebPerformance.h',
                 'public/WebPlugin.h',
                 'public/WebPluginContainer.h',
                 'public/WebPluginDocument.h',
                 'public/WebPopupMenuInfo.h',
                 'public/WebPopupType.h',
                 'public/WebPrivatePtr.h',
+                'public/WebPrivateOwnPtr.h',
                 'public/WebRange.h',
                 'public/WebRect.h',
                 'public/WebRegularExpression.h',
+                'public/WebResourceRawHeaders.h',
                 'public/WebRuntimeFeatures.h',
                 'public/WebScrollbar.h',
                 'public/WebScrollbarClient.h',
                 'public/WebSocketStreamHandle.h',
                 'public/WebSocketStreamHandleClient.h',
                 'public/WebSpeechInputController.h',
+                'public/WebSpeechInputControllerMock.h',
                 'public/WebSpeechInputListener.h',
+                'public/WebSpeechInputResult.h',
                 'public/WebStorageArea.h',
                 'public/WebStorageEventDispatcher.h',
                 'public/WebStorageNamespace.h',
                 'public/WebTextDirection.h',
                 'public/WebTextInputType.h',
                 'public/WebTextRun.h',
-                'public/WebThemeEngine.h',
+                'public/WebThreadSafeData.h',
                 'public/WebURL.h',
                 'public/WebURLError.h',
                 'public/WebURLLoader.h',
                 'public/win/WebInputEventFactory.h',
                 'public/win/WebSandboxSupport.h',
                 'public/win/WebScreenInfoFactory.h',
-                'public/win/WebScreenInfoFactory.h',
-                'src/APUAgentDelegate.h',
+                'public/win/WebThemeEngine.h',
                 'src/ApplicationCacheHost.cpp',
                 'src/ApplicationCacheHostInternal.h',
                 'src/AssertMatchingEnums.cpp',
+                'src/AsyncFileSystemChromium.cpp',
+                'src/AsyncFileSystemChromium.h',
+                'src/AsyncFileWriterChromium.cpp',
+                'src/AsyncFileWriterChromium.h',
                 'src/AutoFillPopupMenuClient.cpp',
                 'src/AutoFillPopupMenuClient.h',
                 'src/BackForwardListClientImpl.cpp',
                 'src/BackForwardListClientImpl.h',
+                'src/BlobRegistryProxy.cpp',
+                'src/BlobRegistryProxy.h',
                 'src/BoundObject.cpp',
                 'src/BoundObject.h',
                 'src/ChromeClientImpl.cpp',
                 'src/ContextMenuClientImpl.cpp',
                 'src/ContextMenuClientImpl.h',
                 'src/DatabaseObserver.cpp',
-                'src/DebuggerAgent.h',
                 'src/DebuggerAgentImpl.cpp',
                 'src/DebuggerAgentImpl.h',
                 'src/DebuggerAgentManager.cpp',
                 'src/DebuggerAgentManager.h',
-                'src/DevToolsRPC.h',
-                'src/DevToolsRPCJS.h',
+                'src/DeviceOrientationClientProxy.cpp',
+                'src/DeviceOrientationClientProxy.h',
                 'src/DOMUtilitiesPrivate.cpp',
                 'src/DOMUtilitiesPrivate.h',
                 'src/DragClientImpl.cpp',
                 'src/EditorClientImpl.h',
                 'src/EventListenerWrapper.cpp',
                 'src/EventListenerWrapper.h',
+                'src/ExternalPopupMenu.cpp',
+                'src/ExternalPopupMenu.h',
                 'src/FrameLoaderClientImpl.cpp',
                 'src/FrameLoaderClientImpl.h',
-                'src/GLES2Context.cpp',
-                'src/GLES2ContextInternal.cpp',
-                'src/GLES2ContextInternal.h',
+                'src/FrameNetworkingContextImpl.h',
+                'src/GraphicsContext3DChromium.cpp',
+                'src/GraphicsContext3DInternal.h',
                 'src/gtk/WebFontInfo.cpp',
                 'src/gtk/WebFontInfo.h',
                 'src/gtk/WebInputEventFactory.cpp',
                 'src/IDBCallbacksProxy.cpp',
                 'src/IDBCallbacksProxy.h',
+                'src/IDBCursorBackendProxy.cpp',
+                'src/IDBCursorBackendProxy.h',
                 'src/IDBDatabaseProxy.cpp',
                 'src/IDBDatabaseProxy.h',
-                'src/IDBIndexProxy.cpp',
-                'src/IDBIndexProxy.h',
+                'src/IDBFactoryBackendProxy.cpp',
+                'src/IDBFactoryBackendProxy.h',
+                'src/IDBIndexBackendProxy.cpp',
+                'src/IDBIndexBackendProxy.h',
                 'src/IDBObjectStoreProxy.cpp',
                 'src/IDBObjectStoreProxy.h',
-                'src/IndexedDatabaseProxy.cpp',
-                'src/IndexedDatabaseProxy.h',
+                'src/IDBTransactionBackendProxy.cpp',
+                'src/IDBTransactionBackendProxy.h',
+                'src/IDBTransactionCallbacksProxy.cpp',
+                'src/IDBTransactionCallbacksProxy.h',
                 'src/InspectorClientImpl.cpp',
                 'src/InspectorClientImpl.h',
                 'src/InspectorFrontendClientImpl.cpp',
                 'src/x11/WebScreenInfoFactory.cpp',
                 'src/mac/WebInputEventFactory.mm',
                 'src/mac/WebScreenInfoFactory.mm',
+                'src/LocalFileSystemChromium.cpp',
                 'src/LocalizedStrings.cpp',
                 'src/MediaPlayerPrivateChromium.cpp',
                 'src/NotificationPresenterImpl.h',
                 'src/NotificationPresenterImpl.cpp',
                 'src/PlatformMessagePortChannel.cpp',
                 'src/PlatformMessagePortChannel.h',
-                'src/ProfilerAgent.h',
-                'src/ProfilerAgentImpl.cpp',
-                'src/ProfilerAgentImpl.h',
                 'src/ResourceHandle.cpp',
                 'src/SharedWorkerRepository.cpp',
                 'src/SocketStreamHandle.cpp',
                 'src/StorageNamespaceProxy.cpp',
                 'src/StorageNamespaceProxy.h',
                 'src/TemporaryGlue.h',
-                'src/ToolsAgent.h',
+                'src/VideoFrameChromiumImpl.cpp',
+                'src/VideoFrameChromiumImpl.h',
                 'src/WebAccessibilityCache.cpp',
                 'src/WebAccessibilityCacheImpl.cpp',
                 'src/WebAccessibilityCacheImpl.h',
                 'src/WebAnimationControllerImpl.h',
                 'src/WebAttribute.cpp',
                 'src/WebBindings.cpp',
+                'src/WebBlobData.cpp',
                 'src/WebCache.cpp',
                 'src/WebColor.cpp',
                 'src/WebCommon.cpp',
                 'src/WebCrossOriginPreflightResultCache.cpp',
                 'src/WebCString.cpp',
                 'src/WebCursorInfo.cpp',
+                'src/WebDOMEvent.cpp',
+                'src/WebDOMEventListener.cpp',
+                'src/WebDOMEventListenerPrivate.cpp',
+                'src/WebDOMEventListenerPrivate.h',
+                'src/WebDOMMouseEvent.cpp',
+                'src/WebDOMMutationEvent.cpp',
                 'src/WebDOMStringList.cpp',
                 'src/WebData.cpp',
                 'src/WebDatabase.cpp',
                 'src/WebDevToolsAgentImpl.h',
                 'src/WebDevToolsFrontendImpl.cpp',
                 'src/WebDevToolsFrontendImpl.h',
+                'src/WebDeviceOrientation.cpp',
+                'src/WebDeviceOrientationClientMock.cpp',
+                'src/WebDeviceOrientationController.cpp',
                 'src/WebDocument.cpp',
                 'src/WebDocumentType.cpp',
                 'src/WebDragData.cpp',
                 'src/WebElement.cpp',
                 'src/WebEntities.cpp',
                 'src/WebEntities.h',
-                'src/WebEvent.cpp',
-                'src/WebEventListener.cpp',
-                'src/WebEventListenerPrivate.cpp',
-                'src/WebEventListenerPrivate.h',
                 'src/WebFileChooserCompletionImpl.cpp',
                 'src/WebFileChooserCompletionImpl.h',
+                'src/WebFileSystemCallbacksImpl.cpp',
+                'src/WebFileSystemCallbacksImpl.h',
                 'src/WebFontCache.cpp',
                 'src/WebFontDescription.cpp',
                 'src/WebFontImpl.cpp',
                 'src/WebHTTPBody.cpp',
                 'src/WebIDBCallbacksImpl.cpp',
                 'src/WebIDBCallbacksImpl.h',
+                'src/WebIDBCursorImpl.cpp',
+                'src/WebIDBCursorImpl.h',
                 'src/WebIDBDatabaseError.cpp',
                 'src/WebIDBDatabaseImpl.cpp',
                 'src/WebIDBDatabaseImpl.h',
+                'src/WebIDBFactory.cpp',
+                'src/WebIDBFactoryImpl.cpp',
+                'src/WebIDBFactoryImpl.h',
                 'src/WebIDBIndexImpl.cpp',
                 'src/WebIDBIndexImpl.h',
                 'src/WebIDBKey.cpp',
+                'src/WebIDBKeyPath.cpp',
+                'src/WebIDBKeyRange.cpp',
                 'src/WebIDBObjectStoreImpl.cpp',
                 'src/WebIDBObjectStoreImpl.h',
+                'src/WebIDBTransactionImpl.cpp',
+                'src/WebIDBTransactionImpl.h',
+                'src/WebIDBTransactionCallbacksImpl.cpp',
+                'src/WebIDBTransactionCallbacksImpl.h',
                 'src/WebImageCG.cpp',
                 'src/WebImageDecoder.cpp',
                 'src/WebImageSkia.cpp',
-                'src/WebIndexedDatabaseImpl.cpp',
-                'src/WebIndexedDatabaseImpl.h',
                 'src/WebInputElement.cpp',
                 'src/WebInputEvent.cpp',
                 'src/WebInputEventConversion.cpp',
                 'src/WebMediaElement.cpp',
                 'src/WebMediaPlayerClientImpl.cpp',
                 'src/WebMediaPlayerClientImpl.h',
-                'src/WebMutationEvent.cpp',
                 'src/WebNamedNodeMap.cpp',
                 'src/WebNode.cpp',
                 'src/WebNodeCollection.cpp',
                 'src/WebPasswordFormData.cpp',
                 'src/WebPasswordFormUtils.cpp',
                 'src/WebPasswordFormUtils.h',
+                'src/WebPerformance.cpp',
                 'src/WebPluginContainerImpl.h',
                 'src/WebPluginContainerImpl.cpp',
                 'src/WebPluginDocument.cpp',
                 'src/WebPopupMenuImpl.h',
                 'src/WebRange.cpp',
                 'src/WebRegularExpression.cpp',
+                'src/WebResourceRawHeaders.cpp',
                 'src/WebRuntimeFeatures.cpp',
                 'src/WebScriptController.cpp',
                 'src/WebScrollbarImpl.cpp',
                 'src/WebSettingsImpl.h',
                 'src/WebSharedWorkerImpl.cpp',
                 'src/WebSharedWorkerImpl.h',
+                'src/WebSpeechInputControllerMockImpl.cpp',
+                'src/WebSpeechInputControllerMockImpl.h',
+                'src/WebSpeechInputResult.cpp',
                 'src/WebStorageAreaImpl.cpp',
                 'src/WebStorageAreaImpl.h',
                 'src/WebStorageEventDispatcherImpl.cpp',
                 'src/WebStorageNamespaceImpl.h',
                 'src/WebString.cpp',
                 'src/WebTextRun.cpp',
+                'src/WebThreadSafeData.cpp',
                 'src/WebURL.cpp',
                 'src/WebURLLoadTiming.cpp',
                 'src/WebURLRequest.cpp',
                 'src/WebWorkerClientImpl.h',
                 'src/WebWorkerImpl.cpp',
                 'src/WebWorkerImpl.h',
+                'src/WorkerAsyncFileSystemChromium.cpp',
+                'src/WorkerAsyncFileSystemChromium.h',
+                'src/WorkerFileSystemCallbacksBridge.cpp',
+                'src/WorkerFileSystemCallbacksBridge.h',
                 'src/WrappedResourceRequest.h',
                 'src/WrappedResourceResponse.h',
                 'src/win/WebInputEventFactory.cpp',
                             ],
                             'dependencies': [
                                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings',
+                                '<(chromium_src_dir)/base/base.gyp:test_support_base',
                                 '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
-                                '<(chromium_src_dir)/gpu/gpu.gyp:gles2_c_lib',
+                                '<(chromium_src_dir)/testing/gtest.gyp:gtest',
                                 '<(chromium_src_dir)/third_party/icu/icu.gyp:*',
                                 '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp:libjpeg',
                                 '<(chromium_src_dir)/third_party/libpng/libpng.gyp:libpng',
                                 '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
                                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
                             ],
+                            'sources': [
+                                '<@(webkit_unittest_files)',
+                                'tests/PopupMenuTest.cpp',
+                                'tests/TransparencyWinTest.cpp',
+                                'tests/UniscribeHelperTest.cpp',
+                                'tests/WebUnitTests.cpp'
+                            ]
                         }],
                     ],
                 }, {
                     'sources/': [
                         ['exclude', 'Skia\\.cpp$'],
                     ],
-                    'variables': {
-                        # FIXME: Turn on warnings on other platforms and for
-                        # other targets.
-                        'chromium_code': 1,
-                    }
                 }, { # else: OS!="mac"
                     'sources/': [
                         ['exclude', '/mac/'],
                     ],
                 }, { # else: OS!="win"
                     'sources/': [['exclude', '/win/']],
+                    'variables': {
+                        # FIXME: Turn on warnings on Windows.
+                        'chromium_code': 1,
+                    }
                 }],
                 ['"ENABLE_3D_CANVAS=1" in feature_defines', {
-                    # Conditionally compile in GLEW and our GraphicsContext3D implementation.
-                    'sources+': [
-                        'src/GraphicsContext3D.cpp',
-                        '<(chromium_src_dir)/third_party/glew/src/glew.c'
-                    ],
-                    'include_dirs+': [
-                        '<(chromium_src_dir)/third_party/glew/include'
-                    ],
-                    'defines+': [
-                        'GLEW_STATIC=1',
-                        'GLEW_NO_GLU=1',
-                    ],
                     'conditions': [
                         ['OS=="mac"', {
                             'link_settings': {
                         }],
                     ],
                 }],
+                ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
+                    'sources/': [
+                        ['exclude', 'WebGeolocationService.*$'],
+                        ['include', 'WebGeolocationServiceMock.*'],
+                    ],
+                }]
             ],
         },
 
         {
             'target_name': 'inspector_resources',
             'type': 'none',
-            'dependencies': ['devtools_html'],
+            'dependencies': [
+                'devtools_html',
+                '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources',
+            ],
             'conditions': [
                 ['debug_devtools==0', {
                     'dependencies': ['concatenated_devtools_js'],
                     'files': [
                         '<@(devtools_files)',
                         '<@(webinspector_files)',
+                        '<(SHARED_INTERMEDIATE_DIR)/webcore/InspectorBackendStub.js',
                     ],
                     'conditions': [
                         ['debug_devtools==0', {
         {
             'target_name': 'concatenated_devtools_js',
             'type': 'none',
-            'dependencies': ['devtools_html'],
+            'dependencies': [
+                'devtools_html',
+                '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources'
+            ],
             'sources': ['<(PRODUCT_DIR)/resources/inspector/DevTools.js'],
             'actions': [{
                 'action_name': 'concatenate_devtools_js',
                     '<@(_input_page)',
                     '<@(webinspector_files)',
                     '<@(devtools_files)',
+                    '<(SHARED_INTERMEDIATE_DIR)/webcore/InspectorBackendStub.js',
                 ],
                 'search_path': [
                     '../../WebCore/inspector/front-end',
                     'src/js',
+                    '<(SHARED_INTERMEDIATE_DIR)/webcore',
                     '<(chromium_src_dir)/v8/tools',
                 ],
                 'outputs': ['<(PRODUCT_DIR)/resources/inspector/DevTools.js'],
 
         {
             'target_name': 'webkit_unit_tests',
+            'type': 'executable',
+            'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD',
+            'dependencies': [
+                'webkit',
+                '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
+                '<(chromium_src_dir)/testing/gtest.gyp:gtest',
+                '<(chromium_src_dir)/base/base.gyp:base',
+                '<(chromium_src_dir)/base/base.gyp:base_i18n',
+                '<(chromium_src_dir)/base/base.gyp:test_support_base',
+                '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
+            ],
+            'sources': [
+                'tests/RunAllTests.cpp',
+            ],
+            'include_dirs': [
+                'public',
+                'src',
+            ],
             'conditions': [
-                # FIXME: make webkit unit tests working for multi dll build.
                 ['inside_chromium_build==1 and OS=="win" and component=="shared_library"', {
-                    'type': 'none',
-                }, {
-                    'type': 'executable',
-                    'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD',
-                    'dependencies': [
-                        'webkit',
-                        '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
-                        '<(chromium_src_dir)/testing/gtest.gyp:gtest',
-                        '<(chromium_src_dir)/base/base.gyp:base',
-                        '<(chromium_src_dir)/base/base.gyp:base_i18n',
-                        '<(chromium_src_dir)/gpu/gpu.gyp:gles2_c_lib',
-                    ],
-                    'include_dirs': [
-                        'public',
-                        'src',
+                    'defines': [
+                        'WEBKIT_DLL_UNITTEST',
                     ],
+                }, {
                     'sources': [
-                        'tests/DragImageTest.cpp',
-                        'tests/KeyboardTest.cpp',
-                        'tests/KURLTest.cpp',
-                        'tests/RunAllTests.cpp',
+                        '<@(webkit_unittest_files)',
                     ],
                     'conditions': [
                         ['OS=="win"', {
                             'sources': [
-                                # FIXME: Port PopupMenuTest to Linux and Mac.
+                                # FIXME: Port PopupMenuTest and WebFrameTest to Linux and Mac.
                                 'tests/PopupMenuTest.cpp',
                                 'tests/TransparencyWinTest.cpp',
                                 'tests/UniscribeHelperTest.cpp',
+                                'tests/WebFrameTest.cpp',
                             ],
                         }],
                         ['OS=="mac"', {
                                 'tests/DragImageTest.cpp',
                             ],
                         }],
+                        ['OS=="linux" or OS=="freebsd"', {
+                            'sources': [
+                                'tests/WebInputEventFactoryTestGtk.cpp',
+                            ],
+                            'include_dirs': [
+                                'public/gtk',
+                            ],
+                            'variables': {
+                              # FIXME: Enable warnings on other platforms.
+                              'chromium_code': 1,
+                            },
+                        }],
                     ],
                 }],
             ],
             'dependencies': [
                 'webkit',
                 '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
-                '<(chromium_src_dir)/gfx/gfx.gyp:gfx',
+                '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
             ],
             'include_dirs': [
                 '../../JavaScriptCore',
                 'webkit',
                 '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
                 '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
-                '<(chromium_src_dir)/webkit/support/webkit_support.gyp:copy_npapi_layout_test_plugin',
+                '<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa',
+                '<(chromium_src_dir)/webkit/support/webkit_support.gyp:blob',
                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
-                '<(chromium_src_dir)/gpu/gpu.gyp:gles2_c_lib'
             ],
             'include_dirs': [
-                '.',
+                '<(chromium_src_dir)',
+                'public',
                 '../../JavaScriptCore',
                 '../../JavaScriptCore/wtf', # wtf/text/*.h refers headers in wtf/ without wtf/.
                 '<(DEPTH)',
                     'sources/': [
                         ['exclude', 'Win\\.cpp$'],
                     ],
+                    'dependencies': [
+                        'TestNetscapePlugIn',
+                    ],
                     'actions': [
                         {
                             'action_name': 'repack_locale',
                     ], # actions
                 }],
                 ['OS=="mac"', {
-                    'dependencies': ['LayoutTestHelper'],
-
+                    'dependencies': [
+                        'copy_mesa',
+                        'LayoutTestHelper',
+                    ],
                     'mac_bundle_resources': [
                         '<(ahem_path)',
                         '../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
                     ],
                     # Workaround for http://code.google.com/p/gyp/issues/detail?id=160
                     'copies': [{
-                        'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/PlugIns/',
-                        'files': ['<(PRODUCT_DIR)/TestNetscapePlugIn.plugin/'],
+                        'destination': '<(PRODUCT_DIR)/plugins/',
+                        'files': ['<(PRODUCT_DIR)/WebKitTestNetscapePlugIn.plugin/'],
                     }],
                 },{ # OS!="mac"
                     'sources/': [
                         # .mm is already excluded by common.gypi
                         ['exclude', 'Mac\\.cpp$'],
-                    ]
+                    ],
+                    'dependencies': [
+                        # FIXME: Switch to webkit.org's plugin.
+                        '<(chromium_src_dir)/webkit/support/webkit_support.gyp:copy_npapi_layout_test_plugin',
+                    ],
                 }],
                 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
+                    'dependencies': [
+                        '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
+                        '<(chromium_src_dir)/build/linux/system.gyp:gtk',
+                    ],
+                    'include_dirs': [
+                        'public/gtk',
+                    ],
                     'copies': [{
                         'destination': '<(PRODUCT_DIR)',
                         'files': [
                             '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
                         ]
                     }],
+                    'variables': {
+                      # FIXME: Enable warnings on other platforms.
+                      'chromium_code': 1,
+                    },
                 },{ # OS!="linux" and OS!="freebsd" and OS!="openbsd" and OS!="solaris"
                     'sources/': [
                         ['exclude', '(Gtk|Linux)\\.cpp$']
                     ]
                 }],
+                ['inside_chromium_build==0', {
+                    'dependencies': [
+                        '<(chromium_src_dir)/webkit/support/setup_third_party.gyp:third_party_headers',
+                    ]
+                }],
             ],
         },
     ], # targets
                 'type': 'executable',
                 'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
             }],
+        }, {  # OS!="win"
+            'targets': [
+                {
+                    'target_name': 'TestNetscapePlugIn',
+                    'type': 'loadable_module',
+                    'sources': [ '<@(test_plugin_files)' ],
+                    'dependencies': [
+                        '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
+                    ],
+                    'include_dirs': [
+                        '<(chromium_src_dir)',
+                        '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn',
+                        '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
+                    ],
+
+                    'conditions': [
+                        ['OS=="mac"', {
+                            'mac_bundle': 1,
+                            # It would be nice to name this
+                            # TestNetscapePlugIn, but that name is already
+                            # used by the fork of this plugin in Chromium.
+                            'product_name': 'WebKitTestNetscapePlugIn',
+                            'product_extension': 'plugin',
+                            'link_settings': {
+                                'libraries': [
+                                    '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
+                                    '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
+                                    '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
+                                ]
+                            },
+                            'xcode_settings': {
+                                'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
+                                # This is a temporary fork of
+                                # DRT/TestNetscapePlugIn/mac/Info.plist.  Once
+                                # we get rid of our forked plugin in the
+                                # chromium repo, we can share the same
+                                # Info.plist.
+                                'INFOPLIST_FILE': '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist',
+                            },
+                        }],
+                        ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
+                            'cflags': [
+                                '-fvisibility=default',
+                            ],
+                        }],
+                    ],
+                },
+            ],
         }],
         ['OS=="mac"', {
             'targets': [
                         ],
                     },
                 },
+                {
+                    'target_name': 'copy_mesa',
+                    'type': 'none',
+                    'dependencies': ['<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa'],
+                    'copies': [{
+                        'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/MacOS/',
+                        'files': ['<(PRODUCT_DIR)/osmesa.so'],
+                    }],
+                },
             ],
         }],
     ], # conditions