blob: efdd1ebd1788963f563c36f85bee38d3bdf160f2 [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/buildflag_header.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//third_party/WebKit/public/public_features.gni")
import("//third_party/WebKit/Source/config.gni")
import("//third_party/WebKit/Source/core/core.gni")
import("//tools/grit/grit_rule.gni")
import("//tools/grit/repack.gni")
if (is_android) {
import("//build/config/android/rules.gni")
}
group("blink") {
public_deps = [
":blink_headers",
]
deps = [
"//third_party/WebKit/Source/controller",
"//third_party/WebKit/Source/core",
"//third_party/WebKit/Source/modules",
"//third_party/WebKit/Source/platform",
]
}
group("test_support") {
testonly = true
public_deps = [
":test_headers",
"//third_party/WebKit/Source/modules/exported:test_support",
"//third_party/WebKit/Source/platform:test_support",
]
}
group("all_blink") {
# This includes some test targets. Don't link into production!
testonly = true
public_deps = [
"//third_party/WebKit/Source/controller",
"//third_party/WebKit/Source/controller:webkit_unit_tests",
"//third_party/WebKit/Source/core",
"//third_party/WebKit/Source/modules",
"//third_party/WebKit/Source/platform:blink_platform_unittests",
"//third_party/WebKit/Source/platform/heap:blink_heap_unittests",
"//third_party/WebKit/Source/platform/wtf:wtf_unittests",
]
}
config("blink_headers_config") {
include_dirs = [
"..",
"$root_gen_dir/third_party/WebKit",
]
# Allow :blink_headers to include v8.h without linking to it.
configs = [ "//v8:external_config" ]
}
# Public feature flags used outside of Blink.
buildflag_header("features") {
header = "public_features.h"
flags = [
"DEBUG_DEVTOOLS=$debug_devtools",
"USE_DEFAULT_RENDER_THEME=$use_default_render_theme",
"USE_MINIKIN_HYPHENATION=$use_minikin_hyphenation",
]
}
if (is_android) {
java_cpp_enum("blink_headers_java_enums_srcjar") {
sources = [
"./platform/WebDisplayMode.h",
"./platform/WebFocusType.h",
"./platform/WebInputEvent.h",
"./platform/WebReferrerPolicy.h",
"./platform/WebTextInputMode.h",
"./platform/WebTextInputType.h",
"./platform/modules/remoteplayback/WebRemotePlaybackAvailability.h",
"./web/WebContextMenuData.h",
]
}
java_cpp_enum("blink_cursor_type_java_enums_srcjar") {
sources = [
"./platform/WebCursorInfo.h",
]
}
android_library("blink_headers_java") {
deps = [
"//third_party/android_tools:android_support_annotations_java",
]
srcjar_deps = [ ":blink_headers_java_enums_srcjar" ]
}
}
source_set("test_headers") {
testonly = true
sources = [
"platform/scheduler/test/fake_renderer_scheduler.h",
"platform/scheduler/test/mock_renderer_scheduler.h",
"platform/scheduler/test/renderer_scheduler_test_support.h",
]
deps = [
"//base:base",
"//cc:cc",
"//testing/gmock:gmock",
]
}
# Depend on this target to use public blink API headers for things like enums
# and public structures without actually linking against any Blink libraries.
source_set("blink_headers") {
sources = [
"platform/BlameContext.h",
"platform/CORSStatus.h",
"platform/FilePathConversion.h",
"platform/InterfaceProvider.h",
"platform/InterfaceRegistry.h",
"platform/Platform.h",
"platform/PointerProperties.h",
"platform/ShapeProperties.h",
"platform/TaskType.h",
"platform/URLConversion.h",
"platform/UserMetricsAction.h",
"platform/WebAddressSpace.h",
"platform/WebApplicationCacheHost.h",
"platform/WebApplicationCacheHostClient.h",
"platform/WebAudioBus.h",
"platform/WebAudioDestinationConsumer.h",
"platform/WebAudioDevice.h",
"platform/WebAudioLatencyHint.h",
"platform/WebAudioSourceProvider.h",
"platform/WebAudioSourceProviderClient.h",
"platform/WebBlendMode.h",
"platform/WebBlobData.h",
"platform/WebBlobInfo.h",
"platform/WebBlobRegistry.h",
"platform/WebBrowserControlsState.h",
"platform/WebCache.h",
"platform/WebCallbacks.h",
"platform/WebCanvas.h",
"platform/WebCanvasCaptureHandler.h",
"platform/WebClientHintsType.h",
"platform/WebClipboard.h",
"platform/WebCoalescedInputEvent.h",
"platform/WebColor.h",
"platform/WebCommon.h",
"platform/WebCompositeAndReadbackAsyncCallback.h",
"platform/WebCompositorMutatorClient.h",
"platform/WebCompositorSupport.h",
"platform/WebConnectionType.h",
"platform/WebContentDecryptionModule.h",
"platform/WebContentDecryptionModuleAccess.h",
"platform/WebContentDecryptionModuleException.h",
"platform/WebContentDecryptionModuleResult.h",
"platform/WebContentDecryptionModuleSession.h",
"platform/WebContentLayer.h",
"platform/WebContentLayerClient.h",
"platform/WebContentSecurityPolicy.h",
"platform/WebContentSecurityPolicyStruct.h",
"platform/WebContentSettingCallbacks.h",
"platform/WebContentSettingsClient.h",
"platform/WebCookieJar.h",
"platform/WebCredential.h",
"platform/WebCredentialManagerClient.h",
"platform/WebCredentialManagerError.h",
"platform/WebCredentialMediationRequirement.h",
"platform/WebCrypto.h",
"platform/WebCryptoAlgorithm.h",
"platform/WebCryptoAlgorithmParams.h",
"platform/WebCryptoKey.h",
"platform/WebCryptoKeyAlgorithm.h",
"platform/WebCryptoKeyAlgorithmParams.h",
"platform/WebCursorInfo.h",
"platform/WebData.h",
"platform/WebDataConsumerHandle.h",
"platform/WebDatabaseObserver.h",
"platform/WebDisplayItemList.h",
"platform/WebDisplayMode.h",
"platform/WebDistillability.h",
"platform/WebDocumentSubresourceFilter.h",
"platform/WebDoublePoint.h",
"platform/WebDoubleSize.h",
"platform/WebDragData.h",
"platform/WebDragOperation.h",
"platform/WebEditingCommandType.h",
"platform/WebEffectiveConnectionType.h",
"platform/WebEncryptedMediaClient.h",
"platform/WebEncryptedMediaKeyInformation.h",
"platform/WebEncryptedMediaRequest.h",
"platform/WebEncryptedMediaTypes.h",
"platform/WebEventListenerProperties.h",
"platform/WebExternalTextureLayer.h",
"platform/WebFallbackThemeEngine.h",
"platform/WebFederatedCredential.h",
"platform/WebFileError.h",
"platform/WebFileInfo.h",
"platform/WebFileSystem.h",
"platform/WebFileSystemCallbacks.h",
"platform/WebFileSystemEntry.h",
"platform/WebFileSystemType.h",
"platform/WebFileUtilities.h",
"platform/WebFileWriter.h",
"platform/WebFileWriterClient.h",
"platform/WebFloatPoint.h",
"platform/WebFloatPoint3D.h",
"platform/WebFloatRect.h",
"platform/WebFloatSize.h",
"platform/WebFocusType.h",
"platform/WebFont.h",
"platform/WebFontDescription.h",
"platform/WebGamepadListener.h",
"platform/WebGestureCurve.h",
"platform/WebGestureCurveTarget.h",
"platform/WebGestureDevice.h",
"platform/WebGestureEvent.h",
"platform/WebGraphicsContext3DProvider.h",
"platform/WebHTTPBody.h",
"platform/WebHTTPHeaderVisitor.h",
"platform/WebHTTPLoadInfo.h",
"platform/WebHistoryScrollRestorationType.h",
"platform/WebIconSizesParser.h",
"platform/WebImage.h",
"platform/WebImageCaptureFrameGrabber.h",
"platform/WebImageGenerator.h",
"platform/WebImageLayer.h",
"platform/WebInbandTextTrack.h",
"platform/WebInbandTextTrackClient.h",
"platform/WebInputEvent.h",
"platform/WebInputEventResult.h",
"platform/WebInsecureRequestPolicy.h",
"platform/WebIsolatedWorldIds.h",
"platform/WebKeyboardEvent.h",
"platform/WebLayer.h",
"platform/WebLayerPositionConstraint.h",
"platform/WebLayerScrollClient.h",
"platform/WebLayerStickyPositionConstraint.h",
"platform/WebLayerTreeView.h",
"platform/WebLayoutAndPaintAsyncCallback.h",
"platform/WebLoadingBehaviorFlag.h",
"platform/WebLocalizedString.h",
"platform/WebMediaConstraints.h",
"platform/WebMediaDeviceInfo.h",
"platform/WebMediaKeySystemConfiguration.h",
"platform/WebMediaKeySystemMediaCapability.h",
"platform/WebMediaPlayer.h",
"platform/WebMediaPlayerClient.h",
"platform/WebMediaPlayerEncryptedMediaClient.h",
"platform/WebMediaPlayerSource.h",
"platform/WebMediaRecorderHandler.h",
"platform/WebMediaRecorderHandlerClient.h",
"platform/WebMediaSource.h",
"platform/WebMediaStream.h",
"platform/WebMediaStreamCenter.h",
"platform/WebMediaStreamCenterClient.h",
"platform/WebMediaStreamSource.h",
"platform/WebMediaStreamTrack.h",
"platform/WebMemoryCoordinator.h",
"platform/WebMemoryPressureLevel.h",
"platform/WebMemoryState.h",
"platform/WebMenuSourceType.h",
"platform/WebMixedContent.h",
"platform/WebMixedContentContextType.h",
"platform/WebMockClipboard.h",
"platform/WebMouseEvent.h",
"platform/WebMouseWheelEvent.h",
"platform/WebNativeScrollBehavior.h",
"platform/WebNetworkStateNotifier.h",
"platform/WebNonCopyable.h",
"platform/WebPasswordCredential.h",
"platform/WebPlatformEventListener.h",
"platform/WebPlatformEventType.h",
"platform/WebPluginListBuilder.h",
"platform/WebPoint.h",
"platform/WebPointerEvent.h",
"platform/WebPointerProperties.h",
"platform/WebPrerender.h",
"platform/WebPrerenderingSupport.h",
"platform/WebPrescientNetworking.h",
"platform/WebPrivatePtr.h",
"platform/WebPublicSuffixList.h",
"platform/WebRTCAnswerOptions.h",
"platform/WebRTCCertificate.h",
"platform/WebRTCCertificateGenerator.h",
"platform/WebRTCConfiguration.h",
"platform/WebRTCDTMFSenderHandler.h",
"platform/WebRTCDTMFSenderHandlerClient.h",
"platform/WebRTCDataChannelHandler.h",
"platform/WebRTCDataChannelHandlerClient.h",
"platform/WebRTCDataChannelInit.h",
"platform/WebRTCError.h",
"platform/WebRTCICECandidate.h",
"platform/WebRTCKeyParams.h",
"platform/WebRTCLegacyStats.h",
"platform/WebRTCOfferOptions.h",
"platform/WebRTCPeerConnectionHandler.h",
"platform/WebRTCPeerConnectionHandlerClient.h",
"platform/WebRTCRtpContributingSource.h",
"platform/WebRTCRtpReceiver.h",
"platform/WebRTCRtpSender.h",
"platform/WebRTCSessionDescription.h",
"platform/WebRTCSessionDescriptionRequest.h",
"platform/WebRTCStats.h",
"platform/WebRTCStatsRequest.h",
"platform/WebRTCStatsResponse.h",
"platform/WebRTCVoidRequest.h",
"platform/WebRect.h",
"platform/WebReferrerPolicy.h",
"platform/WebRemoteScrollProperties.h",
"platform/WebRenderingStats.h",
"platform/WebRuntimeFeatures.h",
"platform/WebScopedVirtualTimePauser.h",
"platform/WebScreenInfo.h",
"platform/WebScrollAnchorData.h",
"platform/WebScrollBoundaryBehavior.h",
"platform/WebScrollbar.h",
"platform/WebScrollbarBehavior.h",
"platform/WebScrollbarButtonsPlacement.h",
"platform/WebScrollbarLayer.h",
"platform/WebScrollbarOverlayColorTheme.h",
"platform/WebScrollbarThemeGeometry.h",
"platform/WebScrollbarThemePainter.h",
"platform/WebSecurityOrigin.h",
"platform/WebSecurityStyle.h",
"platform/WebSelectionBound.h",
"platform/WebSetSinkIdCallbacks.h",
"platform/WebSize.h",
"platform/WebSocketHandshakeThrottle.h",
"platform/WebSourceBuffer.h",
"platform/WebSourceBufferClient.h",
"platform/WebSpeechSynthesisUtterance.h",
"platform/WebSpeechSynthesisVoice.h",
"platform/WebSpeechSynthesizer.h",
"platform/WebSpeechSynthesizerClient.h",
"platform/WebSpellCheckPanelHostClient.h",
"platform/WebStorageArea.h",
"platform/WebStorageNamespace.h",
"platform/WebStorageQuotaCallbacks.h",
"platform/WebStorageQuotaError.h",
"platform/WebStorageQuotaType.h",
"platform/WebString.h",
"platform/WebSurfaceLayerBridge.h",
"platform/WebTextInputInfo.h",
"platform/WebTextInputMode.h",
"platform/WebTextInputType.h",
"platform/WebTextRun.h",
"platform/WebThemeEngine.h",
"platform/WebThread.h",
"platform/WebThreadSafeData.h",
"platform/WebTimeRange.h",
"platform/WebTouchAction.h",
"platform/WebTouchEvent.h",
"platform/WebTouchPoint.h",
"platform/WebTraceLocation.h",
"platform/WebTrialTokenValidator.h",
"platform/WebURL.h",
"platform/WebURLError.h",
"platform/WebURLLoadTiming.h",
"platform/WebURLLoader.h",
"platform/WebURLLoaderClient.h",
"platform/WebURLLoaderFactory.h",
"platform/WebURLLoaderMockFactory.h",
"platform/WebURLLoaderTestDelegate.h",
"platform/WebURLRequest.h",
"platform/WebURLResponse.h",
"platform/WebVector.h",
"platform/WebVideoFrameSubmitter.h",
"platform/WebViewportStyle.h",
"platform/WebWorkerFetchContext.h",
"platform/linux/WebFallbackFont.h",
"platform/linux/WebFontRenderStyle.h",
"platform/linux/WebSandboxSupport.h",
"platform/mac/WebSandboxSupport.h",
"platform/mac/WebScrollbarTheme.h",
"platform/modules/background_fetch/WebBackgroundFetchSettledFetch.h",
"platform/modules/device_orientation/WebDeviceMotionListener.h",
"platform/modules/device_orientation/WebDeviceOrientationListener.h",
"platform/modules/indexeddb/WebIDBCallbacks.h",
"platform/modules/indexeddb/WebIDBCursor.h",
"platform/modules/indexeddb/WebIDBDatabase.h",
"platform/modules/indexeddb/WebIDBDatabaseCallbacks.h",
"platform/modules/indexeddb/WebIDBDatabaseError.h",
"platform/modules/indexeddb/WebIDBDatabaseException.h",
"platform/modules/indexeddb/WebIDBFactory.h",
"platform/modules/indexeddb/WebIDBKey.h",
"platform/modules/indexeddb/WebIDBKeyPath.h",
"platform/modules/indexeddb/WebIDBKeyRange.h",
"platform/modules/indexeddb/WebIDBMetadata.h",
"platform/modules/indexeddb/WebIDBObservation.h",
"platform/modules/indexeddb/WebIDBTypes.h",
"platform/modules/indexeddb/WebIDBValue.h",
"platform/modules/installedapp/WebRelatedApplication.h",
"platform/modules/installedapp/WebRelatedAppsFetcher.h",
"platform/modules/media_capabilities/WebAudioConfiguration.h",
"platform/modules/media_capabilities/WebMediaCapabilitiesClient.h",
"platform/modules/media_capabilities/WebMediaConfiguration.h",
"platform/modules/media_capabilities/WebVideoConfiguration.h",
"platform/modules/notifications/WebNotificationAction.h",
"platform/modules/notifications/WebNotificationConstants.h",
"platform/modules/notifications/WebNotificationData.h",
"platform/modules/notifications/WebNotificationDelegate.h",
"platform/modules/notifications/WebNotificationManager.h",
"platform/modules/notifications/WebNotificationResources.h",
"platform/modules/payments/WebPaymentCurrencyAmount.h",
"platform/modules/payments/WebPaymentDetailsModifier.h",
"platform/modules/payments/WebPaymentHandlerResponse.h",
"platform/modules/payments/WebPaymentItem.h",
"platform/modules/payments/WebPaymentMethodData.h",
"platform/modules/payments/WebPaymentRequestEventData.h",
"platform/modules/presentation/WebPresentationAvailabilityObserver.h",
"platform/modules/presentation/WebPresentationClient.h",
"platform/modules/presentation/WebPresentationConnection.h",
"platform/modules/presentation/WebPresentationConnectionCallbacks.h",
"platform/modules/presentation/WebPresentationController.h",
"platform/modules/presentation/WebPresentationError.h",
"platform/modules/presentation/WebPresentationInfo.h",
"platform/modules/presentation/WebPresentationReceiver.h",
"platform/modules/push_messaging/WebPushClient.h",
"platform/modules/push_messaging/WebPushError.h",
"platform/modules/push_messaging/WebPushPermissionStatus.h",
"platform/modules/push_messaging/WebPushProvider.h",
"platform/modules/push_messaging/WebPushSubscription.h",
"platform/modules/push_messaging/WebPushSubscriptionOptions.h",
"platform/modules/remoteplayback/WebRemotePlaybackAvailability.h",
"platform/modules/remoteplayback/WebRemotePlaybackClient.h",
"platform/modules/remoteplayback/WebRemotePlaybackState.h",
"platform/modules/screen_orientation/WebLockOrientationCallback.h",
"platform/modules/screen_orientation/WebLockOrientationError.h",
"platform/modules/screen_orientation/WebScreenOrientationClient.h",
"platform/modules/screen_orientation/WebScreenOrientationEnumTraits.h",
"platform/modules/screen_orientation/WebScreenOrientationLockType.h",
"platform/modules/screen_orientation/WebScreenOrientationType.h",
"platform/modules/serviceworker/WebNavigationPreloadState.h",
"platform/modules/serviceworker/WebServiceWorker.h",
"platform/modules/serviceworker/WebServiceWorkerCache.h",
"platform/modules/serviceworker/WebServiceWorkerCacheStorage.h",
"platform/modules/serviceworker/WebServiceWorkerClientQueryOptions.h",
"platform/modules/serviceworker/WebServiceWorkerClientsClaimCallbacks.h",
"platform/modules/serviceworker/WebServiceWorkerClientsInfo.h",
"platform/modules/serviceworker/WebServiceWorkerError.h",
"platform/modules/serviceworker/WebServiceWorkerInstalledScriptsManager.h",
"platform/modules/serviceworker/WebServiceWorkerNetworkProvider.h",
"platform/modules/serviceworker/WebServiceWorkerProvider.h",
"platform/modules/serviceworker/WebServiceWorkerProviderClient.h",
"platform/modules/serviceworker/WebServiceWorkerProxy.h",
"platform/modules/serviceworker/WebServiceWorkerRegistration.h",
"platform/modules/serviceworker/WebServiceWorkerRegistrationProxy.h",
"platform/modules/serviceworker/WebServiceWorkerRequest.h",
"platform/modules/serviceworker/WebServiceWorkerResponse.h",
"platform/modules/serviceworker/WebServiceWorkerSkipWaitingCallbacks.h",
"platform/modules/serviceworker/WebServiceWorkerStreamHandle.h",
"platform/modules/webmidi/WebMIDIAccessor.h",
"platform/modules/webmidi/WebMIDIAccessorClient.h",
"platform/scheduler/child/child_scheduler.h",
"platform/scheduler/child/single_thread_idle_task_runner.h",
"platform/scheduler/child/webthread_base.h",
"platform/scheduler/renderer/render_widget_scheduling_state.h",
"platform/scheduler/renderer/renderer_scheduler.h",
"platform/scheduler/renderer_process_type.h",
"web/WebAXEnums.h",
"web/WebAXObject.h",
"web/WebActiveWheelFlingParameters.h",
"web/WebApplyConstraintsRequest.h",
"web/WebArrayBuffer.h",
"web/WebArrayBufferConverter.h",
"web/WebArrayBufferView.h",
"web/WebAssociatedURLLoader.h",
"web/WebAssociatedURLLoaderClient.h",
"web/WebAssociatedURLLoaderOptions.h",
"web/WebAutofillClient.h",
"web/WebBlob.h",
"web/WebCSSParser.h",
"web/WebColorChooser.h",
"web/WebColorChooserClient.h",
"web/WebColorSuggestion.h",
"web/WebConsoleMessage.h",
"web/WebContextFeatures.h",
"web/WebContextMenuData.h",
"web/WebCryptoNormalize.h",
"web/WebCustomElement.h",
"web/WebDOMActivityLogger.h",
"web/WebDOMEvent.h",
"web/WebDOMFileSystem.h",
"web/WebDOMMediaStreamTrack.h",
"web/WebDOMMessageEvent.h",
"web/WebDateTimeChooserCompletion.h",
"web/WebDateTimeChooserParams.h",
"web/WebDateTimeInputType.h",
"web/WebDateTimeSuggestion.h",
"web/WebDevToolsAgent.h",
"web/WebDevToolsAgentClient.h",
"web/WebDevToolsFrontend.h",
"web/WebDevToolsFrontendClient.h",
"web/WebDeviceEmulationParams.h",
"web/WebDocument.h",
"web/WebDocumentLoader.h",
"web/WebDragStatus.h",
"web/WebDraggableRegion.h",
"web/WebElement.h",
"web/WebElementCollection.h",
"web/WebEmbeddedWorker.h",
"web/WebEmbeddedWorkerStartData.h",
"web/WebExternalPopupMenu.h",
"web/WebExternalPopupMenuClient.h",
"web/WebFileChooserCompletion.h",
"web/WebFileChooserParams.h",
"web/WebFindOptions.h",
"web/WebFormControlElement.h",
"web/WebFormElement.h",
"web/WebFrame.h",
"web/WebFrameClient.h",
"web/WebFrameContentDumper.h",
"web/WebFrameLoadType.h",
"web/WebFrameOwnerProperties.h",
"web/WebFrameSerializer.h",
"web/WebFrameSerializerCacheControlPolicy.h",
"web/WebFrameSerializerClient.h",
"web/WebFrameWidget.h",
"web/WebHeap.h",
"web/WebHelperPlugin.h",
"web/WebHistoryCommitType.h",
"web/WebHistoryItem.h",
"web/WebHitTestResult.h",
"web/WebIconURL.h",
"web/WebImageCache.h",
"web/WebImageDecoder.h",
"web/WebImeTextSpan.h",
"web/WebInputElement.h",
"web/WebInputMethodController.h",
"web/WebKit.h",
"web/WebLabelElement.h",
"web/WebLanguageDetectionDetails.h",
"web/WebLeakDetector.h",
"web/WebLocalFrame.h",
"web/WebMeaningfulLayout.h",
"web/WebMediaDeviceChangeObserver.h",
"web/WebMediaDevicesRequest.h",
"web/WebMediaPlayerAction.h",
"web/WebMediaStreamRegistry.h",
"web/WebMemoryStatistics.h",
"web/WebMenuItemInfo.h",
"web/WebMetaElement.h",
"web/WebNavigationPolicy.h",
"web/WebNavigationType.h",
"web/WebNode.h",
"web/WebOptionElement.h",
"web/WebPageImportanceSignals.h",
"web/WebPagePopup.h",
"web/WebPepperSocket.h",
"web/WebPepperSocketClient.h",
"web/WebPerformance.h",
"web/WebPlugin.h",
"web/WebPluginAction.h",
"web/WebPluginContainer.h",
"web/WebPluginDocument.h",
"web/WebPluginParams.h",
"web/WebPluginScriptForbiddenScope.h",
"web/WebPopupMenuInfo.h",
"web/WebPopupType.h",
"web/WebPrerendererClient.h",
"web/WebPresentationReceiverFlags.h",
"web/WebPrintParams.h",
"web/WebPrintPresetOptions.h",
"web/WebPrintScalingOption.h",
"web/WebRange.h",
"web/WebRemoteFrame.h",
"web/WebRemoteFrameClient.h",
"web/WebRenderTheme.h",
"web/WebScopedUserGesture.h",
"web/WebScopedWindowFocusAllowedIndicator.h",
"web/WebScriptController.h",
"web/WebScriptExecutionCallback.h",
"web/WebScriptSource.h",
"web/WebSearchableFormData.h",
"web/WebSecurityPolicy.h",
"web/WebSelectElement.h",
"web/WebSelection.h",
"web/WebSelector.h",
"web/WebSerializedScriptValue.h",
"web/WebSerializedScriptValueVersion.h",
"web/WebSettings.h",
"web/WebSharedWorker.h",
"web/WebSharedWorkerClient.h",
"web/WebSharedWorkerConnectListener.h",
"web/WebSharedWorkerRepositoryClient.h",
"web/WebSpeechGrammar.h",
"web/WebSpeechRecognitionHandle.h",
"web/WebSpeechRecognitionParams.h",
"web/WebSpeechRecognitionResult.h",
"web/WebSpeechRecognizer.h",
"web/WebSpeechRecognizerClient.h",
"web/WebStorageEventDispatcher.h",
"web/WebSurroundingText.h",
"web/WebTestingSupport.h",
"web/WebTextCheckClient.h",
"web/WebTextCheckingCompletion.h",
"web/WebTextCheckingResult.h",
"web/WebTextDecorationType.h",
"web/WebTextDirection.h",
"web/WebTreeScopeType.h",
"web/WebTriggeringEventInfo.h",
"web/WebUserGestureIndicator.h",
"web/WebUserGestureToken.h",
"web/WebUserMediaClient.h",
"web/WebUserMediaRequest.h",
"web/WebV8ContextSnapshot.h",
"web/WebView.h",
"web/WebViewClient.h",
"web/WebWidget.h",
"web/WebWidgetClient.h",
"web/WebWindowFeatures.h",
"web/linux/WebFontRendering.h",
"web/mac/WebSubstringUtil.h",
"web/mac/WebSubstringUtil.h",
"web/modules/password_manager/WebFormElementObserver.h",
"web/modules/password_manager/WebFormElementObserverCallback.h",
"web/modules/serviceworker/WebServiceWorkerContextClient.h",
"web/modules/serviceworker/WebServiceWorkerContextProxy.h",
"web/win/WebFontRendering.h",
]
if (is_android) {
# Android uses some Linux sources, put those back.
set_sources_assignment_filter([])
sources += [
"platform/linux/WebFontRenderStyle.h",
"web/linux/WebFontRendering.h",
]
set_sources_assignment_filter(sources_assignment_filter)
}
public_configs = [
":blink_headers_config",
# Blink exposes icu headers in the public API.
"//third_party/icu:icu_config",
]
public_deps = [
"//net",
"//skia",
"//third_party/WebKit/common:blink_common",
"//url",
]
deps = [
":generate_mojo_bindings",
"//base:base",
"//cc:cc",
"//cc/paint:paint",
"//components/viz/common",
"//device/screen_orientation/public/interfaces:interfaces_shared_cpp_sources",
"//media/midi:mojo_shared_cpp_sources",
"//mojo/public/cpp/bindings:bindings",
"//mojo/public/cpp/system:system",
"//services/network/public/cpp:cpp",
"//services/network/public/interfaces:interfaces",
"//v8:v8_headers",
]
}
group("blink_devtools_frontend_resources") {
public_deps = [
"//third_party/WebKit/Source/devtools:devtools_frontend_resources",
]
}
group("blink_devtools_frontend_resources_files") {
data_deps = [
"//third_party/WebKit/Source/devtools:devtools_all_files",
]
}
group("blink_generate_devtools_grd") {
public_deps = [
"//third_party/WebKit/Source/devtools:generate_devtools_grd",
]
}
resources_out_dir = "$root_gen_dir/blink/public/resources"
grit("resources") {
output_dir = resources_out_dir
source = "blink_resources.grd"
outputs = [
"grit/blink_resources.h",
"blink_resources.pak",
]
html_min_css = "$blink_core_output_dir/html.css"
grit_flags = [
"-E",
"html_min_css=" + rebase_path(html_min_css, "."),
]
deps = [
"//third_party/WebKit/Source/core:make_minimized_css",
]
}
grit("image_resources") {
output_dir = "$root_gen_dir/blink/public/resources"
source = "blink_image_resources.grd"
outputs = [
"grit/blink_image_resources.h",
"blink_image_resources_100_percent.pak",
"blink_image_resources_200_percent.pak",
]
}
group("scaled_resources") {
public_deps = [
":image_resources",
":media_controls_resources_header",
"//third_party/WebKit/Source/modules/media_controls:media_controls_resources",
]
}
copy("media_controls_resources_header") {
sources = [
"$root_gen_dir/blink/modules/media_controls/resources/grit/media_controls_resources.h",
]
outputs = [
"$resources_out_dir/grit/media_controls_resources.h",
]
deps = [
"//third_party/WebKit/Source/modules/media_controls:media_controls_resources",
]
}
repack("scaled_resources_100_percent") {
output = "$root_gen_dir/blink/public/resources/blink_scaled_resources_100_percent.pak"
sources = [
"$root_gen_dir/blink/modules/media_controls/resources/media_controls_resources_100_percent.pak",
"$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak",
]
deps = [
":scaled_resources",
]
}
repack("scaled_resources_200_percent") {
output = "$root_gen_dir/blink/public/resources/blink_scaled_resources_200_percent.pak"
sources = [
"$root_gen_dir/blink/modules/media_controls/resources/media_controls_resources_200_percent.pak",
"$root_gen_dir/blink/public/resources/blink_image_resources_200_percent.pak",
]
deps = [
":scaled_resources",
]
}
mojom("mojo_bindings") {
visibility = [
"//content/*",
"//chrome/common:mojo_bindings",
]
visibility_blink = [
"//content/common:mojo_bindings_blink",
"//chrome/common:mojo_bindings_blink",
"//third_party/WebKit/Source/platform",
"//third_party/WebKit/Source/platform/loader",
"//third_party/WebKit/Source/platform/network",
]
sources = [
"platform/address_space.mojom",
"platform/content_security_policy.mojom",
"platform/dedicated_worker_factory.mojom",
"platform/display_mode.mojom",
"platform/media_download_in_product_help.mojom",
"platform/media_engagement.mojom",
"platform/mime_registry.mojom",
"platform/modules/app_banner/app_banner.mojom",
"platform/modules/background_fetch/background_fetch.mojom",
"platform/modules/background_sync/background_sync.mojom",
"platform/modules/bluetooth/web_bluetooth.mojom",
"platform/modules/budget_service/budget_service.mojom",
"platform/modules/cache_storage/cache_storage.mojom",
"platform/modules/credentialmanager/credential_manager.mojom",
"platform/modules/fetch/fetch_api_request.mojom",
"platform/modules/geolocation/geolocation_service.mojom",
"platform/modules/hyphenation/hyphenation.mojom",
"platform/modules/insecure_input/insecure_input_service.mojom",
"platform/modules/keyboard_lock/keyboard_lock.mojom",
"platform/modules/manifest/manifest.mojom",
"platform/modules/manifest/manifest_manager.mojom",
"platform/modules/notifications/notification.mojom",
"platform/modules/notifications/notification_service.mojom",
"platform/modules/payments/payment_app.mojom",
"platform/modules/permissions/permission.mojom",
"platform/modules/permissions/permission_status.mojom",
"platform/modules/presentation/presentation.mojom",
"platform/modules/serviceworker/navigation_preload_state.mojom",
"platform/modules/serviceworker/service_worker.mojom",
"platform/modules/serviceworker/service_worker_error_type.mojom",
"platform/modules/serviceworker/service_worker_event_status.mojom",
"platform/modules/serviceworker/service_worker_object.mojom",
"platform/modules/serviceworker/service_worker_registration.mojom",
"platform/modules/serviceworker/service_worker_state.mojom",
"platform/modules/serviceworker/service_worker_stream_handle.mojom",
"platform/modules/webauth/authenticator.mojom",
"platform/modules/webdatabase/web_database.mojom",
"platform/modules/websockets/websocket.mojom",
"platform/oom_intervention.mojom",
"platform/referrer.mojom",
"platform/reporting.mojom",
"platform/site_engagement.mojom",
"web/console_message.mojom",
"web/selection_menu_behavior.mojom",
"web/shared_worker_creation_context_type.mojom",
"web/window_features.mojom",
"web/worker_content_settings_proxy.mojom",
]
public_deps = [
":android_mojo_bindings",
":web_client_hints_types_mojo_bindings",
":web_feature_mojo_bindings",
"//device/bluetooth/public/interfaces",
"//device/geolocation/public/interfaces",
"//device/screen_orientation/public/interfaces",
"//mojo/common:common_custom_types",
"//services/network/public/interfaces:interfaces",
"//services/service_manager/public/interfaces",
"//third_party/WebKit/common:mojo_platform_bindings",
"//ui/gfx/geometry/mojo",
"//url/mojo:url_mojom_gurl",
"//url/mojo:url_mojom_origin",
]
overridden_deps = [ "//third_party/WebKit/common:mojo_platform_bindings" ]
component_deps = [ "//third_party/WebKit/common:blink_common" ]
component_output_prefix = "blink_mojo_bindings"
# The chromium variant must be linked with content and use the same export
# settings in component build because of the WebBluetoothDeviceId typemap
# inside content.
export_class_attribute = "CONTENT_EXPORT"
export_define = "CONTENT_IMPLEMENTATION=1"
export_header = "content/common/content_export.h"
# Similarly, the blink variant must be linked with the platform component
# since it uses types from it in its typemaps.
export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/WebKit/public/platform/WebCommon.h"
}
mojom("android_mojo_bindings") {
visibility = [ ":mojo_bindings" ]
visibility_blink = [ ":mojo_bindings_blink" ]
sources = [
"platform/input_host.mojom",
"platform/input_messages.mojom",
"platform/modules/document_metadata/copyless_paste.mojom",
"platform/modules/installation/installation.mojom",
"platform/modules/installedapp/installed_app_provider.mojom",
"platform/modules/installedapp/related_application.mojom",
"platform/modules/mediasession/media_session.mojom",
"platform/modules/payments/payment_request.mojom",
"platform/modules/webshare/webshare.mojom",
]
public_deps = [
"//mojo/common:common_custom_types",
"//ui/gfx/geometry/mojo",
"//url/mojo:url_mojom_gurl",
]
component_output_prefix = "blink_android_mojo_bindings"
# See comment above.
export_class_attribute = "CONTENT_EXPORT"
export_define = "CONTENT_IMPLEMENTATION=1"
export_header = "content/common/content_export.h"
export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/WebKit/public/platform/WebCommon.h"
}
# The offscreen_canvas_mojo_bindings is separated from the rest of mojom files
# because its deps contain too many files in Chromium that would pollute the
# include paths in generated mojom-blink files for other services.
mojom("offscreen_canvas_mojo_bindings") {
visibility = [ "//content/*" ]
visibility_blink = [ "//third_party/WebKit/Source/platform" ]
sources = [
"platform/modules/offscreencanvas/offscreen_canvas_surface.mojom",
]
deps = [
"//services/viz/public/interfaces",
]
component_output_prefix = "blink_offscreen_canvas_mojo_bindings"
# See comment above
export_class_attribute = "CONTENT_EXPORT"
export_define = "CONTENT_IMPLEMENTATION=1"
export_header = "content/common/content_export.h"
export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/WebKit/public/platform/WebCommon.h"
}
# The core_mojo_bindings is separated from the rest of mojom files to allow its deps
# to depend on types in WebKit/Source/core.
mojom("core_mojo_bindings") {
visibility = [ "//content/*" ]
visibility_blink = [
"//content/common:mojo_bindings_blink",
"//third_party/WebKit/Source/core/*",
]
sources = [
"platform/modules/broadcastchannel/broadcast_channel.mojom",
]
public_deps = [
"//third_party/WebKit/common:mojo_bindings",
"//url/mojo:url_mojom_origin",
]
overridden_deps = [ "//third_party/WebKit/common:mojo_bindings" ]
component_deps = [ "//third_party/WebKit/common:blink_common" ]
component_output_prefix = "blink_core_mojo_bindings"
# See comment above.
export_class_attribute = "CONTENT_EXPORT"
export_define = "CONTENT_IMPLEMENTATION=1"
export_header = "content/common/content_export.h"
# Similarly, the blink variant must be linked with the core component
# since it uses types from it in its typemaps.
export_class_attribute_blink = "CORE_EXPORT"
export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
export_header_blink = "third_party/WebKit/Source/core/CoreExport.h"
}
# Note that this intentionally depends on the generator target of the mojom
# target instead of the mojom target itself directly. This is to ensure that the
# dependencies are header-only and don't link against any bindings code.
group("generate_mojo_bindings") {
deps = [
# It's important to generate both the regular and the Blink variants. The
# Blink public API exposes a number of Mojo interfaces; omitting it will
# cause non-deterministic compile failures for code that uses the regular
# variant of the generated files.
":core_mojo_bindings__generator",
":core_mojo_bindings_blink__generator",
":mojo_bindings__generator",
":mojo_bindings_blink__generator",
":offscreen_canvas_mojo_bindings_blink__generator",
]
}
# The web_feature_mojo_bindings is separated from the rest of the mojom files
# because the chromium typemap for blink mojo_bindings has private content
# dependencies.
mojom("web_feature_mojo_bindings") {
sources = [
"platform/web_feature.mojom",
]
}
# The web_feature_mojo_bindings is separated from the rest of the mojom files
# because the chromium typemap for blink mojo_bindings has private content
# dependencies.
mojom("web_client_hints_types_mojo_bindings") {
sources = [
"platform/web_client_hints_types.mojom",
]
}
# Some mojom typemaps are shared between Chromium and Blink variants and
# therefore require some shared traits implementation. These definitions are
# relegated to a separate target to avoid duplication between the variants.
source_set("shared_typemap_traits") {
visibility = [ ":*" ]
sources = [
"web/ConsoleMessageStructTraits.cpp",
"web/ConsoleMessageStructTraits.h",
]
deps = [
":blink_headers",
":mojo_bindings_shared__generator",
"//mojo/public/cpp/bindings:struct_traits",
]
}