# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/ui.gni") import("//testing/test.gni") import("//third_party/WebKit/Source/bindings/bindings.gni") import("//third_party/WebKit/Source/config.gni") import("//third_party/WebKit/Source/core/core.gni") import("//third_party/WebKit/Source/modules/modules.gni") visibility = [ "//third_party/WebKit/*" ] component("web") { output_name = "blink_web" deps = [ "//skia", "//third_party/WebKit/Source/core", "//third_party/WebKit/Source/modules", "//third_party/WebKit/Source/platform", "//third_party/angle:translator", "//third_party/icu", "//ui/gfx/geometry", "//v8", ] configs += [ "//build/config/compiler:wexit_time_destructors", "//third_party/WebKit/Source:config", "//third_party/WebKit/Source:inside_blink", "//third_party/WebKit/Source:non_test_config", ] defines = [ "BLINK_WEB_IMPLEMENTATION=1" ] sources = [ "AssertMatchingEnums.cpp", "AudioOutputDeviceClientImpl.cpp", "AudioOutputDeviceClientImpl.h", "ChromeClientImpl.cpp", "ChromeClientImpl.h", "ColorChooserPopupUIController.cpp", "ColorChooserPopupUIController.h", "ColorChooserUIController.cpp", "ColorChooserUIController.h", "CompositionUnderlineBuilder.h", "CompositionUnderlineVectorBuilder.cpp", "CompositionUnderlineVectorBuilder.h", "CompositorMutatorImpl.cpp", "CompositorMutatorImpl.h", "CompositorProxyClientImpl.cpp", "CompositorProxyClientImpl.h", "ContextFeaturesClientImpl.cpp", "ContextFeaturesClientImpl.h", "ContextMenuAllowedScope.cpp", "ContextMenuAllowedScope.h", "ContextMenuClientImpl.cpp", "ContextMenuClientImpl.h", "DatabaseClientImpl.cpp", "DatabaseClientImpl.h", "DateTimeChooserImpl.cpp", "DateTimeChooserImpl.h", "DedicatedWorkerMessagingProxyProviderImpl.cpp", "DedicatedWorkerMessagingProxyProviderImpl.h", "DevToolsEmulator.cpp", "DevToolsEmulator.h", "EditorClientImpl.cpp", "EditorClientImpl.h", "ExternalDateTimeChooser.cpp", "ExternalDateTimeChooser.h", "ExternalPopupMenu.cpp", "ExternalPopupMenu.h", "FindInPageCoordinates.cpp", "FindInPageCoordinates.h", "FrameLoaderClientImpl.cpp", "FrameLoaderClientImpl.h", "FullscreenController.cpp", "FullscreenController.h", "IndexedDBClientImpl.cpp", "IndexedDBClientImpl.h", "InspectorEmulationAgent.cpp", "InspectorEmulationAgent.h", "InspectorOverlay.cpp", "InspectorOverlay.h", "InspectorRenderingAgent.cpp", "InspectorRenderingAgent.h", "LinkHighlightImpl.cpp", "LinkHighlightImpl.h", "LocalFileSystemClient.cpp", "LocalFileSystemClient.h", "MediaKeysClientImpl.cpp", "MediaKeysClientImpl.h", "NavigatorContentUtilsClientImpl.cpp", "NavigatorContentUtilsClientImpl.h", "OpenedFrameTracker.cpp", "OpenedFrameTracker.h", "PageOverlay.cpp", "PageOverlay.h", "PageWidgetDelegate.cpp", "PageWidgetDelegate.h", "PopupMenuImpl.cpp", "PopupMenuImpl.h", "PrerendererClientImpl.cpp", "PrerendererClientImpl.h", "RemoteFrameClientImpl.cpp", "RemoteFrameClientImpl.h", "RemoteFrameOwner.cpp", "RemoteFrameOwner.h", "ResizeViewportAnchor.cpp", "ResizeViewportAnchor.h", "RotationViewportAnchor.cpp", "RotationViewportAnchor.h", "ServiceWorkerGlobalScopeClientImpl.cpp", "ServiceWorkerGlobalScopeClientImpl.h", "ServiceWorkerGlobalScopeProxy.cpp", "ServiceWorkerGlobalScopeProxy.h", "SharedWorkerRepositoryClientImpl.cpp", "SharedWorkerRepositoryClientImpl.h", "SpeechRecognitionClientProxy.cpp", "SpeechRecognitionClientProxy.h", "SpellCheckerClientImpl.cpp", "SpellCheckerClientImpl.h", "StorageClientImpl.cpp", "StorageClientImpl.h", "StorageQuotaClientImpl.cpp", "StorageQuotaClientImpl.h", "SuspendableScriptExecutor.cpp", "SuspendableScriptExecutor.h", "TextFinder.cpp", "TextFinder.h", "UserMediaClientImpl.cpp", "UserMediaClientImpl.h", "ValidationMessageClientImpl.cpp", "ValidationMessageClientImpl.h", "WebAXObject.cpp", "WebArrayBuffer.cpp", "WebArrayBufferConverter.cpp", "WebArrayBufferView.cpp", "WebAssociatedURLLoaderImpl.cpp", "WebAssociatedURLLoaderImpl.h", "WebBlob.cpp", "WebCSSParser.cpp", "WebCache.cpp", "WebColorSuggestion.cpp", "WebCryptoNormalize.cpp", "WebCustomElement.cpp", "WebDOMActivityLogger.cpp", "WebDOMEvent.cpp", "WebDOMFileSystem.cpp", "WebDOMMediaStreamTrack.cpp", "WebDOMMessageEvent.cpp", "WebDataSourceImpl.cpp", "WebDataSourceImpl.h", "WebDatabase.cpp", "WebDateTimeSuggestion.cpp", "WebDevToolsAgentImpl.cpp", "WebDevToolsAgentImpl.h", "WebDevToolsFrontendImpl.cpp", "WebDevToolsFrontendImpl.h", "WebDocument.cpp", "WebElement.cpp", "WebElementCollection.cpp", "WebEmbeddedWorkerImpl.cpp", "WebEmbeddedWorkerImpl.h", "WebEntities.cpp", "WebEntities.h", "WebExport.h", "WebFileChooserCompletionImpl.cpp", "WebFileChooserCompletionImpl.h", "WebFormControlElement.cpp", "WebFormElement.cpp", "WebFrame.cpp", "WebFrameClient.cpp", "WebFrameContentDumper.cpp", "WebFrameImplBase.cpp", "WebFrameImplBase.h", "WebFrameSerializer.cpp", "WebFrameSerializerImpl.cpp", "WebFrameSerializerImpl.h", "WebFrameWidgetBase.cpp", "WebFrameWidgetBase.h", "WebFrameWidgetImpl.cpp", "WebFrameWidgetImpl.h", "WebHeap.cpp", "WebHelperPluginImpl.cpp", "WebHelperPluginImpl.h", "WebHistoryItem.cpp", "WebHitTestResult.cpp", "WebIDBKey.cpp", "WebIDBKeyRange.cpp", "WebImageCache.cpp", "WebImageDecoder.cpp", "WebInputElement.cpp", "WebInputEventConversion.cpp", "WebInputEventConversion.h", "WebInputMethodControllerImpl.cpp", "WebInputMethodControllerImpl.h", "WebKit.cpp", "WebLabelElement.cpp", "WebLeakDetector.cpp", "WebLocalFrameImpl.cpp", "WebLocalFrameImpl.h", "WebMediaDeviceChangeObserver.cpp", "WebMediaDevicesRequest.cpp", "WebMediaStreamRegistry.cpp", "WebMemoryStatistics.cpp", "WebMetaElement.cpp", "WebNetworkStateNotifier.cpp", "WebNode.cpp", "WebOptionElement.cpp", "WebPageImportanceSignals.cpp", "WebPagePopupImpl.cpp", "WebPagePopupImpl.h", "WebPepperSocket.cpp", "WebPepperSocketChannelClientProxy.h", "WebPepperSocketImpl.cpp", "WebPepperSocketImpl.h", "WebPerformance.cpp", "WebPluginContainerImpl.cpp", "WebPluginContainerImpl.h", "WebPluginDocument.cpp", "WebPluginScriptForbiddenScope.cpp", "WebRange.cpp", "WebRemoteFrameImpl.cpp", "WebRemoteFrameImpl.h", "WebRenderTheme.cpp", "WebRuntimeFeatures.cpp", "WebScopedUserGesture.cpp", "WebScopedWindowFocusAllowedIndicator.cpp", "WebScriptController.cpp", "WebScriptSource.cpp", "WebSearchableFormData.cpp", "WebSecurityPolicy.cpp", "WebSelectElement.cpp", "WebSelection.cpp", "WebSelector.cpp", "WebSerializedScriptValue.cpp", "WebSettingsImpl.cpp", "WebSettingsImpl.h", "WebSharedWorkerImpl.cpp", "WebSharedWorkerImpl.h", "WebSpeechGrammar.cpp", "WebSpeechRecognitionHandle.cpp", "WebSpeechRecognitionResult.cpp", "WebStorageEventDispatcherImpl.cpp", "WebSurroundingText.cpp", "WebTextCheckingCompletionImpl.cpp", "WebTextCheckingCompletionImpl.h", "WebTextCheckingResult.cpp", "WebUserGestureIndicator.cpp", "WebUserGestureToken.cpp", "WebUserMediaRequest.cpp", "WebViewFrameWidget.cpp", "WebViewFrameWidget.h", "WebViewImpl.cpp", "WebViewImpl.h", "WorkerContentSettingsClient.cpp", "WorkerContentSettingsClient.h", "linux/WebFontRendering.cpp", "mac/WebScrollbarTheme.mm", "mac/WebSubstringUtil.mm", "win/WebFontRendering.cpp", ] if (is_android) { set_sources_assignment_filter([]) sources += [ "linux/WebFontRendering.cpp" ] set_sources_assignment_filter(sources_assignment_filter) } if (is_mac) { libs = [ "AppKit.framework", "Foundation.framework", ] } if (remove_webcore_debug_symbols) { configs -= [ "//build/config/compiler:default_symbols" ] configs += [ "//build/config/compiler:no_symbols" ] if (is_debug) { configs -= [ "//build/config/compiler:default_optimization" ] configs += [ "//build/config/compiler:optimize_size_only" ] } } } static_library("test_support") { deps = [ "//skia", "//third_party/WebKit/Source/core:testing", "//third_party/WebKit/Source/modules:modules_testing", "//third_party/WebKit/Source/wtf", "//v8", ] sources = [ "WebTestingSupport.cpp", ] configs += [ "//third_party/WebKit/Source:config" ] include_dirs = [ "$root_gen_dir/blink" ] } group("webkit_unit_tests_data") { data = [ "tests/data/", "../core/paint/test_data/", ] } test("webkit_unit_tests") { visibility = [] # Allow re-assignment of list. visibility = [ "*" ] sources = [ "ExternalPopupMenuTest.cpp", "LinkHighlightImplTest.cpp", "PageOverlayTest.cpp", "WebAssociatedURLLoaderImplTest.cpp", "WebDragDataTest.cpp", "WebElementTest.cpp", "WebEmbeddedWorkerImplTest.cpp", "WebNodeTest.cpp", # FIXME: Move the tests from web/tests/ to appropriate places. # crbug.com/353585 "tests/ActivityLoggerTest.cpp", "tests/BrowserControlsTest.cpp", "tests/ChromeClientImplTest.cpp", "tests/CompositorWorkerTest.cpp", "tests/DeferredLoadingTest.cpp", "tests/DocumentLoaderTest.cpp", "tests/DocumentLoadingRenderingTest.cpp", "tests/FakeWebPlugin.cpp", "tests/FakeWebPlugin.h", "tests/FrameLoaderClientImplTest.cpp", "tests/FrameSerializerTest.cpp", "tests/FrameTestHelpers.cpp", "tests/FrameTestHelpers.h", "tests/FrameThrottlingTest.cpp", "tests/ImeOnFocusTest.cpp", "tests/IntersectionObserverTest.cpp", "tests/KeyboardTest.cpp", "tests/LayoutGeometryMapTest.cpp", "tests/LinkElementLoadingTest.cpp", "tests/LinkSelectionTest.cpp", "tests/ListenerLeakTest.cpp", "tests/MHTMLTest.cpp", "tests/NGInlineLayoutTest.cpp", "tests/PrerenderingTest.cpp", "tests/ProgrammaticScrollTest.cpp", "tests/ResizeObserverTest.cpp", "tests/RootScrollerTest.cpp", "tests/RunAllTests.cpp", "tests/ScreenWakeLockTest.cpp", "tests/ScrollingCoordinatorTest.cpp", "tests/SpinLockTest.cpp", "tests/TextFinderTest.cpp", "tests/TimerPerfTest.cpp", "tests/TouchActionTest.cpp", "tests/ViewportTest.cpp", "tests/VirtualTimeTest.cpp", "tests/VisualViewportTest.cpp", "tests/WebDocumentSubresourceFilterTest.cpp", "tests/WebDocumentTest.cpp", "tests/WebFrameSerializerTest.cpp", "tests/WebFrameTest.cpp", "tests/WebHelperPluginTest.cpp", "tests/WebImageTest.cpp", "tests/WebInputEventConversionTest.cpp", "tests/WebMeaningfulLayoutsTest.cpp", "tests/WebPluginContainerTest.cpp", "tests/WebRangeTest.cpp", "tests/WebScopedWindowFocusAllowedIndicatorTest.cpp", "tests/WebSearchableFormDataTest.cpp", "tests/WebSelectorTest.cpp", "tests/WebURLRequestTest.cpp", "tests/WebURLResponseTest.cpp", "tests/WebUserGestureTokenTest.cpp", "tests/WebViewTest.cpp", "tests/sim/SimCanvas.cpp", "tests/sim/SimCanvas.h", "tests/sim/SimCompositor.cpp", "tests/sim/SimCompositor.h", "tests/sim/SimDisplayItemList.cpp", "tests/sim/SimDisplayItemList.h", "tests/sim/SimNetwork.cpp", "tests/sim/SimNetwork.h", "tests/sim/SimRequest.cpp", "tests/sim/SimRequest.h", "tests/sim/SimTest.cpp", "tests/sim/SimTest.h", "tests/sim/SimWebViewClient.cpp", "tests/sim/SimWebViewClient.h", ] sources += bindings_unittest_files deps = [ ":test_support", ":web", "//base", "//base:i18n", "//base/test:test_support", "//content/test:test_support", "//device/wake_lock/public/interfaces:interfaces_blink", "//gpu:test_support", "//testing/gmock", "//testing/gtest", "//third_party/WebKit/Source/core:unit_tests", "//third_party/WebKit/Source/modules:unit_tests", "//third_party/WebKit/Source/platform:test_support", "//third_party/WebKit/Source/platform:unit_tests", "//third_party/WebKit/Source/wtf", "//third_party/libwebp", "//third_party/zlib", "//url", "//v8", ] data_deps = [ ":webkit_unit_tests_data", "//content/shell:pak", ] configs += [ "//third_party/WebKit/Source:config", "//third_party/WebKit/Source:inside_blink", ] if (is_android) { deps += [ "//base:base_java", "//content/public/android:content_java", "//content/shell/android:content_shell_assets", "//net/android:net_java", ] } }