# 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/chromeos/ui_mode.gni")
import("//build/config/ui.gni")
import("//ui/views/features.gni")

assert(toolkit_views)

component("views") {
  output_name = "browser_ui_views"
  sources = [
    "accelerator_table.cc",
    "accelerator_table.h",
    "chrome_views_export.h",
    "event_utils.cc",
    "event_utils.h",
    "tab_icon_view_model.h",
    "tabs/tab_strip_observer.cc",
    "tabs/tab_strip_observer.h",
    "tabs/tab_strip_types.h",
  ]

  defines = [ "CHROME_VIEWS_IMPLEMENTATION" ]

  deps = [
    "//base",
    "//build:branding_buildflags",
    "//build:chromeos_buildflags",
    "//chrome/app:command_ids",
    "//chrome/app:generated_resources",
    "//components/keep_alive_registry",
    "//components/vector_icons",
    "//content/public/browser",
    "//printing/buildflags",
    "//skia",
    "//ui/base",
    "//ui/events",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//url",
  ]

  if (is_chromeos_ash) {
    deps += [ "//ash" ]
  }
}
