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

source_set("cleaner_ui") {
  sources = [
    "chrome_proxy_main_dialog.cc",
    "chrome_proxy_main_dialog.h",
    "main_dialog_api.cc",
    "main_dialog_api.h",
    "silent_main_dialog.cc",
    "silent_main_dialog.h",
  ]

  deps = [
    "//base",
    "//chrome/chrome_cleaner/constants:uws_id",
    "//chrome/chrome_cleaner/ipc:chrome_prompt_ipc",
    "//chrome/chrome_cleaner/os:common_os",
    "//chrome/chrome_cleaner/pup_data:cleaner_pup_util",
    "//chrome/chrome_cleaner/pup_data:pup_data_base",
    "//chrome/chrome_cleaner/settings",
    "//components/chrome_cleaner/public/constants:constants",
    "//components/chrome_cleaner/public/interfaces:interfaces",
  ]
}

source_set("unittest_sources") {
  testonly = true

  sources = [
    "chrome_proxy_main_dialog_unittest.cc",
    "mock_main_dialog_delegate.cc",
    "mock_main_dialog_delegate.h",
    "silent_main_dialog_unittest.cc",
  ]

  deps = [
    ":cleaner_ui",
    "//base",
    "//chrome/chrome_cleaner/constants:uws_id",
    "//chrome/chrome_cleaner/ipc:mock_chrome_prompt_ipc",
    "//chrome/chrome_cleaner/test:test_pup_data",
    "//chrome/chrome_cleaner/test:test_util",
    "//components/chrome_cleaner/test:test_name_helper",
    "//testing/gmock",
    "//testing/gtest",
  ]
}
