# Copyright 2016 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.

# Fuzzers for content/ components.

import("//testing/libfuzzer/fuzzer_test.gni")

# Empty group for package discovery.
group("fuzzer") {
}

# gn complains of private dependencies in component build.
if (!is_component_build) {
  source_set("fuzzer_support") {
    sources = [
      "fuzzer_support.cc",
    ]
    public_deps = [
      "//base",
      "//content/renderer:for_content_tests",
      "//content/shell:content_shell_lib",
      "//content/test:test_support",
      "//gin",
    ]
    testonly = true
  }

  fuzzer_test("origin_trial_token_fuzzer") {
    sources = [
      "origin_trial_token_fuzzer.cc",
    ]
    deps = [
      ":fuzzer_support",
    ]
    dict =
        "//content/test/data/fuzzer_dictionaries/origin_trial_token_fuzzer.dict"
    seed_corpus = "//content/test/data/fuzzer_corpus/origin_trial_token_data/"
  }

  fuzzer_test("renderer_fuzzer") {
    sources = [
      "renderer_fuzzer.cc",
    ]
    deps = [
      ":fuzzer_support",
    ]
  }

  fuzzer_test("renderer_tree_fuzzer") {
    sources = [
      "renderer_tree_fuzzer.cc",
    ]
    deps = [
      ":fuzzer_support",
    ]
  }

  fuzzer_test("clear_site_data_fuzzer") {
    sources = [
      "clear_site_data_fuzzer.cc",
    ]
    deps = [
      ":fuzzer_support",
      "//base",
      "//content/browser:for_content_tests",
    ]
    seed_corpus = "//content/test/data/fuzzer_corpus/clear_site_data/"
  }
}
