# 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/config/ui.gni")

component("views_content_client") {
  testonly = true
  sources = [
    "views_content_browser_client.cc",
    "views_content_browser_client.h",
    "views_content_client.cc",
    "views_content_client.h",
    "views_content_client_export.h",
    "views_content_client_main_parts.cc",
    "views_content_client_main_parts.h",
    "views_content_client_main_parts_chromeos.cc",
    "views_content_client_main_parts_mac.mm",
    "views_content_main_delegate.cc",
  ]

  defines = [ "VIEWS_CONTENT_CLIENT_IMPLEMENTATION" ]

  deps = [
    "//base",
    "//base:i18n",
    "//content",
    "//content/shell:content_shell_lib",
    "//third_party/icu",
    "//ui/base",
    "//ui/events",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/resources",
    "//ui/resources:ui_test_pak",
    "//ui/views",
    "//ui/views:test_support",
    "//ui/wm",
  ]

  if (use_aura) {
    sources += [
      "views_content_client_main_parts_aura.cc",
      "views_content_client_main_parts_aura.h",
    ]

    if (!is_chromeos) {
      sources += [ "views_content_client_main_parts_desktop_aura.cc" ]
    }

    deps += [ "//ui/aura" ]
  }
}
