chromium/ui/views/controls/webview/BUILD.gn

# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/ozone.gni")

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

  if (is_mac) {
    sources += [ "unhandled_keyboard_event_handler_mac.mm" ]
  }

  if (is_win) {
    sources += [ "unhandled_keyboard_event_handler_win.cc" ]
  }

  defines = [ "WEBVIEW_IMPLEMENTATION" ]

  if (is_mac) {
    frameworks = [ "CoreFoundation.framework" ]
  }

  deps = [
    "//base:i18n",
    "//components/input",
    "//ipc",
    "//skia",
    "//ui/accessibility",
    "//ui/base",
    "//ui/content_accelerators",
    "//ui/events",
    "//ui/events:events_base",
    "//ui/gfx:native_widget_types",
    "//ui/web_dialogs",
    "//url",
  ]

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

  if (is_linux || is_chromeos || is_android || is_fuchsia) {
    if (use_ozone) {
      sources += [ "unhandled_keyboard_event_handler_ozone.cc" ]
      deps += [ "//ui/ozone" ]
    } else {
      sources += [ "unhandled_keyboard_event_handler_default.cc" ]
    }
  }
}

static_library("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/base",
    "//ui/events",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/views",
    "//ui/views:test_support",
  ]
}