# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

assert(is_chromeos)

static_library("cleanup") {
  sources = [
    "browser_cleanup_handler.cc",
    "browser_cleanup_handler.h",
    "cleanup_handler.h",
    "cleanup_manager.cc",
    "cleanup_manager.h",
    "cleanup_manager_ash.cc",
    "cleanup_manager_ash.h",
    "clipboard_cleanup_handler.cc",
    "clipboard_cleanup_handler.h",
    "extension_cleanup_handler.cc",
    "extension_cleanup_handler.h",
    "files_cleanup_handler.cc",
    "files_cleanup_handler.h",
    "pinned_apps_cleanup_handler.cc",
    "pinned_apps_cleanup_handler.h",
    "print_jobs_cleanup_handler.cc",
    "print_jobs_cleanup_handler.h",
    "web_app_cleanup_handler.cc",
    "web_app_cleanup_handler.h",
  ]

  public_deps = [ "//chrome/browser:browser_public_dependencies" ]

  deps = [
    "//base",
    "//chrome/browser/ash/printing/print_management",
    "//chrome/browser/browsing_data:constants",
    "//chrome/browser/lifetime",
    "//chrome/browser/profiles:profile",
    "//chrome/browser/profiles:profile_manager",
    "//chrome/browser/ui/browser_window",
    "//chrome/browser/web_applications",
    "//chrome/common:constants",
    "//components/app_constants",
    "//components/prefs",
    "//components/services/app_service",
    "//components/webapps/browser:constants",
    "//content/public/browser",
    "//extensions/browser",
    "//extensions/common",
    "//mojo/public/cpp/bindings",
    "//ui/base/clipboard",
  ]
}

static_library("test_support") {
  testonly = true

  sources = [
    "mock_cleanup_handler.cc",
    "mock_cleanup_handler.h",
  ]

  deps = [
    ":cleanup",
    "//testing/gmock",
  ]
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "cleanup_manager_unittest.cc",
    "extension_cleanup_handler_unittest.cc",
    "print_jobs_cleanup_handler_unittest.cc",
  ]

  deps = [
    ":cleanup",
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//chrome/browser",
    "//chrome/browser/ash/login/users:test_support",
    "//chrome/browser/ash/printing:test_support",
    "//chrome/browser/ash/printing/history",
    "//chrome/browser/ash/printing/history:test_support",
    "//chrome/browser/ash/printing/print_management",
    "//chrome/browser/extensions",
    "//chrome/browser/extensions:test_support",
    "//chrome/common:constants",
    "//chrome/common:non_code_constants",
    "//chrome/test:test_support",
    "//components/history/core/test",
    "//components/keyed_service/core",
    "//components/prefs",
    "//components/prefs:test_support",
    "//components/sync_preferences:test_support",
    "//components/user_manager",
    "//content/public/browser",
    "//content/test:test_support",
    "//extensions:test_support",
    "//extensions/browser",
    "//mojo/public/cpp/bindings",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

source_set("browser_tests") {
  testonly = true

  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

  sources = [
    "browser_cleanup_handler_browsertest.cc",
    "extension_cleanup_handler_browsertest.cc",
    "pinned_apps_cleanup_handler_browsertest.cc",
    "web_app_cleanup_handler_browsertest.cc",
  ]

  deps = [
    ":cleanup",
    "//ash/constants",
    "//base",
    "//base/test:test_support",
    "//chrome/browser:browser_process",
    "//chrome/browser/ash/login",
    "//chrome/browser/ash/login/test:test_support",
    "//chrome/browser/ash/policy/core",
    "//chrome/browser/ash/policy/core:test_support",
    "//chrome/browser/ash/policy/test_support",
    "//chrome/browser/ash/profiles",
    "//chrome/browser/extensions",
    "//chrome/browser/extensions:test_support",
    "//chrome/browser/lifetime",
    "//chrome/browser/policy:extension_force_install_mixin",
    "//chrome/browser/profiles:profile",
    "//chrome/browser/ui",
    "//chrome/browser/ui/ash/shelf",
    "//chrome/browser/web_applications",
    "//chrome/browser/web_applications:web_applications_test_support",
    "//chrome/common:constants",
    "//chrome/test:test_support",
    "//chrome/test:test_support_ui",
    "//components/app_constants",
    "//components/policy/core/common:common_constants",
    "//components/policy/core/common:test_support",
    "//components/prefs",
    "//components/webapps/browser",
    "//components/webapps/common",
    "//content/test:test_support",
    "//extensions:test_support",
    "//extensions/browser",
    "//extensions/common",
    "//testing/gtest",
    "//ui/base:types",
    "//url",
  ]
}
