blob: 43206d22313cfe58123c4d3a79d00aa30fca02ba [file] [log] [blame]
Randy Smithb62069432017-12-29 15:27:071# Copyright 2017 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
Yuta Hijikatab46affdb2020-10-24 02:24:055import("//build/config/chromeos/ui_mode.gni")
Randy Smithb62069432017-12-29 15:27:076import("//mojo/public/tools/bindings/mojom.gni")
Qingsi Wangc2213d5d2018-11-02 01:28:127import("//net/features.gni")
Matt Menke74721be2018-10-31 22:08:108import("//services/network/public/cpp/features.gni")
Lucas Furukawa Gadanib189b392019-08-23 17:21:269import("//testing/libfuzzer/fuzzer_test.gni")
Randy Smithb62069432017-12-29 15:27:0710
Dirk Pranke9c0fc3b2020-08-06 16:01:3011component("network_service") {
Randy Smithb62069432017-12-29 15:27:0712 sources = [
Matt Menkea8406df2018-03-07 21:46:5813 "chunked_data_pipe_upload_data_stream.cc",
14 "chunked_data_pipe_upload_data_stream.h",
Jay Civelli78612bf2018-03-01 20:59:1215 "conditional_cache_deletion_helper.cc",
16 "conditional_cache_deletion_helper.h",
Lily Chenab36a112019-09-19 20:17:2817 "cookie_access_delegate_impl.cc",
18 "cookie_access_delegate_impl.h",
Randy Smithb62069432017-12-29 15:27:0719 "cookie_manager.cc",
20 "cookie_manager.h",
Clark DuVall385b5a52018-06-14 21:33:3221 "cookie_settings.cc",
22 "cookie_settings.h",
Takashi Toyoshima1139efa2018-04-10 07:33:1523 "cors/cors_url_loader.cc",
24 "cors/cors_url_loader.h",
25 "cors/cors_url_loader_factory.cc",
26 "cors/cors_url_loader_factory.h",
ainozaki3456beff2021-09-09 06:11:4427 "cors/cors_util.cc",
28 "cors/cors_util.h",
Takashi Toyoshima0d164052020-11-27 07:45:0829 "cors/preflight_cache.cc",
30 "cors/preflight_cache.h",
Takashi Toyoshima63231ede32018-02-26 08:52:5331 "cors/preflight_controller.cc",
32 "cors/preflight_controller.h",
Takashi Toyoshima0d164052020-11-27 07:45:0833 "cors/preflight_result.cc",
34 "cors/preflight_result.h",
Ryan Sleevib369d712018-08-20 16:43:2235 "crl_set_distributor.cc",
36 "crl_set_distributor.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3537 "data_pipe_element_reader.cc",
38 "data_pipe_element_reader.h",
Eric Orthf1378f612018-11-05 20:30:4939 "dns_config_change_manager.cc",
40 "dns_config_change_manager.h",
Eric Orthf9cdaf52018-08-15 20:00:3041 "host_resolver.cc",
42 "host_resolver.h",
Eric Orth73db5a5e2019-01-23 20:40:2043 "host_resolver_mdns_listener.cc",
44 "host_resolver_mdns_listener.h",
Robbie McElrathbb0389f2018-12-12 01:41:4845 "http_auth_cache_copier.cc",
46 "http_auth_cache_copier.h",
Maks Orlovich040a0dd2018-07-06 18:28:4547 "http_cache_data_counter.cc",
48 "http_cache_data_counter.h",
Jay Civelli78612bf2018-03-01 20:59:1249 "http_cache_data_remover.cc",
50 "http_cache_data_remover.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3551 "http_server_properties_pref_delegate.cc",
52 "http_server_properties_pref_delegate.h",
John Abd-El-Malek89c02ae2018-02-01 01:56:1953 "ignore_errors_cert_verifier.cc",
54 "ignore_errors_cert_verifier.h",
Yutaka Hirano92f51cda2018-02-02 01:42:0155 "keepalive_statistics_recorder.cc",
56 "keepalive_statistics_recorder.h",
Matt Menked60f16ec2018-11-07 20:18:2657 "mojo_host_resolver_impl.cc",
58 "mojo_host_resolver_impl.h",
Matt Menke55a16f02018-10-09 23:07:5359 "net_log_exporter.cc",
60 "net_log_exporter.h",
Matt Mueller859c9c72020-02-13 20:27:2661 "net_log_proxy_sink.cc",
62 "net_log_proxy_sink.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:3563 "network_change_manager.cc",
64 "network_change_manager.h",
65 "network_context.cc",
66 "network_context.h",
Tarun Bansal5f27ab972018-11-07 01:11:3067 "network_qualities_pref_delegate.cc",
68 "network_qualities_pref_delegate.h",
Tarun Bansalcd6a6cb2018-06-27 22:03:2269 "network_quality_estimator_manager.cc",
70 "network_quality_estimator_manager.h",
John Abd-El-Malek8e82a322018-01-31 20:30:4771 "network_service.cc",
72 "network_service.h",
John Abd-El-Malek22d1b1e2018-05-17 17:22:1873 "network_service_network_delegate.cc",
74 "network_service_network_delegate.h",
Clark DuVall14a7b2c2018-10-08 19:11:2875 "network_service_proxy_delegate.cc",
76 "network_service_proxy_delegate.h",
Andy Paicu200bd3b2019-05-23 13:03:2877 "origin_policy/origin_policy_constants.h",
78 "origin_policy/origin_policy_fetcher.cc",
79 "origin_policy/origin_policy_fetcher.h",
Domenic Denicola15c60c5032020-03-17 15:14:0280 "origin_policy/origin_policy_header_values.cc",
81 "origin_policy/origin_policy_header_values.h",
Andy Paicu873623c2019-05-08 07:58:1282 "origin_policy/origin_policy_manager.cc",
83 "origin_policy/origin_policy_manager.h",
Domenic Denicola15c60c5032020-03-17 15:14:0284 "origin_policy/origin_policy_parsed_header.cc",
85 "origin_policy/origin_policy_parsed_header.h",
Andy Paicu295a16c2019-07-03 10:57:5486 "origin_policy/origin_policy_parser.cc",
87 "origin_policy/origin_policy_parser.h",
Clark DuValla5e25b752018-11-27 22:08:1688 "pending_callback_chain.cc",
89 "pending_callback_chain.h",
Titouan Rigoudy05997422021-09-15 15:17:1390 "private_network_access_check.cc",
91 "private_network_access_check.h",
Matt Menke74f013a2019-11-15 17:14:2692 "proxy_auto_config_library.cc",
93 "proxy_auto_config_library.h",
John Abd-El-Malek3ea98672018-01-17 20:33:0694 "proxy_config_service_mojo.cc",
95 "proxy_config_service_mojo.h",
Matt Menke4dfa2172018-08-02 15:27:4796 "proxy_lookup_request.cc",
97 "proxy_lookup_request.h",
Matt Menked60f16ec2018-11-07 20:18:2698 "proxy_resolver_factory_mojo.cc",
99 "proxy_resolver_factory_mojo.h",
John Abd-El-Malek89c02ae2018-02-01 01:56:19100 "proxy_resolving_client_socket.cc",
101 "proxy_resolving_client_socket.h",
102 "proxy_resolving_client_socket_factory.cc",
103 "proxy_resolving_client_socket_factory.h",
Helen Licc515752018-06-14 19:47:54104 "proxy_resolving_socket_factory_mojo.cc",
105 "proxy_resolving_socket_factory_mojo.h",
106 "proxy_resolving_socket_mojo.cc",
107 "proxy_resolving_socket_mojo.h",
Matt Menked60f16ec2018-11-07 20:18:26108 "proxy_service_mojo.cc",
109 "proxy_service_mojo.h",
Eric Orth59fa7f82018-08-02 21:22:15110 "resolve_host_request.cc",
111 "resolve_host_request.h",
Tarun Bansalb6d99322019-07-16 23:44:05112 "resource_scheduler/resource_scheduler.cc",
113 "resource_scheduler/resource_scheduler.h",
114 "resource_scheduler/resource_scheduler_client.cc",
115 "resource_scheduler/resource_scheduler_client.h",
116 "resource_scheduler/resource_scheduler_params_manager.cc",
117 "resource_scheduler/resource_scheduler_params_manager.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35118 "restricted_cookie_manager.cc",
119 "restricted_cookie_manager.h",
Brandon Maslen723f9a72019-06-08 02:27:07120 "sec_header_helpers.cc",
121 "sec_header_helpers.h",
Clark DuVall385b5a52018-06-14 21:33:32122 "session_cleanup_cookie_store.cc",
123 "session_cleanup_cookie_store.h",
Helen Li17c77ccb2018-04-19 21:29:18124 "socket_data_pump.cc",
125 "socket_data_pump.h",
Helen Lid8672462018-03-15 16:10:12126 "socket_factory.cc",
127 "socket_factory.h",
Matt Menke5958d322018-05-21 21:52:57128 "ssl_config_service_mojo.cc",
129 "ssl_config_service_mojo.h",
130 "ssl_config_type_converter.cc",
131 "ssl_config_type_converter.h",
Matt Menke701f1422018-09-04 17:31:39132 "tcp_bound_socket.cc",
133 "tcp_bound_socket.h",
Helen Lid8672462018-03-15 16:10:12134 "tcp_connected_socket.cc",
135 "tcp_connected_socket.h",
136 "tcp_server_socket.cc",
137 "tcp_server_socket.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35138 "throttling/network_conditions.cc",
139 "throttling/network_conditions.h",
Tsuyoshi Horoc1ab7122018-06-19 05:48:13140 "throttling/scoped_throttling_token.cc",
141 "throttling/scoped_throttling_token.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35142 "throttling/throttling_controller.cc",
143 "throttling/throttling_controller.h",
144 "throttling/throttling_network_interceptor.cc",
145 "throttling/throttling_network_interceptor.h",
146 "throttling/throttling_network_transaction.cc",
147 "throttling/throttling_network_transaction.h",
148 "throttling/throttling_network_transaction_factory.cc",
149 "throttling/throttling_network_transaction_factory.h",
150 "throttling/throttling_upload_data_stream.cc",
151 "throttling/throttling_upload_data_stream.h",
Helen Lia6d3b2c2018-05-08 16:09:07152 "tls_client_socket.cc",
153 "tls_client_socket.h",
Maks Orlovich38ff9682018-09-05 18:25:57154 "tls_socket_factory.cc",
155 "tls_socket_factory.h",
Maks Orlovich98fa4e62018-08-13 13:35:28156 "transitional_url_loader_factory_owner.cc",
157 "transitional_url_loader_factory_owner.h",
Helen Li8dd1fbe02018-01-22 21:48:08158 "udp_socket.cc",
159 "udp_socket.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35160 "upload_progress_tracker.cc",
161 "upload_progress_tracker.h",
162 "url_loader.cc",
163 "url_loader.h",
John Abd-El-Malekdc106a822018-02-09 00:00:40164 "url_loader_factory.cc",
165 "url_loader_factory.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35166 "url_request_context_builder_mojo.cc",
John Abd-El-Malek8e82a322018-01-31 20:30:47167 "url_request_context_builder_mojo.h",
John Abd-El-Malek4556c6b02018-02-01 22:11:23168 "url_request_context_owner.cc",
169 "url_request_context_owner.h",
Kunihiko Sakamotobff911262021-09-01 07:55:43170 "web_bundle/web_bundle_chunked_buffer.cc",
171 "web_bundle/web_bundle_chunked_buffer.h",
172 "web_bundle/web_bundle_manager.cc",
173 "web_bundle/web_bundle_manager.h",
174 "web_bundle/web_bundle_memory_quota_consumer.h",
175 "web_bundle/web_bundle_url_loader_factory.cc",
176 "web_bundle/web_bundle_url_loader_factory.h",
Adam Ricee98a22322021-04-27 08:26:26177 "web_transport.cc",
178 "web_transport.h",
Randy Smithb62069432017-12-29 15:27:07179 ]
180
Sylvain Defresne1561e0d2021-10-12 08:09:55181 if (is_p2p_enabled) {
182 sources += [
183 "p2p/socket.cc",
184 "p2p/socket.h",
185 "p2p/socket_manager.cc",
186 "p2p/socket_manager.h",
187 "p2p/socket_tcp.cc",
188 "p2p/socket_tcp.h",
Sylvain Defresne1561e0d2021-10-12 08:09:55189 "p2p/socket_throttler.cc",
190 "p2p/socket_throttler.h",
191 "p2p/socket_udp.cc",
192 "p2p/socket_udp.h",
193 ]
194 }
195
Qingsi Wangc2213d5d2018-11-02 01:28:12196 if (enable_mdns) {
197 sources += [
198 "mdns_responder.cc",
199 "mdns_responder.h",
200 ]
201 }
202
Yutaka Hirano24632bb2018-03-23 08:55:12203 if (!is_ios) {
204 sources += [
205 "websocket.cc",
206 "websocket.h",
207 "websocket_factory.cc",
208 "websocket_factory.h",
Danil Somsikovaa1f6672021-08-16 12:56:51209 "websocket_interceptor.cc",
210 "websocket_interceptor.h",
Yutaka Hirano8e55d7a2018-03-26 12:28:42211 "websocket_throttler.cc",
212 "websocket_throttler.h",
Yutaka Hirano24632bb2018-03-23 08:55:12213 ]
214 }
215
Michael Ershov5b2a7062022-01-17 14:28:45216 if (is_chromeos) {
John Abd-El-Malek21bca7c2018-10-26 22:13:33217 sources += [
218 "cert_verifier_with_trust_anchors.cc",
219 "cert_verifier_with_trust_anchors.h",
Pavol Markof38cb212018-11-19 20:47:10220 "nss_temp_certs_cache_chromeos.cc",
221 "nss_temp_certs_cache_chromeos.h",
John Abd-El-Malek21bca7c2018-10-26 22:13:33222 ]
223 }
224
Michael Ershov5b2a7062022-01-17 14:28:45225 if (is_chromeos_ash) {
226 sources += [
227 "dhcp_pac_file_fetcher_mojo.cc",
228 "dhcp_pac_file_fetcher_mojo.h",
229 ]
230 }
231
Nicolas Arciniegabb728462022-01-18 21:50:51232 if (is_win) {
233 sources += [
234 "windows_system_proxy_resolver_mojo.cc",
235 "windows_system_proxy_resolver_mojo.h",
236 ]
237 }
238
Nico Weber5fd1898e2018-10-10 21:50:13239 configs += [ "//build/config/compiler:wexit_time_destructors" ]
240
Randy Smithb62069432017-12-29 15:27:07241 deps = [
242 "//base",
Michael Spang8a063342019-12-06 22:54:33243 "//build:chromecast_buildflags",
Yuta Hijikatab46affdb2020-10-24 02:24:05244 "//build:chromeos_buildflags",
Clark DuVall385b5a52018-06-14 21:33:32245 "//components/content_settings/core/common",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35246 "//components/cookie_config",
John Abd-El-Malekaec73c82018-11-17 00:07:11247 "//components/domain_reliability",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35248 "//components/network_session_configurator/browser",
249 "//components/network_session_configurator/common",
Clark DuVall1c6f0e12018-07-06 17:31:34250 "//components/os_crypt",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35251 "//components/prefs",
Kunihiko Sakamoto52568622020-11-24 03:15:12252 "//components/web_package",
Sylvain Defresne1561e0d2021-10-12 08:09:55253 "//jingle/glue:fake_ssl_socket",
Randy Smithb62069432017-12-29 15:27:07254 "//mojo/public/cpp/bindings",
Oksana Zhuravlova10e89832018-03-30 21:49:14255 "//mojo/public/cpp/system",
Randy Smithb62069432017-12-29 15:27:07256 "//net",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35257 "//net:extras",
cfredric9a5a70fc2020-09-25 23:59:21258 "//services/network/first_party_sets",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35259 "//services/network/public/cpp",
Bo Liu629e8522020-07-29 21:08:04260 "//services/network/public/cpp:crash_keys",
Matthew Dentonad5b14412020-05-05 03:40:12261 "//services/network/public/cpp/cert_verifier:mojo_cert_verifier",
Ken Rockot54311e62018-02-10 19:01:52262 "//services/network/public/mojom",
Christopher Thompsonbe9cafe2020-02-05 04:46:11263 "//services/network/public/proto",
David Van Clevefdebb6f2020-03-10 21:23:53264 "//services/network/trust_tokens",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35265 "//services/service_manager/public/cpp",
Ken Rockot543f5e32018-02-04 02:13:50266 "//services/service_manager/public/mojom",
Randy Smithb62069432017-12-29 15:27:07267 "//url",
268 ]
John Abd-El-Malek3bbbdf92018-01-30 03:27:35269
Alan Screen8715f572021-03-02 22:53:17270 if (is_linux || is_chromeos) {
271 deps += [ ":network_sandbox_hook" ]
272 }
273
Nico Weber513c02f2020-01-21 18:03:43274 public_deps = [ "//services/network/public/cpp:buildflags" ]
Matt Menke74721be2018-10-31 22:08:10275
276 if (is_ct_supported) {
277 sources += [
Carlos ILd0ba8052021-05-25 22:31:24278 "ct_log_list_distributor.cc",
279 "ct_log_list_distributor.h",
Matt Menke74721be2018-10-31 22:08:10280 "expect_ct_reporter.cc",
281 "expect_ct_reporter.h",
Chris Thompsonfc9c86f2021-03-11 02:11:53282 "sct_auditing/sct_auditing_cache.cc",
283 "sct_auditing/sct_auditing_cache.h",
Chris Thompson4b9fcaa2021-11-10 03:30:58284 "sct_auditing/sct_auditing_handler.cc",
285 "sct_auditing/sct_auditing_handler.h",
286 "sct_auditing/sct_auditing_reporter.cc",
287 "sct_auditing/sct_auditing_reporter.h",
Matt Menke74721be2018-10-31 22:08:10288 ]
Joe DeBlasioa64ab562021-01-14 05:56:22289 deps += [
290 "//components/certificate_transparency",
291 "//components/version_info",
292 ]
Matt Menke74721be2018-10-31 22:08:10293 }
294
Sylvain Defresne1561e0d2021-10-12 08:09:55295 if (is_p2p_enabled) {
296 deps += [ "//third_party/webrtc_overrides:webrtc_component" ]
297 }
298
Matt Menke0be4d072018-06-18 17:17:23299 if (is_android) {
300 deps += [
301 "//crypto",
302 "//third_party/boringssl",
303 ]
Kenichi Ishibashief84b3ae2021-08-05 00:33:02304
305 sources += [
306 "radio_monitor_android.cc",
307 "radio_monitor_android.h",
308 ]
Matt Menke0be4d072018-06-18 17:17:23309 }
310
Penny MacNeildad9bdb52018-05-17 19:53:57311 if (is_win) {
312 deps += [ "//sandbox/win:sandbox" ]
313 }
314
John Abd-El-Malek8e82a322018-01-31 20:30:47315 defines = [ "IS_NETWORK_SERVICE_IMPL" ]
Randy Smithb62069432017-12-29 15:27:07316}
317
Alan Screen8715f572021-03-02 22:53:17318if (is_linux || is_chromeos) {
319 source_set("network_sandbox_hook") {
320 sources = [
321 "network_sandbox_hook_linux.cc",
322 "network_sandbox_hook_linux.h",
323 ]
324 deps = [
325 "//base:base",
326 "//sandbox/linux:sandbox_services",
327 "//sandbox/policy:policy",
328 ]
329 }
330}
331
Randy Smithb62069432017-12-29 15:27:07332source_set("tests") {
333 testonly = true
334
335 sources = [
Matt Menkea8406df2018-03-07 21:46:58336 "chunked_data_pipe_upload_data_stream_unittest.cc",
Randy Smithb62069432017-12-29 15:27:07337 "cookie_manager_unittest.cc",
Clark DuVall385b5a52018-06-14 21:33:32338 "cookie_settings_unittest.cc",
Lukasz Anforowicz84ea8d62018-11-22 17:56:45339 "cors/cors_url_loader_factory_unittest.cc",
Takashi Toyoshima63231ede32018-02-26 08:52:53340 "cors/cors_url_loader_unittest.cc",
ainozaki3456beff2021-09-09 06:11:44341 "cors/cors_util_unittest.cc",
Takashi Toyoshima0d164052020-11-27 07:45:08342 "cors/preflight_cache_unittest.cc",
Takashi Toyoshima63231ede32018-02-26 08:52:53343 "cors/preflight_controller_unittest.cc",
Takashi Toyoshima0d164052020-11-27 07:45:08344 "cors/preflight_result_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35345 "data_pipe_element_reader_unittest.cc",
Eric Orthf1378f612018-11-05 20:30:49346 "dns_config_change_manager_unittest.cc",
Eric Orthf9cdaf52018-08-15 20:00:30347 "host_resolver_unittest.cc",
Maks Orlovich040a0dd2018-07-06 18:28:45348 "http_cache_data_counter_unittest.cc",
Jay Civelli78612bf2018-03-01 20:59:12349 "http_cache_data_remover_unittest.cc",
John Abd-El-Malek89c02ae2018-02-01 01:56:19350 "ignore_errors_cert_verifier_unittest.cc",
Yutaka Hirano92f51cda2018-02-02 01:42:01351 "keepalive_statistics_recorder_unittest.cc",
Matt Menked60f16ec2018-11-07 20:18:26352 "mojo_host_resolver_impl_unittest.cc",
Matt Mueller859c9c72020-02-13 20:27:26353 "net_log_proxy_sink_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35354 "network_change_manager_unittest.cc",
355 "network_context_unittest.cc",
Tarun Bansal5f27ab972018-11-07 01:11:30356 "network_qualities_pref_delegate_unittest.cc",
Tarun Bansalcd6a6cb2018-06-27 22:03:22357 "network_quality_estimator_manager_unittest.cc",
Clark DuVall14a7b2c2018-10-08 19:11:28358 "network_service_proxy_delegate_unittest.cc",
John Abd-El-Malekcfb3fae2018-02-05 19:29:45359 "network_service_unittest.cc",
Andy Paicu873623c2019-05-08 07:58:12360 "origin_policy/origin_policy_manager_unittest.cc",
Domenic Denicola15c60c5032020-03-17 15:14:02361 "origin_policy/origin_policy_parsed_header_unittest.cc",
Andy Paicu295a16c2019-07-03 10:57:54362 "origin_policy/origin_policy_parser_unittest.cc",
Clark DuValla5e25b752018-11-27 22:08:16363 "pending_callback_chain_unittest.cc",
Titouan Rigoudy05997422021-09-15 15:17:13364 "private_network_access_check_unittest.cc",
Matt Menke74f013a2019-11-15 17:14:26365 "proxy_auto_config_library_unittest.cc",
John Abd-El-Malek3ea98672018-01-17 20:33:06366 "proxy_config_service_mojo_unittest.cc",
John Abd-El-Malek89c02ae2018-02-01 01:56:19367 "proxy_resolving_client_socket_unittest.cc",
Helen Licc515752018-06-14 19:47:54368 "proxy_resolving_socket_mojo_unittest.cc",
Tarun Bansalb6d99322019-07-16 23:44:05369 "resource_scheduler/resource_scheduler_params_manager_unittest.cc",
370 "resource_scheduler/resource_scheduler_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35371 "restricted_cookie_manager_unittest.cc",
Brandon Maslen723f9a72019-06-08 02:27:07372 "sec_header_helpers_unittest.cc",
Clark DuVall385b5a52018-06-14 21:33:32373 "session_cleanup_cookie_store_unittest.cc",
Helen Li17c77ccb2018-04-19 21:29:18374 "socket_data_pump_unittest.cc",
Matt Menke5958d322018-05-21 21:52:57375 "ssl_config_service_mojo_unittest.cc",
Matt Menke701f1422018-09-04 17:31:39376 "tcp_bound_socket_unittest.cc",
Helen Lid8672462018-03-15 16:10:12377 "tcp_socket_unittest.cc",
John Abd-El-Malek7730c51c2018-02-09 19:22:29378 "test/test_url_loader_factory_unittest.cc",
Matt Menkea8406df2018-03-07 21:46:58379 "test_chunked_data_pipe_getter.cc",
380 "test_chunked_data_pipe_getter.h",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35381 "throttling/throttling_controller_unittest.cc",
Helen Lia6d3b2c2018-05-08 16:09:07382 "tls_client_socket_unittest.cc",
Maks Orlovich98fa4e62018-08-13 13:35:28383 "transitional_url_loader_factory_owner_unittest.cc",
Helen Li8dd1fbe02018-01-22 21:48:08384 "udp_socket_unittest.cc",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35385 "upload_progress_tracker_unittest.cc",
John Abd-El-Malek3d915b2172018-01-31 18:58:00386 "url_loader_unittest.cc",
Kunihiko Sakamotobff911262021-09-01 07:55:43387 "web_bundle/web_bundle_chunked_buffer_unittest.cc",
388 "web_bundle/web_bundle_manager_unittest.cc",
389 "web_bundle/web_bundle_url_loader_factory_unittest.cc",
Adam Ricee98a22322021-04-27 08:26:26390 "web_transport_unittest.cc",
Randy Smithb62069432017-12-29 15:27:07391 ]
392
Sylvain Defresne1561e0d2021-10-12 08:09:55393 if (is_p2p_enabled) {
394 sources += [
Sylvain Defresne1561e0d2021-10-12 08:09:55395 "p2p/socket_tcp_unittest.cc",
396 "p2p/socket_test_utils.cc",
397 "p2p/socket_test_utils.h",
398 "p2p/socket_udp_unittest.cc",
399 ]
400 }
401
Qingsi Wangc2213d5d2018-11-02 01:28:12402 if (enable_mdns) {
403 sources += [ "mdns_responder_unittest.cc" ]
404 }
405
John Abd-El-Malek3bbbdf92018-01-30 03:27:35406 if (!is_ios) {
Yutaka Hirano8e55d7a2018-03-26 12:28:42407 sources += [
408 "proxy_resolver_factory_mojo_unittest.cc",
Matt Menkef265872d2019-11-13 13:18:34409 "proxy_service_mojo_unittest.cc",
410 "test_mojo_proxy_resolver_factory.cc",
411 "test_mojo_proxy_resolver_factory.h",
412 "url_request_context_builder_mojo_unittest.cc",
Danil Somsikovaa1f6672021-08-16 12:56:51413 "websocket_interceptor_unittest.cc",
Yutaka Hirano8e55d7a2018-03-26 12:28:42414 "websocket_throttler_unittest.cc",
415 ]
Matt Menkeae4fdb12018-06-02 06:32:54416
417 data = [
418 "//net/tools/testserver/",
419 "//services/test/data",
Keita Suzuki56512592020-03-06 09:42:48420 "//third_party/pywebsocket3/src/mod_pywebsocket/",
Matt Menkeae4fdb12018-06-02 06:32:54421 ]
John Abd-El-Malek3bbbdf92018-01-30 03:27:35422 }
423
Yuta Hijikata39fff792020-12-17 00:27:59424 if (is_chromeos_ash) {
John Abd-El-Malek21bca7c2018-10-26 22:13:33425 sources += [
426 "cert_verifier_with_trust_anchors_unittest.cc",
Andreea Costinas3ee19b62019-09-23 08:29:26427 "dhcp_pac_file_fetcher_mojo_unittest.cc",
Pavol Markof38cb212018-11-19 20:47:10428 "nss_temp_certs_cache_chromeos_unittest.cc",
John Abd-El-Malek21bca7c2018-10-26 22:13:33429 ]
430 }
431
Nicolas Arciniegabb728462022-01-18 21:50:51432 if (is_win) {
433 sources += [ "windows_system_proxy_resolver_mojo_unittest.cc" ]
434 }
435
Randy Smithb62069432017-12-29 15:27:07436 deps = [
John Abd-El-Malek3bbbdf92018-01-30 03:27:35437 ":network_service",
Helen Li8dd1fbe02018-01-22 21:48:08438 ":test_support",
Randy Smithb62069432017-12-29 15:27:07439 "//base",
Yuta Hijikatab46affdb2020-10-24 02:24:05440 "//build:chromeos_buildflags",
John Abd-El-Malek3bbbdf92018-01-30 03:27:35441 "//components/network_session_configurator/browser",
Tarun Bansal5f27ab972018-11-07 01:11:30442 "//components/prefs:test_support",
Maks Orlovichc092e5322019-01-08 18:33:23443 "//components/variations:test_support",
Miras Myrzakereye1402562021-10-12 06:49:54444 "//components/web_package",
Matthew Denton49e0bfd2021-03-19 00:07:11445 "//crypto",
Sylvain Defresne1561e0d2021-10-12 08:09:55446 "//jingle/glue:fake_ssl_socket",
Randy Smithb62069432017-12-29 15:27:07447 "//mojo/public/cpp/bindings",
Oksana Zhuravlova10e89832018-03-30 21:49:14448 "//mojo/public/cpp/system",
Ben Kelly2d916562021-10-29 21:19:29449 "//mojo/public/cpp/test_support:test_utils",
Randy Smithb62069432017-12-29 15:27:07450 "//net",
Clark DuVall385b5a52018-06-14 21:33:32451 "//net:extras",
Yutaka Hirano5ccbb9f2019-12-24 08:02:51452 "//net:quic_test_tools",
453 "//net:simple_quic_tools",
Randy Smithb62069432017-12-29 15:27:07454 "//net:test_support",
Matt Mueller230996f12018-10-22 19:39:44455 "//net/http:transport_security_state_unittest_data_default",
cfredric9a5a70fc2020-09-25 23:59:21456 "//services/network/first_party_sets",
457 "//services/network/first_party_sets:tests",
Lei Zhang23267b82018-01-30 23:39:43458 "//services/network/public/cpp",
Matt Menke74721be2018-10-31 22:08:10459 "//services/network/public/cpp:buildflags",
Ken Rockot54311e62018-02-10 19:01:52460 "//services/network/public/mojom",
Chris Thompson13929f22020-09-10 22:21:21461 "//services/network/public/proto",
David Van Clevefdebb6f2020-03-10 21:23:53462 "//services/network/trust_tokens",
David Van Cleve519955602020-03-13 16:23:32463 "//services/network/trust_tokens:tests",
John Abd-El-Malekba4ede22018-01-31 02:42:42464 "//services/service_manager/public/cpp",
Ken Rockotdfa77fa2018-11-29 06:31:19465 "//services/service_manager/public/cpp/test:test_support",
Alexander Timina2232da42020-05-04 13:22:44466 "//testing/gmock",
Randy Smithb62069432017-12-29 15:27:07467 "//testing/gtest",
468 ]
Matt Menke74721be2018-10-31 22:08:10469
470 if (is_ct_supported) {
Chris Thompsonf31b2492020-07-21 05:47:42471 sources += [
Carlos ILd0ba8052021-05-25 22:31:24472 "ct_log_list_distributor_unittest.cc",
Chris Thompsonf31b2492020-07-21 05:47:42473 "expect_ct_reporter_unittest.cc",
Chris Thompsonfc9c86f2021-03-11 02:11:53474 "sct_auditing/sct_auditing_cache_unittest.cc",
Chris Thompsona160fa302022-01-07 18:39:56475 "sct_auditing/sct_auditing_handler_unittest.cc",
Chris Thompsonf31b2492020-07-21 05:47:42476 ]
Matt Menke74721be2018-10-31 22:08:10477 deps += [ "//components/certificate_transparency" ]
478 }
Matt Mueller467fa2922019-08-24 03:26:19479
Matt Menkef265872d2019-11-13 13:18:34480 if (!is_ios) {
David Van Clevefdebb6f2020-03-10 21:23:53481 deps += [ "//services/proxy_resolver:lib" ]
482 }
Randy Smithb62069432017-12-29 15:27:07483}
Matt Falkenhagen3662ebc2018-01-18 10:35:53484
Dirk Pranke9c0fc3b2020-08-06 16:01:30485source_set("test_support") {
Matt Falkenhagen3662ebc2018-01-18 10:35:53486 testonly = true
487
488 sources = [
Helen Lia6d3b2c2018-05-08 16:09:07489 "mojo_socket_test_util.cc",
490 "mojo_socket_test_util.h",
Yifan Luoe854f942022-01-18 18:11:28491 "test/client_security_state_builder.cc",
492 "test/client_security_state_builder.h",
Matthew Denton03c45a22020-06-01 23:40:48493 "test/fake_test_cert_verifier_params_factory.cc",
494 "test/fake_test_cert_verifier_params_factory.h",
Sigurd Schneider1efea682021-03-25 11:32:09495 "test/mock_devtools_observer.cc",
496 "test/mock_devtools_observer.h",
Antonio Gomese4d504062019-02-07 23:14:33497 "test/test_cookie_manager.cc",
498 "test/test_cookie_manager.h",
Matt Falkenhagen3662ebc2018-01-18 10:35:53499 "test/test_data_pipe_getter.cc",
John Abd-El-Malekd0cd7c5c2018-01-30 07:20:02500 "test/test_data_pipe_getter.h",
Matt Menke41ff5fe2020-01-09 14:54:53501 "test/test_dns_util.cc",
502 "test/test_dns_util.h",
Robbie McElrathb797c412018-08-06 22:18:15503 "test/test_network_connection_tracker.cc",
504 "test/test_network_connection_tracker.h",
Eric Orth83ba87a2018-04-27 23:52:38505 "test/test_network_context.h",
John Abd-El-Malekc9a9f7f72019-08-30 21:56:15506 "test/test_network_context_client.cc",
Maks Orlovich0eeaa862019-05-31 16:20:34507 "test/test_network_context_client.h",
Tarun Bansal8649d8eef2018-08-14 22:51:42508 "test/test_network_quality_tracker.cc",
509 "test/test_network_quality_tracker.h",
David Van Clevebccaa89e32020-01-22 20:30:01510 "test/test_resource_scheduler.h",
John Abd-El-Malek0a52618c2018-06-19 18:06:04511 "test/test_shared_url_loader_factory.cc",
512 "test/test_shared_url_loader_factory.h",
John Abd-El-Malekd0cd7c5c2018-01-30 07:20:02513 "test/test_url_loader_client.cc",
514 "test/test_url_loader_client.h",
John Abd-El-Malek7730c51c2018-02-09 19:22:29515 "test/test_url_loader_factory.cc",
516 "test/test_url_loader_factory.h",
Dave Tapuska03d6f502021-03-05 23:06:28517 "test/test_url_loader_network_observer.cc",
518 "test/test_url_loader_network_observer.h",
John Abd-El-Malek2c58b142018-06-28 14:40:30519 "test/test_utils.cc",
520 "test/test_utils.h",
Eric Roman7ae5d5732020-08-19 00:07:24521 "test/udp_socket_test_util.cc",
522 "test/udp_socket_test_util.h",
Matt Falkenhagen3662ebc2018-01-18 10:35:53523 ]
524
Yuta Hijikata39fff792020-12-17 00:27:59525 if (is_chromeos_ash) {
Andreea Costinas3ee19b62019-09-23 08:29:26526 sources += [
527 "mock_mojo_dhcp_wpad_url_client.cc",
528 "mock_mojo_dhcp_wpad_url_client.h",
529 ]
530 }
531
Helen Li8bdbe682018-06-14 00:51:21532 public_deps = [
533 "//services/network/public/cpp",
Matt Menke74721be2018-10-31 22:08:10534 "//services/network/public/cpp:buildflags",
Helen Li8bdbe682018-06-14 00:51:21535 "//services/network/public/mojom",
David Van Cleve6dfab3c72020-04-01 02:55:55536 "//services/network/trust_tokens:test_support",
Helen Li8bdbe682018-06-14 00:51:21537 ]
538
Matt Falkenhagen3662ebc2018-01-18 10:35:53539 deps = [
540 "//base",
Yuta Hijikatab46affdb2020-10-24 02:24:05541 "//build:chromeos_buildflags",
Matt Falkenhagen3662ebc2018-01-18 10:35:53542 "//mojo/public/cpp/bindings",
Helen Li8dd1fbe02018-01-22 21:48:08543 "//net",
Helen Lie7efd152018-01-29 19:04:26544 "//net:test_support",
Matt Falkenhagen3662ebc2018-01-18 10:35:53545 "//services/network:network_service",
Matt Falkenhagen3662ebc2018-01-18 10:35:53546 "//testing/gtest",
547 ]
548}
Lucas Furukawa Gadanib189b392019-08-23 17:21:26549
550fuzzer_test("network_content_security_policy_fuzzer") {
Nico Weber513c02f2020-01-21 18:03:43551 sources = [ "content_security_policy_fuzzer.cc" ]
Lucas Furukawa Gadanib189b392019-08-23 17:21:26552 deps = [
553 "//base",
554 "//net",
555 "//services/network:network_service",
Lucas Furukawa Gadanib0565082019-09-13 20:12:40556 "//services/network/public/cpp",
Lucas Furukawa Gadanib189b392019-08-23 17:21:26557 "//services/network/public/mojom",
558 ]
559 dict = "//testing/libfuzzer/fuzzers/dicts/content_security_policy.dict"
560 seed_corpus = "//testing/libfuzzer/fuzzers/content_security_policy_corpus"
561}
Domenic Denicola76edf812020-03-18 14:52:26562
563fuzzer_test("origin_policy_parser_fuzzer") {
564 sources = [ "origin_policy/origin_policy_parser_fuzzer.cc" ]
565 deps = [
566 "//base",
567 "//net",
568 "//services/network:network_service",
569 "//services/network/public/cpp",
570 "//services/network/public/mojom",
571 ]
572 dict = "origin_policy/origin_policy_parser_fuzzer.dict"
573 seed_corpus = "origin_policy/origin_policy_parser_fuzzer_corpus"
574}