# Copyright 2015 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("//chromecast/chromecast.gni")

source_set("common") {
  sources = [
    "cast_content_client.cc",
    "cast_content_client.h",
    "cast_resource_delegate.cc",
    "cast_resource_delegate.h",
    "global_descriptors.h",
  ]

  deps = [
    "//base",
    "//chromecast/base",
    "//chromecast/base:cast_version",
    "//chromecast/common/media",
    "//content/public/common",
    "//ui/base",
    "//ui/gfx",
    "//url:url",
  ]

  public_deps = [
    ":platform_client_auth",
  ]
}

# target for definition and a simple implementation of PlatformClientAuth
# b/30398176 components that depend on PlatformClientAuth should directly
# depend on this target instead of //chromecast/common/
source_set("platform_client_auth") {
  sources = [
    "platform_client_auth.h",
  ]

  if (chromecast_branding == "public") {
    sources += [ "platform_client_auth_simple.cc" ]
  }
}
