# 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/split_static_library.gni") import("//build/config/chromecast_build.gni") import("//third_party/WebKit/Source/bindings/bindings.gni") import("//third_party/WebKit/Source/bindings/modules/v8/generated.gni") import("//third_party/WebKit/Source/bindings/modules/v8/v8.gni") import("//third_party/WebKit/Source/build/scripts/scripts.gni") import("//third_party/WebKit/Source/modules/modules.gni") import("//third_party/WebKit/Source/modules/modules_idl_files.gni") visibility = [ "//third_party/WebKit/Source/*" ] if (!is_component_build && is_win) { # This target as a static library (for non-component builds) is >2GB for # official builds and some goma builds on Windows. This causes linking to # fail. As a workaround, force using a split static library for these # configurations. modules_target_type = "split_static_library" } else { modules_target_type = "component" } config("modules_implementation") { defines = [ "BLINK_MODULES_IMPLEMENTATION=1" ] if (is_chromecast) { defines += [ "BLINK_MSLOG=LOG(INFO)", "BLINK_SBLOG=LOG(INFO)", ] } } make_names("module_names") { in_files = [ "indexeddb/indexed_db_names.json5" ] output_dir = blink_modules_output_dir deps = [] # Don't use default deps (otherwise it will be circular). } target("jumbo_" + modules_target_type, "modules") { output_name = "blink_modules" if (modules_target_type == "split_static_library") { split_count = 5 } visibility = [] # Allow re-assignment of list. visibility = [ "//third_party/WebKit/*" ] sources = [ "EventModules.h", "EventModulesFactory.h", "EventTargetModules.h", "ModulesExport.h", "ModulesInitializer.cpp", "ModulesInitializer.h", ] # Compile sources generated by module_names script. sources += get_target_outputs(":module_names") sources += bindings_modules_v8_files sources += rebase_path( [ bindings_generated_v8_context_snapshot_external_references_file ], ".", "//") configs += [ ":modules_implementation", # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. "//build/config/compiler:no_size_t_to_int_warning", "//third_party/WebKit/Source:config", "//third_party/WebKit/Source:non_test_config", "//third_party/WebKit/Source:inside_blink", "//third_party/WebKit/Source/core:blink_core_pch", "//tools/v8_context_snapshot:use_v8_context_snapshot", ] deps = [ ":make_modules_generated", ":module_names", "//device/geolocation/public/interfaces:interfaces_blink", "//third_party/WebKit/Source/bindings/modules:generated", "//third_party/WebKit/Source/bindings/modules/v8:bindings_modules_impl", "//third_party/WebKit/Source/bindings/modules/v8:bindings_modules_origin_trial_features", "//third_party/WebKit/Source/core", "//third_party/WebKit/Source/modules/accessibility", "//third_party/WebKit/Source/modules/animationworklet", "//third_party/WebKit/Source/modules/app_banner", "//third_party/WebKit/Source/modules/audio_output_devices", "//third_party/WebKit/Source/modules/background_fetch", "//third_party/WebKit/Source/modules/background_sync", "//third_party/WebKit/Source/modules/battery", "//third_party/WebKit/Source/modules/beacon", "//third_party/WebKit/Source/modules/bluetooth", "//third_party/WebKit/Source/modules/broadcastchannel", "//third_party/WebKit/Source/modules/budget", "//third_party/WebKit/Source/modules/cachestorage", "//third_party/WebKit/Source/modules/canvas", "//third_party/WebKit/Source/modules/clipboard", "//third_party/WebKit/Source/modules/cookie_store", "//third_party/WebKit/Source/modules/credentialmanager", "//third_party/WebKit/Source/modules/crypto", "//third_party/WebKit/Source/modules/csspaint", "//third_party/WebKit/Source/modules/device_orientation", "//third_party/WebKit/Source/modules/document_metadata", "//third_party/WebKit/Source/modules/donottrack", "//third_party/WebKit/Source/modules/encoding", "//third_party/WebKit/Source/modules/encryptedmedia", "//third_party/WebKit/Source/modules/eventsource", "//third_party/WebKit/Source/modules/exported", "//third_party/WebKit/Source/modules/fetch", "//third_party/WebKit/Source/modules/filesystem", "//third_party/WebKit/Source/modules/gamepad", "//third_party/WebKit/Source/modules/geolocation", "//third_party/WebKit/Source/modules/imagecapture", "//third_party/WebKit/Source/modules/indexeddb", "//third_party/WebKit/Source/modules/installation", "//third_party/WebKit/Source/modules/installedapp", "//third_party/WebKit/Source/modules/keyboard_lock", "//third_party/WebKit/Source/modules/media_capabilities", "//third_party/WebKit/Source/modules/media_controls", "//third_party/WebKit/Source/modules/mediacapturefromelement", "//third_party/WebKit/Source/modules/mediarecorder", "//third_party/WebKit/Source/modules/mediasession", "//third_party/WebKit/Source/modules/mediasource", "//third_party/WebKit/Source/modules/mediastream", "//third_party/WebKit/Source/modules/navigatorcontentutils", "//third_party/WebKit/Source/modules/netinfo", "//third_party/WebKit/Source/modules/nfc", "//third_party/WebKit/Source/modules/notifications", "//third_party/WebKit/Source/modules/payments", "//third_party/WebKit/Source/modules/peerconnection", "//third_party/WebKit/Source/modules/permissions", "//third_party/WebKit/Source/modules/plugins", "//third_party/WebKit/Source/modules/presentation", "//third_party/WebKit/Source/modules/push_messaging", "//third_party/WebKit/Source/modules/quota", "//third_party/WebKit/Source/modules/remoteplayback", "//third_party/WebKit/Source/modules/screen_orientation", "//third_party/WebKit/Source/modules/sensor", "//third_party/WebKit/Source/modules/serviceworkers", "//third_party/WebKit/Source/modules/shapedetection", "//third_party/WebKit/Source/modules/speech", "//third_party/WebKit/Source/modules/srcobject", "//third_party/WebKit/Source/modules/storage", "//third_party/WebKit/Source/modules/time_zone_monitor", "//third_party/WebKit/Source/modules/vibration", "//third_party/WebKit/Source/modules/vr", "//third_party/WebKit/Source/modules/wake_lock", "//third_party/WebKit/Source/modules/webaudio", "//third_party/WebKit/Source/modules/webdatabase", "//third_party/WebKit/Source/modules/webgl", "//third_party/WebKit/Source/modules/webmidi", "//third_party/WebKit/Source/modules/webshare", "//third_party/WebKit/Source/modules/websockets", "//third_party/WebKit/Source/modules/webusb", "//third_party/icu", "//third_party/sqlite", "//third_party/zlib", ] if (is_win) { cflags = [ "/wd4334" ] # Result of 32-bit shift implicitly converted to 64 bits. } if (remove_webcore_debug_symbols) { configs -= [ "//build/config/compiler:default_symbols" ] configs += remove_webcore_symbols_config } } jumbo_source_set("modules_testing") { sources = [ "accessibility/testing/InternalsAccessibility.cpp", "accessibility/testing/InternalsAccessibility.h", "fetch/testing/InternalsFetch.cpp", "fetch/testing/InternalsFetch.h", "fetch/testing/WorkerInternalsFetch.cpp", "fetch/testing/WorkerInternalsFetch.h", "mediastream/testing/InternalsMediaStream.cpp", "mediastream/testing/InternalsMediaStream.h", "navigatorcontentutils/testing/InternalsNavigatorContentUtils.cpp", "navigatorcontentutils/testing/InternalsNavigatorContentUtils.h", "navigatorcontentutils/testing/NavigatorContentUtilsClientMock.cpp", "navigatorcontentutils/testing/NavigatorContentUtilsClientMock.h", "peerconnection/testing/InternalsRTCCertificate.cpp", "peerconnection/testing/InternalsRTCCertificate.h", "serviceworkers/testing/InternalsServiceWorker.cpp", "serviceworkers/testing/InternalsServiceWorker.h", "speech/testing/InternalsSpeechSynthesis.cpp", "speech/testing/InternalsSpeechSynthesis.h", "speech/testing/PlatformSpeechSynthesizerMock.cpp", "speech/testing/PlatformSpeechSynthesizerMock.h", "vibration/testing/InternalsVibration.cpp", "vibration/testing/InternalsVibration.h", "webaudio/testing/InternalsWebAudio.cpp", "webaudio/testing/InternalsWebAudio.h", ] if (snake_case_source_files) { sources += [ "$bindings_modules_v8_output_dir/v8_internals_partial.cc", "$bindings_modules_v8_output_dir/v8_internals_partial.h", "$bindings_modules_v8_output_dir/v8_worker_internals_partial.cc", "$bindings_modules_v8_output_dir/v8_worker_internals_partial.h", ] } else { sources += [ "$bindings_modules_v8_output_dir/V8InternalsPartial.cpp", "$bindings_modules_v8_output_dir/V8InternalsPartial.h", "$bindings_modules_v8_output_dir/V8WorkerInternalsPartial.cpp", "$bindings_modules_v8_output_dir/V8WorkerInternalsPartial.h", ] } configs += [ "//third_party/WebKit/Source:config", "//third_party/WebKit/Source:inside_blink", "//third_party/WebKit/Source/core:blink_core_pch", ] deps = [ "//third_party/WebKit/Source/core", "//third_party/WebKit/Source/modules", ] } group("make_modules_generated") { public_deps = [ ":module_names", "//third_party/WebKit/Source/bindings/modules:bindings_modules_generated", "//third_party/WebKit/Source/core:core_event_interfaces", ] } jumbo_source_set("unit_tests") { testonly = true sources = [ "accessibility/AXObjectCacheTest.cpp", "accessibility/AccessibilityObjectModelTest.cpp", "accessibility/testing/AccessibilityTest.cpp", "accessibility/testing/AccessibilityTest.h", "animationworklet/AnimationWorkletGlobalScopeTest.cpp", "animationworklet/AnimationWorkletThreadTest.cpp", "background_fetch/BackgroundFetchManagerTest.cpp", "cachestorage/CacheTest.cpp", "canvas/canvas2d/CanvasRenderingContext2DAPITest.cpp", "canvas/canvas2d/CanvasRenderingContext2DTest.cpp", "canvas/htmlcanvas/HTMLCanvasElementModuleTest.cpp", "canvas/offscreencanvas/OffscreenCanvasTest.cpp", "credentialmanager/CredentialsContainerTest.cpp", "credentialmanager/PasswordCredentialTest.cpp", "csspaint/PaintRenderingContext2DTest.cpp", "csspaint/PaintWorkletTest.cpp", "document_metadata/CopylessPasteExtractorTest.cpp", "eventsource/EventSourceParserTest.cpp", "fetch/BlobBytesConsumerTest.cpp", "fetch/BodyStreamBufferTest.cpp", "fetch/BytesConsumerForDataConsumerHandleTest.cpp", "fetch/BytesConsumerTest.cpp", "fetch/BytesConsumerTestUtil.cpp", "fetch/BytesConsumerTestUtil.h", "fetch/DataConsumerHandleTestUtil.cpp", "fetch/DataConsumerHandleTestUtil.h", "fetch/FetchDataLoaderTest.cpp", "fetch/FetchHeaderListTest.cpp", "fetch/FetchResponseDataTest.cpp", "fetch/FormDataBytesConsumerTest.cpp", "fetch/MultipartParserTest.cpp", "fetch/ReadableStreamBytesConsumerTest.cpp", "fetch/RequestTest.cpp", "fetch/ResponseTest.cpp", "filesystem/DOMFileSystemBaseTest.cpp", "indexeddb/IDBKeyPathTest.cpp", "indexeddb/IDBRequestTest.cpp", "indexeddb/IDBTestHelper.cpp", "indexeddb/IDBTransactionTest.cpp", "indexeddb/IDBValueWrappingTest.cpp", "indexeddb/MockWebIDBDatabase.cpp", "indexeddb/MockWebIDBDatabase.h", "media_controls/MediaControlsImplTest.cpp", "media_controls/MediaControlsOrientationLockDelegateTest.cpp", "media_controls/MediaControlsRotateToFullscreenDelegateTest.cpp", "media_controls/elements/MediaControlInputElementTest.cpp", "media_controls/elements/MediaControlLoadingPanelElementTest.cpp", "media_controls/elements/MediaControlTimelineElementTest.cpp", "mediastream/MediaConstraintsTest.cpp", "mediastream/MediaDevicesTest.cpp", "notifications/NotificationDataTest.cpp", "notifications/NotificationImageLoaderTest.cpp", "notifications/NotificationResourcesLoaderTest.cpp", "payments/AbortTest.cpp", "payments/CanMakePaymentTest.cpp", "payments/CompleteTest.cpp", "payments/OnPaymentResponseTest.cpp", "payments/PaymentAddressTest.cpp", "payments/PaymentEventDataConversionTest.cpp", "payments/PaymentRequestDetailsTest.cpp", "payments/PaymentRequestTest.cpp", "payments/PaymentRequestUpdateEventTest.cpp", "payments/PaymentResponseTest.cpp", "payments/PaymentTestHelper.cpp", "payments/PaymentTestHelper.h", "payments/PaymentsValidatorsTest.cpp", "peerconnection/RTCDataChannelTest.cpp", "peerconnection/RTCPeerConnectionTest.cpp", "presentation/MockWebPresentationClient.h", "presentation/PresentationAvailabilityTest.cpp", "presentation/PresentationReceiverTest.cpp", "presentation/PresentationRequestTest.cpp", "push_messaging/PushManagerTest.cpp", "push_messaging/PushMessageDataTest.cpp", "remoteplayback/RemotePlaybackTest.cpp", "serviceworkers/ServiceWorkerContainerTest.cpp", "serviceworkers/WebEmbeddedWorkerImplTest.cpp", "wake_lock/ScreenWakeLockTest.cpp", "webaudio/AudioBasicProcessorHandlerTest.cpp", "webaudio/AudioContextTest.cpp", "webaudio/AudioWorkletGlobalScopeTest.cpp", "webaudio/AudioWorkletThreadTest.cpp", "webaudio/BaseAudioContextTest.cpp", "webaudio/ConvolverNodeTest.cpp", "webaudio/DynamicsCompressorNodeTest.cpp", "webaudio/ScriptProcessorNodeTest.cpp", "webaudio/StereoPannerNodeTest.cpp", "webdatabase/QuotaTrackerTest.cpp", "websockets/DOMWebSocketTest.cpp", "websockets/DocumentWebSocketChannelTest.cpp", ] configs += [ "//third_party/WebKit/Source:config", "//third_party/WebKit/Source:inside_blink", "//third_party/WebKit/Source/core:blink_core_pch", ] deps = [ ":modules", ":modules_testing", "//skia", "//testing/gmock", "//testing/gtest", "//third_party/WebKit/Source/core", "//third_party/WebKit/Source/platform", "//third_party/WebKit/Source/platform/wtf", "//v8", ] }