chromium/chrome/browser/first_party_sets/BUILD.gn

# Copyright 2022 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")

source_set("first_party_sets") {
  visibility = [
    ":*",
    "//chrome",
    "//chrome/browser:*",
    "//chrome/browser/*",
    "//chrome/test:*",
  ]
  sources = [
    "first_party_sets_overrides_policy_handler.cc",
    "first_party_sets_overrides_policy_handler.h",
    "first_party_sets_pref_names.cc",
    "first_party_sets_pref_names.h",
    "scoped_mock_first_party_sets_handler.cc",
    "scoped_mock_first_party_sets_handler.h",
  ]
  deps = [
    "//base",
    "//chrome/browser:browser_process",
    "//chrome/browser/profiles:profile",
    "//chrome/browser/profiles:profiles",
    "//components/keyed_service/content",
    "//components/policy:generated",
    "//components/policy:policy_code_generate",
    "//components/policy/content/",
    "//components/policy/core/browser",
    "//components/policy/proto",
    "//components/pref_registry",
    "//components/prefs:prefs",
    "//components/privacy_sandbox:privacy_sandbox",
    "//components/privacy_sandbox:privacy_sandbox_prefs",
    "//components/strings:components_strings_grit",
  ]
  public_deps = [ "//content/public/browser" ]
}

fuzzer_test("first_party_sets_overrides_policy_handler_fuzzer") {
  sources = [ "test/first_party_sets_overrides_policy_handler_fuzzer.cc" ]
  deps = [
    ":first_party_sets",
    "//base",
    "//base:i18n",
    "//components/policy:generated",
    "//components/policy/core/browser",
    "//testing/libfuzzer/proto:json_proto",
    "//testing/libfuzzer/proto:json_proto_converter",
    "//third_party/libprotobuf-mutator",
  ]

  if (is_chromeos) {
    deps += [ "//chromeos/ash/components/dbus/cros_disks" ]
  }
}