chromium/components/favicon_base/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("//testing/libfuzzer/fuzzer_test.gni")

if (is_android) {
  import("//build/config/android/rules.gni")
}

static_library("favicon_base") {
  sources = [
    "fallback_icon_style.cc",
    "fallback_icon_style.h",
    "favicon_callback.h",
    "favicon_types.cc",
    "favicon_types.h",
    "favicon_url_parser.cc",
    "favicon_url_parser.h",
    "favicon_usage_data.cc",
    "favicon_usage_data.h",
    "favicon_util.cc",
    "favicon_util.h",
    "select_favicon_frames.cc",
    "select_favicon_frames.h",
  ]

  deps = [
    "//base",
    "//net",
    "//ui/base",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//url",
  ]
  public_deps = [ "//skia" ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "favicon_url_parser_unittest.cc",
    "select_favicon_frames_unittest.cc",
  ]

  deps = [
    ":favicon_base",
    "//testing/gtest",
    "//ui/base",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//url",
  ]
}

fuzzer_test("favicon_url_parser_fuzzer") {
  sources = [ "favicon_url_parser_fuzzer.cc" ]

  deps = [
    ":favicon_base",
    "//base",
    "//base:i18n",
  ]
}

if (is_android) {
  java_cpp_enum("favicon_base_enums_java") {
    sources = [ "favicon_types.h" ]
  }
}