# 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/android/rules.gni")

static_library("web_contents_delegate_android") {
  sources = [
    "color_chooser_android.cc",
    "color_chooser_android.h",
    "component_jni_registrar.cc",
    "component_jni_registrar.h",
    "validation_message_bubble_android.cc",
    "validation_message_bubble_android.h",
    "web_contents_delegate_android.cc",
    "web_contents_delegate_android.h",
  ]

  deps = [
    ":web_contents_delegate_android_jni_headers",
    "//base",
    "//content/public/browser",
    "//content/public/common",
    "//net",
    "//skia",
    "//ui/android",
    "//ui/base",
    "//ui/gfx",
    "//ui/gfx/geometry",
  ]
}

android_resources("web_contents_delegate_android_java_resources") {
  custom_package = "org.chromium.components.web_contents_delegate_android"
  resource_dirs = [ "android/java/res" ]
  deps = [
    "//components/strings:components_strings_grd",
  ]
}

android_library("web_contents_delegate_android_java") {
  deps = [
    ":web_contents_delegate_android_java_resources",
    "//base:base_java",
    "//content/public/android:content_java",
    "//ui/android:ui_java",
  ]
  java_files = [
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorChooserAndroid.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvanced.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerAdvancedComponent.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerDialog.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerMoreButton.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorPickerSimple.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestion.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorSuggestionListAdapter.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ValidationMessageBubble.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/OnColorChangedListener.java",
  ]
}

generate_jni("web_contents_delegate_android_jni_headers") {
  sources = [
    "android/java/src/org/chromium/components/web_contents_delegate_android/ColorChooserAndroid.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/ValidationMessageBubble.java",
    "android/java/src/org/chromium/components/web_contents_delegate_android/WebContentsDelegateAndroid.java",
  ]
  jni_package = "web_contents_delegate_android"
}
