chromium/third_party/blink/renderer/bindings/core/v8/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")
import("//third_party/blink/renderer/bindings/generated_in_core.gni")
import("//third_party/blink/renderer/core/core.gni")

visibility = [ "//third_party/blink/renderer/*" ]

blink_core_sources("v8") {
  visibility = []
  visibility = [ "//third_party/blink/renderer/core" ]

  sources = generated_async_iterator_sources_in_core +
            generated_callback_function_sources_in_core +
            generated_callback_interface_sources_in_core +
            generated_dictionary_sources_in_core +
            generated_enumeration_sources_in_core +
            generated_interface_sources_in_core +
            generated_namespace_sources_in_core +
            generated_observable_array_sources_in_core +
            generated_sync_iterator_sources_in_core +
            generated_typedef_sources_in_core + generated_union_sources_in_core

  deps = [
    ":generated",
    "//third_party/blink/renderer/platform",
    "//v8",
  ]
}

source_set("testing") {
  testonly = true

  visibility = []
  visibility = [ "//third_party/blink/renderer/core/*" ]

  configs += [
    "//third_party/blink/renderer:config",
    "//third_party/blink/renderer:inside_blink",
  ]

  sources = generated_callback_function_sources_for_testing_in_core +
            generated_dictionary_sources_for_testing_in_core +
            generated_enumeration_sources_for_testing_in_core +
            generated_interface_sources_for_testing_in_core +
            generated_union_sources_for_testing_in_core

  deps = [
    ":generated",
    "//third_party/blink/renderer/core",
    "//third_party/blink/renderer/platform",
    "//v8",
  ]
}

group("generated") {
  visibility = []
  visibility = [
    "//third_party/blink/renderer/bindings/core/v8/*",
    "//third_party/blink/renderer/core/*",
  ]

  public_deps = [
    "//components/miracle_parameter/common",
    "//third_party/blink/renderer/bindings:generate_bindings_all",
  ]
}

fuzzer_test("v8_serialized_script_value_fuzzer") {
  sources = [ "serialization/serialized_script_value_fuzzer.cc" ]
  seed_corpus = "serialization/fuzz_corpus"
  deps = [
    "//third_party/blink/public/common",
    "//third_party/blink/renderer/core",
    "//third_party/blink/renderer/core:testing",
    "//third_party/blink/renderer/platform:blink_fuzzer_test_support",
  ]
}