| # 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/locks", |
| "//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", |
| "peerconnection/testing/InternalsRTCPeerConnection.cpp", |
| "peerconnection/testing/InternalsRTCPeerConnection.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/MockPresentationService.h", |
| "presentation/MockWebPresentationClient.h", |
| "presentation/PresentationAvailabilityStateTest.cpp", |
| "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", |
| "//third_party/WebKit/public:media_devices_mojo_bindings_blink", |
| "//v8", |
| ] |
| } |