# 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.

component("webview") {
  sources = [
    "unhandled_keyboard_event_handler.cc",
    "unhandled_keyboard_event_handler.h",
    "unhandled_keyboard_event_handler_linux.cc",
    "unhandled_keyboard_event_handler_win.cc",
    "web_dialog_view.cc",
    "web_dialog_view.h",
    "webview.cc",
    "webview.h",
    "webview_export.h",
  ]

  defines = [ "WEBVIEW_IMPLEMENTATION" ]

  deps = [
    "//base:i18n",
    "//base/third_party/dynamic_annotations",
    "//ipc",
    "//skia",
    "//ui/accessibility",
    "//ui/base",
    "//ui/events",
    "//ui/events:events_base",
    "//ui/web_dialogs",
    "//url",
  ]

  public_deps = [
    "//base",
    "//content/public/browser",
    "//ui/aura",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/views",
  ]
}

source_set("test_support") {
  testonly = true
  sources = [
    "../../test/webview_test_helper.cc",
    "../../test/webview_test_helper.h",
  ]

  public_deps = [
    ":webview",
  ]
  deps = [
    "//base",
    "//content",
    "//content/test:test_support",
    "//ipc:test_support",
    "//skia",
    "//testing/gtest",
    "//ui/aura",
    "//ui/base",
    "//ui/events",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/views",
    "//ui/views:test_support",
  ]
}
