# 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/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",
  ]

  defines = [ "DISPLAY_UTIL_IMPLEMENTATION" ]

  deps = [
    "//base",
    "//ui/display/types",
    "//ui/gfx/geometry",
  ]

  if (use_x11) {
    sources += [
      "x11/edid_parser_x11.cc",
      "x11/edid_parser_x11.h",
    ]
    configs += [
      "//build/config/linux:x11",
      "//build/config/linux:xrandr",
    ]
    deps += [ "//ui/gfx/x" ]
  }
  if (is_chromeos) {
    deps += [ "//ui/display/types" ]
  }
}

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