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

static_library("json_parser") {
  sources = [
    "json_parser_api.h",
    "json_parser_impl.cc",
    "json_parser_impl.h",
    "sandbox_setup_hooks.cc",
    "sandbox_setup_hooks.h",
    "sandbox_target_hooks.cc",
    "sandbox_target_hooks.h",
    "sandboxed_json_parser.cc",
    "sandboxed_json_parser.h",
    "test_json_parser.cc",
    "test_json_parser.h",
  ]

  deps = [
    "//base:base",
    "//chrome/chrome_cleaner/constants:common_strings",
    "//chrome/chrome_cleaner/interfaces:json_parser_interface",
    "//chrome/chrome_cleaner/ipc:mojo_task_runner",
    "//chrome/chrome_cleaner/ipc:sandbox",
    "//chrome/chrome_cleaner/os:common_os",
    "//components/chrome_cleaner/public/constants",
    "//mojo/public/cpp/bindings",
  ]
}

source_set("unittest_sources") {
  testonly = true

  sources = [
    "json_parser_impl_unittest.cc",
    "sandbox_setup_unittest.cc",
  ]

  deps = [
    ":json_parser",
    "//base:base",
    "//base/test:test_support",
    "//chrome/chrome_cleaner/interfaces:json_parser_interface",
    "//chrome/chrome_cleaner/ipc:mojo_task_runner",
    "//mojo/public/cpp/bindings",
    "//sandbox/win:sandbox",
    "//testing/gtest",
  ]
}
