# 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("//tools/grit/grit_rule.gni")

group("blink") {
  deps = [
    ":sky_headers",
    "//sky/engine/web",
    "//sky/engine/platform",
  ]
}

group("test_support") {
  deps = [
    "//sky/engine/web:test_support",
  ]
}

config("sky_headers_config") {
  include_dirs = [ ".." ]
}

# Depend on this target to use public sky API headers for things like enums
# and public structures without actually linking against any Blink libraries.
source_set("sky_headers") {
  direct_dependent_configs = [
    ":sky_headers_config",
  ]

  public = [
    "platform/Platform.h",
    "platform/ServiceProvider.h",
    "platform/WebArrayBuffer.h",
    "platform/WebBlendMode.h",
    "platform/WebCString.h",
    "platform/WebCallbacks.h",
    "platform/WebCanvas.h",
    "platform/WebClipboard.h",
    "platform/WebColor.h",
    "platform/WebCommon.h",
    "platform/WebCompositeAndReadbackAsyncCallback.h",
    "platform/WebCompositorAnimation.h",
    "platform/WebCompositorAnimationCurve.h",
    "platform/WebCompositorAnimationDelegate.h",
    "platform/WebCompositorOutputSurface.h",
    "platform/WebCompositorSupport.h",
    "platform/WebContentLayer.h",
    "platform/WebContentLayerClient.h",
    "platform/WebConvertableToTraceFormat.h",
    "platform/WebCursorInfo.h",
    "platform/WebData.h",
    "platform/WebDiscardableMemory.h",
    "platform/WebExternalBitmap.h",
    "platform/WebExternalTextureLayer.h",
    "platform/WebExternalTextureLayerClient.h",
    "platform/WebExternalTextureMailbox.h",
    "platform/WebFallbackThemeEngine.h",
    "platform/WebFilterAnimationCurve.h",
    "platform/WebFilterKeyframe.h",
    "platform/WebFilterOperations.h",
    "platform/WebFlingAnimator.h",
    "platform/WebFloatAnimationCurve.h",
    "platform/WebFloatKeyframe.h",
    "platform/WebFloatPoint.h",
    "platform/WebFloatPoint3D.h",
    "platform/WebFloatRect.h",
    "platform/WebFloatSize.h",
    "platform/WebGestureCurve.h",
    "platform/WebGestureCurveTarget.h",
    "platform/WebGestureDevice.h",
    "platform/WebGraphicsContext3D.h",
    "platform/WebGraphicsContext3DProvider.h",
    "platform/WebGraphicsLayerDebugInfo.h",
    "platform/WebHTTPBody.h",
    "platform/WebHTTPHeaderVisitor.h",
    "platform/WebHTTPLoadInfo.h",
    "platform/WebImage.h",
    "platform/WebImageLayer.h",
    "platform/WebLayer.h",
    "platform/WebLayerClient.h",
    "platform/WebLayerScrollClient.h",
    "platform/WebLayerTreeView.h",
    "platform/WebLocalizedString.h",
    "platform/WebMimeRegistry.h",
    "platform/WebNonCopyable.h",
    "platform/WebPoint.h",
    "platform/WebPrivateOwnPtr.h",
    "platform/WebPrivatePtr.h",
    "platform/WebRect.h",
    "platform/WebReferrerPolicy.h",
    "platform/WebRenderingStats.h",
    "platform/WebScreenInfo.h",
    "platform/WebScreenOrientationType.h",
    "platform/WebSelectionBound.h",
    "platform/WebSize.h",
    "platform/WebString.h",
    "platform/WebThemeEngine.h",
    "platform/WebThread.h",
    "platform/WebTransformAnimationCurve.h",
    "platform/WebTransformKeyframe.h",
    "platform/WebTransformOperations.h",
    "platform/WebURL.h",
    "platform/WebURLError.h",
    "platform/WebURLLoadTiming.h",
    "platform/WebURLLoader.h",
    "platform/WebURLLoaderClient.h",
    "platform/WebURLRequest.h",
    "platform/WebURLResponse.h",
    "platform/WebUnitTestSupport.h",
    "platform/WebVector.h",
    "platform/android/WebSandboxSupport.h",
    "platform/linux/WebFallbackFont.h",
    "platform/linux/WebFontInfo.h",
    "platform/linux/WebFontRenderStyle.h",
    "platform/linux/WebSandboxSupport.h",
    "web/Sky.h",
    "web/WebActiveWheelFlingParameters.h",
    "web/WebArrayBufferConverter.h",
    "web/WebArrayBufferView.h",
    "web/WebBeginFrameArgs.h",
    "web/WebCache.h",
    "web/WebCachedURLRequest.h",
    "web/WebCompositionUnderline.h",
    "web/WebConsoleMessage.h",
    "web/WebContentDetectionResult.h",
    "web/WebCustomElement.h",
    "web/WebDocument.h",
    "web/WebElement.h",
    "web/WebExceptionCode.h",
    "web/WebFont.h",
    "web/WebFontDescription.h",
    "web/WebFrame.h",
    "web/WebFrameClient.h",
    "web/WebGlyphCache.h",
    "web/WebHitTestResult.h",
    "web/WebImageCache.h",
    "web/WebImageDecoder.h",
    "web/WebInputEvent.h",
    "web/WebLeakDetector.h",
    "web/WebLocalFrame.h",
    "web/WebMemoryUsageInfo.h",
    "web/WebNavigationPolicy.h",
    "web/WebNavigationType.h",
    "web/WebNavigatorContentUtilsClient.h",
    "web/WebNode.h",
    "web/WebPageVisibilityState.h",
    "web/WebRange.h",
    "web/WebRuntimeFeatures.h",
    "web/WebScopedUserGesture.h",
    "web/WebScriptBindings.h",
    "web/WebScriptController.h",
    "web/WebScriptSource.h",
    "web/WebSecurityPolicy.h",
    "web/WebSettings.h",
    "web/WebSpellCheckClient.h",
    "web/WebTestingSupport.h",
    "web/WebTextAffinity.h",
    "web/WebTextCheckingCompletion.h",
    "web/WebTextCheckingResult.h",
    "web/WebTextCheckingType.h",
    "web/WebTextDecorationType.h",
    "web/WebTextDirection.h",
    "web/WebTextInputInfo.h",
    "web/WebTextInputType.h",
    "web/WebTextRun.h",
    "web/WebTouchAction.h",
    "web/WebTouchPoint.h",
    "web/WebURLLoaderOptions.h",
    "web/WebUserGestureIndicator.h",
    "web/WebUserGestureToken.h",
    "web/WebView.h",
    "web/WebViewClient.h",
    "web/WebWidget.h",
    "web/WebWidgetClient.h",
    "web/linux/WebFontRendering.h",
  ]
}
