1# Copyright 2018 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# Nothing outside //chrome/chrome_cleaner can depend on these targets.
6visibility = [ "//chrome/chrome_cleaner/*" ]
7
8source_set("common_os") {
9  sources = [
10    "digest_verifier.cc",
11    "digest_verifier.h",
12    "disk_util.cc",
13    "disk_util.h",
14    "disk_util_types.cc",
15    "disk_util_types.h",
16    "early_exit.cc",
17    "early_exit.h",
18    "file_path_sanitization.cc",
19    "file_path_sanitization.h",
20    "file_path_set.cc",
21    "file_path_set.h",
22    "inheritable_event.cc",
23    "inheritable_event.h",
24    "initializer.cc",
25    "initializer.h",
26    "layered_service_provider_api.h",
27    "layered_service_provider_wrapper.cc",
28    "layered_service_provider_wrapper.h",
29    "nt_internals.h",
30    "post_reboot_registration.cc",
31    "post_reboot_registration.h",
32    "pre_fetched_paths.cc",
33    "pre_fetched_paths.h",
34    "process.cc",
35    "process.h",
36    "registry.cc",
37    "registry.h",
38    "registry_util.cc",
39    "registry_util.h",
40    "resource_util.cc",
41    "resource_util.h",
42    "scoped_disable_wow64_redirection.cc",
43    "scoped_disable_wow64_redirection.h",
44    "scoped_service_handle.cc",
45    "scoped_service_handle.h",
46    "secure_dll_loading.cc",
47    "secure_dll_loading.h",
48    "shutdown_watchdog.cc",
49    "shutdown_watchdog.h",
50    "system_util.cc",
51    "system_util.h",
52    "task_scheduler.cc",
53    "task_scheduler.h",
54    "whitelisted_directory.cc",
55    "whitelisted_directory.h",
56  ]
57
58  deps = [
59    "//base",
60    "//chrome/chrome_cleaner:buildflags",
61    "//chrome/chrome_cleaner/constants:common_strings",
62    "//chrome/chrome_cleaner/constants:version_header",
63    "//chrome/chrome_cleaner/proto:file_digest_proto",
64    "//chrome/chrome_cleaner/strings",
65    "//components/chrome_cleaner/public/constants:constants",
66
67    # For file_path_sanitization
68    "//chrome/chrome_cleaner/proto:shared_pup_enums_proto",
69    "//crypto",
70  ]
71
72  libs = [
73    "crypt32.lib",  # For CertEnumCertificatesInStore
74    "ntdll.lib",  # For NtQueryKey
75    "secur32.lib",  # For GetUserNameEx
76    "taskschd.lib",  # For CLSID_TaskScheduler
77  ]
78
79  defines = [ "SECURITY_WIN32" ]  # For secur32.lib
80}
81
82source_set("file_remover_api") {
83  sources = [ "file_remover_api.h" ]
84
85  deps = [
86    "//base",
87    "//chrome/chrome_cleaner/os:common_os",
88  ]
89}
90
91source_set("cleaner_os") {
92  sources = [
93    "file_removal_status_updater.cc",
94    "file_removal_status_updater.h",
95    "file_remover.cc",
96    "file_remover.h",
97    "rebooter.cc",
98    "rebooter.h",
99    "rebooter_api.h",
100    "system_util_cleaner.cc",
101    "system_util_cleaner.h",
102  ]
103
104  deps = [
105    ":common_os",
106    ":file_remover_api",
107    "//base",
108    "//chrome/chrome_cleaner/constants:common_strings",
109    "//chrome/chrome_cleaner/constants:quarantine_constants",
110    "//chrome/chrome_cleaner/constants:version_header",
111    "//chrome/chrome_cleaner/logging/proto:removal_status_proto",
112    "//chrome/chrome_cleaner/mojom:zip_archiver_interface",
113    "//chrome/chrome_cleaner/proto:shared_pup_enums_proto",
114    "//chrome/chrome_cleaner/zip_archiver:common",
115    "//components/chrome_cleaner/public/constants:constants",
116    "//sandbox/win:sandbox",
117  ]
118
119  public_deps = [ "//chrome/chrome_cleaner/logging/proto:removal_status_proto" ]
120}
121
122source_set("unittest_sources") {
123  testonly = true
124
125  sources = [
126    "digest_verifier_unittest.cc",
127    "disk_util_unittest.cc",
128    "file_path_sanitization_unittest.cc",
129    "file_path_set_unittest.cc",
130    "file_removal_status_updater_unittest.cc",
131    "file_remover_unittest.cc",
132    "post_reboot_registration_unittest.cc",
133    "pre_fetched_paths_unittest.cc",
134    "process_unittest.cc",
135    "rebooter_unittest.cc",
136    "registry_unittest.cc",
137    "registry_util_unittest.cc",
138    "resource_util_unittest.cc",
139    "shutdown_watchdog_unittest.cc",
140    "system_util_cleaner_unittest.cc",
141    "task_scheduler_unittest.cc",
142    "whitelisted_directory_unittest.cc",
143  ]
144
145  deps = [
146    ":cleaner_os",
147    ":common_os",
148    ":file_remover_api",
149    "//base",
150    "//base/test:test_config",
151    "//base/test:test_support",
152    "//chrome/chrome_cleaner/constants:common_strings",
153    "//chrome/chrome_cleaner/constants:quarantine_constants",
154    "//chrome/chrome_cleaner/constants:version_header",
155    "//chrome/chrome_cleaner/ipc:mojo_task_runner",
156    "//chrome/chrome_cleaner/logging/proto:removal_status_proto",
157    "//chrome/chrome_cleaner/proto:shared_pup_enums_proto",
158    "//chrome/chrome_cleaner/strings",
159    "//chrome/chrome_cleaner/test:test_branding_header",
160    "//chrome/chrome_cleaner/test:test_executables",
161    "//chrome/chrome_cleaner/test:test_scoped_service_handle",
162    "//chrome/chrome_cleaner/test:test_strings",
163    "//chrome/chrome_cleaner/test:test_util",
164    "//chrome/chrome_cleaner/test/resources:test_resources",
165    "//chrome/chrome_cleaner/zip_archiver:common",
166    "//chrome/chrome_cleaner/zip_archiver/broker:common",
167    "//chrome/chrome_cleaner/zip_archiver/target:common",
168    "//components/chrome_cleaner/public/constants:constants",
169    "//components/chrome_cleaner/test:test_name_helper",
170    "//sandbox/win:sandbox",
171    "//testing/gmock",
172    "//testing/gtest",
173  ]
174}
175