blob: 82e43838840e925c38bd8b86912f621f83c21f1b [file] [log] [blame]
# 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",
"//third_party/WebKit/Source/core:blink_core_pch",
]
defines = [ "BLINK_WEB_IMPLEMENTATION=1" ]
sources = [
"AnimationWorkletProxyClientImpl.cpp",
"AnimationWorkletProxyClientImpl.h",
"AssertMatchingEnums.cpp",
"AudioOutputDeviceClientImpl.cpp",
"AudioOutputDeviceClientImpl.h",
"ChromeClientImpl.cpp",
"ChromeClientImpl.h",
"ColorChooserPopupUIController.cpp",
"ColorChooserPopupUIController.h",
"ColorChooserUIController.cpp",
"ColorChooserUIController.h",
"CompositorAnimator.h",
"CompositorMutatorImpl.cpp",
"CompositorMutatorImpl.h",
"CompositorProxyClientImpl.cpp",
"CompositorProxyClientImpl.h",
"CompositorWorkerProxyClientImpl.cpp",
"CompositorWorkerProxyClientImpl.h",
"ContextMenuClientImpl.cpp",
"ContextMenuClientImpl.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",
"FullscreenController.cpp",
"FullscreenController.h",
"IndexedDBClientImpl.cpp",
"IndexedDBClientImpl.h",
"InspectorEmulationAgent.cpp",
"InspectorEmulationAgent.h",
"InspectorOverlayAgent.cpp",
"InspectorOverlayAgent.h",
"LinkHighlightImpl.cpp",
"LinkHighlightImpl.h",
"LocalFileSystemClient.cpp",
"LocalFileSystemClient.h",
"LocalFrameClientImpl.cpp",
"LocalFrameClientImpl.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",
"ServiceWorkerGlobalScopeClientImpl.cpp",
"ServiceWorkerGlobalScopeClientImpl.h",
"ServiceWorkerGlobalScopeProxy.cpp",
"ServiceWorkerGlobalScopeProxy.h",
"SpellCheckerClientImpl.cpp",
"SpellCheckerClientImpl.h",
"StorageClientImpl.cpp",
"StorageClientImpl.h",
"StorageQuotaClientImpl.cpp",
"StorageQuotaClientImpl.h",
"TextCheckerClientImpl.cpp",
"TextCheckerClientImpl.h",
"TextFinder.cpp",
"TextFinder.h",
"UserMediaClientImpl.cpp",
"UserMediaClientImpl.h",
"WebAXObject.cpp",
"WebContextFeatures.cpp",
"WebDOMMessageEvent.cpp",
"WebDevToolsAgentImpl.cpp",
"WebDevToolsAgentImpl.h",
"WebDevToolsFrontendImpl.cpp",
"WebDevToolsFrontendImpl.h",
"WebDocument.cpp",
"WebElement.cpp",
"WebElementCollection.cpp",
"WebEmbeddedWorkerImpl.cpp",
"WebEmbeddedWorkerImpl.h",
"WebExport.h",
"WebFormControlElement.cpp",
"WebFormElement.cpp",
"WebFormElementObserverImpl.cpp",
"WebFormElementObserverImpl.h",
"WebFrame.cpp",
"WebFrameContentDumper.cpp",
"WebFrameSerializer.cpp",
"WebFrameSerializerImpl.cpp",
"WebFrameSerializerImpl.h",
"WebFrameWidgetImpl.cpp",
"WebFrameWidgetImpl.h",
"WebHelperPluginImpl.cpp",
"WebHelperPluginImpl.h",
"WebHitTestResult.cpp",
"WebIDBKey.cpp",
"WebIDBKeyRange.cpp",
"WebInputElement.cpp",
"WebInputEvent.cpp",
"WebInputMethodControllerImpl.cpp",
"WebInputMethodControllerImpl.h",
"WebKit.cpp",
"WebLabelElement.cpp",
"WebLanguageDetectionDetails.cpp",
"WebLeakDetector.cpp",
"WebLocalFrameImpl.cpp",
"WebLocalFrameImpl.h",
"WebMediaDevicesRequest.cpp",
"WebMetaElement.cpp",
"WebNode.cpp",
"WebOptionElement.cpp",
"WebPageImportanceSignals.cpp",
"WebPagePopupImpl.cpp",
"WebPagePopupImpl.h",
"WebPepperSocket.cpp",
"WebPepperSocketChannelClientProxy.h",
"WebPepperSocketImpl.cpp",
"WebPepperSocketImpl.h",
"WebPluginContainerImpl.cpp",
"WebPluginContainerImpl.h",
"WebPluginDocument.cpp",
"WebPluginScriptForbiddenScope.cpp",
"WebRemoteFrameImpl.cpp",
"WebRemoteFrameImpl.h",
"WebScopedUserGesture.cpp",
"WebScopedWindowFocusAllowedIndicator.cpp",
"WebSearchableFormData.cpp",
"WebSelectElement.cpp",
"WebSettingsImpl.cpp",
"WebSettingsImpl.h",
"WebSharedWorkerImpl.cpp",
"WebSharedWorkerImpl.h",
"WebSharedWorkerReportingProxyImpl.cpp",
"WebSharedWorkerReportingProxyImpl.h",
"WebStorageEventDispatcherImpl.cpp",
"WebSurroundingText.cpp",
"WebTextCheckingCompletionImpl.cpp",
"WebTextCheckingCompletionImpl.h",
"WebTextCheckingResult.cpp",
"WebUserGestureIndicator.cpp",
"WebUserGestureToken.cpp",
"WebUserMediaRequest.cpp",
"WebViewFrameWidget.cpp",
"WebViewFrameWidget.h",
"WebViewImpl.cpp",
"WebViewImpl.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" ]
}
}
static_library("test_support") {
deps = [
"//skia",
"//third_party/WebKit/Source/core:testing",
"//third_party/WebKit/Source/modules:modules_testing",
"//third_party/WebKit/Source/platform/wtf",
"//v8",
]
sources = [
"WebTestingSupport.cpp",
]
configs += [
"//third_party/WebKit/Source:config",
"//third_party/WebKit/Source/core:blink_core_pch",
]
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/AccessibilityObjectModelTest.cpp",
"tests/ActivityLoggerTest.cpp",
"tests/AnimationSimTest.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/FrameSerializerTest.cpp",
"tests/FrameTestHelpers.cpp",
"tests/FrameTestHelpers.h",
"tests/HTMLDocumentParserLoadingTest.cpp",
"tests/HTMLImportSheetsTest.cpp",
"tests/ImeOnFocusTest.cpp",
"tests/IntersectionObserverTest.cpp",
"tests/KeyboardTest.cpp",
"tests/LayoutGeometryMapTest.cpp",
"tests/LinkElementLoadingTest.cpp",
"tests/LinkSelectionTest.cpp",
"tests/ListenerLeakTest.cpp",
"tests/LocalFrameClientImplTest.cpp",
"tests/MHTMLTest.cpp",
"tests/MediaElementFillingViewportTest.cpp",
"tests/NGInlineLayoutTest.cpp",
"tests/PrerenderingTest.cpp",
"tests/ProgrammaticScrollTest.cpp",
"tests/ResizeObserverTest.cpp",
"tests/RootScrollerTest.cpp",
"tests/RunAllTests.cpp",
"tests/ScreenWakeLockTest.cpp",
"tests/ScrollMetricsTest.cpp",
"tests/ScrollbarsTest.cpp",
"tests/ScrollingCoordinatorTest.cpp",
"tests/ShadowDOMV0Test.cpp",
"tests/SpinLockTest.cpp",
"tests/TextFinderTest.cpp",
"tests/TextSelectionRepaintTest.cpp",
"tests/TimerPerfTest.cpp",
"tests/TouchActionTest.cpp",
"tests/ViewportTest.cpp",
"tests/VirtualTimeTest.cpp",
"tests/VisualViewportTest.cpp",
"tests/WebDocumentSubresourceFilterTest.cpp",
"tests/WebDocumentTest.cpp",
"tests/WebFrameSerializerSanitizationTest.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/WindowProxyTest.cpp",
"tests/scheduler/ActiveConnectionThrottlingTest.cpp",
"tests/scheduler/FrameThrottlingTest.cpp",
"tests/scheduler/ThrottlingTest.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/SimPage.cpp",
"tests/sim/SimPage.h",
"tests/sim/SimRequest.cpp",
"tests/sim/SimRequest.h",
"tests/sim/SimTest.cpp",
"tests/sim/SimTest.h",
"tests/sim/SimWebFrameClient.cpp",
"tests/sim/SimWebFrameClient.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/platform/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",
"//third_party/WebKit/Source/core:blink_core_pch",
]
if (is_android) {
deps += [
"//base:base_java",
"//content/public/android:content_java",
"//content/shell/android:content_shell_assets",
"//net/android:net_java",
]
}
}