chromium/ui/display/util/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/chromeos/ui_mode.gni")
import("//build/config/ui.gni")
import("//testing/libfuzzer/fuzzer_test.gni")

component("util") {
  output_name = "display_util"
  sources = [
    "display_util.cc",
    "display_util.h",
    "display_util_export.h",
    "edid_parser.cc",
    "edid_parser.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  defines = [ "DISPLAY_UTIL_IMPLEMENTATION" ]

  public_deps = [ "//ui/display:display_features" ]

  deps = [
    "//base",
    "//components/device_event_log",
    "//skia",
    "//ui/display/types",
    "//ui/gfx:color_space",
    "//ui/gfx/geometry",
  ]

  if (is_chromeos_ash) {
    deps += [ "//ui/display/types" ]
  } else if (is_mac) {
    frameworks = [ "IOSurface.framework" ]
  }
}

source_set("gpu_info_util") {
  sources = [
    "gpu_info_util.cc",
    "gpu_info_util.h",
  ]

  deps = [ "//base" ]
}

fuzzer_test("edid_parser_fuzzer") {
  sources = [ "edid_parser_fuzzer.cc" ]
  deps = [
    ":util",
    "//base",
    "//skia",
    "//ui/gfx/geometry",
  ]
  seed_corpus = "fuzz_corpus"
  libfuzzer_options = [ "max_len=300" ]
}