1# Copyright 2013 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//build/buildflag_header.gni") 6import("//build/config/cast.gni") 7import("//build/config/chromeos/ui_mode.gni") 8import("//build/config/compiler/compiler.gni") 9import("//build/config/cronet/config.gni") 10import("//build/config/features.gni") 11import("//crypto/features.gni") 12import("//net/features.gni") 13import("//testing/libfuzzer/fuzzer_test.gni") 14import("//testing/test.gni") 15import("//third_party/icu/config.gni") 16import("//third_party/protobuf/proto_library.gni") 17import("//tools/grit/grit_rule.gni") 18import("//url/features.gni") 19 20if (is_android) { 21 import("//build/config/android/config.gni") 22 import("//build/config/android/rules.gni") 23 import("//third_party/jni_zero/jni_zero.gni") 24} else if (is_mac) { 25 import("//build/config/mac/mac_sdk.gni") 26} else if (is_ios) { 27 import("//build/config/ios/bundle_data_from_filelist.gni") 28} 29 30# Android: 31# The way the cache uses mmap() is inefficient on some Android devices. If 32# this flag is set, we hackily avoid using mmap() in the disk cache. We are 33# pretty confident that mmap-ing the index would not hurt any existing x86 34# android devices, but we cannot be so sure about the variety of ARM devices. 35# So enable it for x86 only for now. 36# Fuchsia: 37# Writable mmap isn't supported on Fuchsia, so it should be bypassed. 38posix_bypass_mmap = (is_android && current_cpu != "x86") || is_fuchsia 39 40enable_built_in_dns = use_blink 41 42# TODO(droger): Support client auth on iOS. See http://crbug.com/145954). 43# 44# Historically this was disabled because client auth required 45# platform-specific code deep in //net. Nowadays, this is abstracted away and 46# we could enable the interfaces on iOS for platform-independence. However, 47# merely enabling them changes our behavior from automatically proceeding 48# with no client certificate to raising 49# `URLRequest::Delegate::OnCertificateRequested`. Callers would need to be 50# updated to apply that behavior manually. 51# 52# If fixing this, re-enable the tests in ssl_client_socket_unittest.cc and 53# ssl_server_socket_unittest.cc which are disabled on iOS. 54enable_client_certificates = !is_ios || (use_blink && !is_cronet_build) 55 56# Unix sockets are not supported on iOS. 57enable_unix_sockets = is_posix && !is_ios 58 59# x86/x64 cast_shell builds run on regular trybots and can use python runtime 60# and remote test server. ARM cast_shell builds don't have python runtime. 61is_arm_cast_shell_build = (is_castos || is_cast_android) && 62 (current_cpu == "arm" || current_cpu == "arm64") 63 64# Python works only on Linux, MacOS and Windows so exclude the others, 65# chromecast, android, fuchsia, ios. 66enable_python_utils = 67 !is_arm_cast_shell_build && !is_android && !is_fuchsia && !is_ios 68 69# Platforms that cannot use python_utils (like Android but see full 70# list above) will instead use a remote server. 71use_remote_test_server = 72 !enable_python_utils && (enable_websockets || (is_cronet_build && !is_ios)) 73 74# Whether //net should use an external GSSAPI library for implementing HTTP 75# Negotiate authentication. All platforms for which use_kerberos is true should 76# have some external implementation since //net doesn't have intrinsic support 77# for Kerberos. This implementation is an external GSSAPI library on all 78# platforms except on: 79# 80# Windows : Uses SSPI for Negotiate authentication. 81# 82# Android : Uses an external authenticator. See 83# https://www.chromium.org/developers/design-documents/http-authentication/writing-a-spnego-authenticator-for-chrome-on-android 84use_external_gssapi = use_kerberos && !is_android && !is_win 85 86config("net_test_config") { 87 if (use_remote_test_server) { 88 defines = [ "USE_REMOTE_TEST_SERVER" ] 89 } 90} 91 92buildflag_header("buildflags") { 93 header = "net_buildflags.h" 94 flags = [ 95 "POSIX_BYPASS_MMAP=$posix_bypass_mmap", 96 "DISABLE_FILE_SUPPORT=$disable_file_support", 97 "ENABLE_MDNS=$enable_mdns", 98 "ENABLE_REPORTING=$enable_reporting", 99 "ENABLE_WEBSOCKETS=$enable_websockets", 100 "ENABLE_CLIENT_CERTIFICATES=$enable_client_certificates", 101 "INCLUDE_TRANSPORT_SECURITY_STATE_PRELOAD_LIST=$include_transport_security_state_preload_list", 102 "USE_KERBEROS=$use_kerberos", 103 "USE_EXTERNAL_GSSAPI=$use_external_gssapi", 104 "CHROME_ROOT_STORE_OPTIONAL=$chrome_root_store_optional", 105 "CHROME_ROOT_STORE_ONLY=$chrome_root_store_only", 106 "CHROME_ROOT_STORE_SUPPORTED=$chrome_root_store_supported", 107 ] 108} 109 110config("net_internal_config") { 111 defines = [ "NET_IMPLEMENTATION" ] 112 113 if (enable_built_in_dns) { 114 defines += [ "ENABLE_BUILT_IN_DNS" ] 115 } 116} 117 118net_configs = [ 119 ":net_internal_config", 120 "//build/config:precompiled_headers", 121 122 "//build/config/compiler:wexit_time_destructors", 123] 124 125if (is_linux || is_chromeos) { 126 net_configs += [ "//build/config/linux:libresolv" ] 127} 128 129source_set("constants") { 130 sources = [ "base/trace_constants.h" ] 131 deps = [ "//base" ] 132} 133 134buildflag_header("cronet_buildflags") { 135 header = "cronet_buildflags.h" 136 header_dir = "net/base" 137 flags = [ "CRONET_BUILD=$is_cronet_build" ] 138} 139 140component("net") { 141 sources = [ 142 "base/address_family.cc", 143 "base/address_family.h", 144 "base/address_list.cc", 145 "base/address_list.h", 146 "base/auth.cc", 147 "base/auth.h", 148 "base/backoff_entry.cc", 149 "base/backoff_entry.h", 150 "base/backoff_entry_serializer.cc", 151 "base/backoff_entry_serializer.h", 152 "base/cache_metrics.cc", 153 "base/cache_metrics.h", 154 "base/cache_type.h", 155 "base/chunked_upload_data_stream.cc", 156 "base/chunked_upload_data_stream.h", 157 "base/completion_once_callback.h", 158 "base/completion_repeating_callback.h", 159 "base/connection_endpoint_metadata.cc", 160 "base/connection_endpoint_metadata.h", 161 "base/data_url.cc", 162 "base/data_url.h", 163 "base/datagram_buffer.cc", 164 "base/datagram_buffer.h", 165 "base/elements_upload_data_stream.cc", 166 "base/elements_upload_data_stream.h", 167 "base/expiring_cache.h", 168 "base/features.cc", 169 "base/features.h", 170 "base/file_stream.cc", 171 "base/file_stream.h", 172 "base/file_stream_context.cc", 173 "base/file_stream_context.h", 174 "base/filename_util.cc", 175 "base/filename_util.h", 176 "base/filename_util_internal.cc", 177 "base/filename_util_internal.h", 178 "base/hash_value.cc", 179 "base/hash_value.h", 180 "base/hex_utils.cc", 181 "base/hex_utils.h", 182 "base/host_mapping_rules.cc", 183 "base/host_mapping_rules.h", 184 "base/host_port_pair.cc", 185 "base/host_port_pair.h", 186 "base/http_user_agent_settings.h", 187 "base/idempotency.h", 188 "base/interval.h", 189 "base/io_buffer.cc", 190 "base/io_buffer.h", 191 "base/ip_address.cc", 192 "base/ip_address.h", 193 "base/ip_endpoint.cc", 194 "base/ip_endpoint.h", 195 "base/isolation_info.cc", 196 "base/isolation_info.h", 197 "base/load_flags.h", 198 "base/load_flags_list.h", 199 "base/load_states.h", 200 "base/load_states_list.h", 201 "base/load_timing_info.cc", 202 "base/load_timing_info.h", 203 "base/logging_network_change_observer.cc", 204 "base/logging_network_change_observer.h", 205 "base/lookup_string_in_fixed_set.cc", 206 "base/lookup_string_in_fixed_set.h", 207 "base/mime_sniffer.cc", 208 "base/mime_sniffer.h", 209 "base/mime_util.cc", 210 "base/mime_util.h", 211 "base/net_error_details.h", 212 "base/net_error_list.h", 213 "base/net_errors.cc", 214 "base/net_errors.h", 215 "base/net_info_source_list.h", 216 "base/net_module.cc", 217 "base/net_module.h", 218 "base/net_string_util.h", 219 "base/network_activity_monitor.cc", 220 "base/network_activity_monitor.h", 221 "base/network_anonymization_key.cc", 222 "base/network_anonymization_key.h", 223 "base/network_change_notifier.cc", 224 "base/network_change_notifier.h", 225 "base/network_change_notifier_factory.h", 226 "base/network_delegate.cc", 227 "base/network_delegate.h", 228 "base/network_delegate_impl.cc", 229 "base/network_delegate_impl.h", 230 "base/network_handle.h", 231 "base/network_interfaces.cc", 232 "base/network_interfaces.h", 233 "base/network_isolation_key.cc", 234 "base/network_isolation_key.h", 235 "base/parse_number.cc", 236 "base/parse_number.h", 237 "base/platform_mime_util.h", 238 "base/port_util.cc", 239 "base/port_util.h", 240 "base/prioritized_dispatcher.cc", 241 "base/prioritized_dispatcher.h", 242 "base/prioritized_task_runner.cc", 243 "base/prioritized_task_runner.h", 244 "base/priority_queue.h", 245 "base/privacy_mode.cc", 246 "base/privacy_mode.h", 247 "base/proxy_chain.cc", 248 "base/proxy_chain.h", 249 "base/proxy_delegate.h", 250 "base/proxy_server.cc", 251 "base/proxy_server.h", 252 "base/proxy_string_util.cc", 253 "base/proxy_string_util.h", 254 "base/rand_callback.h", 255 "base/registry_controlled_domains/registry_controlled_domain.cc", 256 "base/registry_controlled_domains/registry_controlled_domain.h", 257 "base/request_priority.cc", 258 "base/request_priority.h", 259 "base/scheme_host_port_matcher.cc", 260 "base/scheme_host_port_matcher.h", 261 "base/scheme_host_port_matcher_result.h", 262 "base/scheme_host_port_matcher_rule.cc", 263 "base/scheme_host_port_matcher_rule.h", 264 "base/schemeful_site.cc", 265 "base/schemeful_site.h", 266 "base/sockaddr_storage.cc", 267 "base/sockaddr_storage.h", 268 "base/sys_addrinfo.h", 269 "base/trace_event_stub.h", 270 "base/tracing.h", 271 "base/transport_info.cc", 272 "base/transport_info.h", 273 "base/upload_bytes_element_reader.cc", 274 "base/upload_bytes_element_reader.h", 275 "base/upload_data_stream.cc", 276 "base/upload_data_stream.h", 277 "base/upload_element_reader.cc", 278 "base/upload_element_reader.h", 279 "base/upload_file_element_reader.cc", 280 "base/upload_file_element_reader.h", 281 "base/upload_progress.h", 282 "base/url_search_params.cc", 283 "base/url_search_params.h", 284 "base/url_util.cc", 285 "base/url_util.h", 286 "cert/asn1_util.cc", 287 "cert/asn1_util.h", 288 "cert/caching_cert_verifier.cc", 289 "cert/caching_cert_verifier.h", 290 "cert/cert_and_ct_verifier.cc", 291 "cert/cert_and_ct_verifier.h", 292 "cert/cert_database.cc", 293 "cert/cert_database.h", 294 "cert/cert_net_fetcher.h", 295 "cert/cert_status_flags.cc", 296 "cert/cert_status_flags.h", 297 "cert/cert_status_flags_list.h", 298 "cert/cert_verifier.cc", 299 "cert/cert_verifier.h", 300 "cert/cert_verify_proc.cc", 301 "cert/cert_verify_proc.h", 302 "cert/cert_verify_proc_blocklist.inc", 303 "cert/cert_verify_proc_builtin.cc", 304 "cert/cert_verify_proc_builtin.h", 305 "cert/cert_verify_result.cc", 306 "cert/cert_verify_result.h", 307 "cert/client_cert_verifier.h", 308 "cert/coalescing_cert_verifier.cc", 309 "cert/coalescing_cert_verifier.h", 310 "cert/crl_set.cc", 311 "cert/crl_set.h", 312 "cert/ct_log_response_parser.cc", 313 "cert/ct_log_response_parser.h", 314 "cert/ct_log_verifier.cc", 315 "cert/ct_log_verifier.h", 316 "cert/ct_log_verifier_util.cc", 317 "cert/ct_log_verifier_util.h", 318 "cert/ct_objects_extractor.cc", 319 "cert/ct_objects_extractor.h", 320 "cert/ct_policy_enforcer.cc", 321 "cert/ct_policy_enforcer.h", 322 "cert/ct_policy_status.h", 323 "cert/ct_sct_to_string.cc", 324 "cert/ct_sct_to_string.h", 325 "cert/ct_serialization.cc", 326 "cert/ct_serialization.h", 327 "cert/ct_signed_certificate_timestamp_log_param.cc", 328 "cert/ct_signed_certificate_timestamp_log_param.h", 329 "cert/ct_verifier.h", 330 "cert/do_nothing_ct_verifier.cc", 331 "cert/do_nothing_ct_verifier.h", 332 "cert/ev_root_ca_metadata.cc", 333 "cert/ev_root_ca_metadata.h", 334 "cert/internal/cert_issuer_source_aia.cc", 335 "cert/internal/cert_issuer_source_aia.h", 336 "cert/internal/revocation_checker.cc", 337 "cert/internal/revocation_checker.h", 338 "cert/internal/system_trust_store.cc", 339 "cert/internal/system_trust_store.h", 340 "cert/internal/trust_store_features.cc", 341 "cert/internal/trust_store_features.h", 342 "cert/known_roots.cc", 343 "cert/known_roots.h", 344 "cert/merkle_audit_proof.cc", 345 "cert/merkle_audit_proof.h", 346 "cert/merkle_consistency_proof.cc", 347 "cert/merkle_consistency_proof.h", 348 "cert/merkle_tree_leaf.cc", 349 "cert/merkle_tree_leaf.h", 350 "cert/multi_log_ct_verifier.cc", 351 "cert/multi_log_ct_verifier.h", 352 "cert/multi_threaded_cert_verifier.cc", 353 "cert/multi_threaded_cert_verifier.h", 354 "cert/root_cert_list_generated.h", 355 "cert/sct_auditing_delegate.h", 356 "cert/sct_status_flags.cc", 357 "cert/sct_status_flags.h", 358 "cert/signed_certificate_timestamp.cc", 359 "cert/signed_certificate_timestamp.h", 360 "cert/signed_certificate_timestamp_and_status.cc", 361 "cert/signed_certificate_timestamp_and_status.h", 362 "cert/signed_tree_head.cc", 363 "cert/signed_tree_head.h", 364 "cert/symantec_certs.cc", 365 "cert/symantec_certs.h", 366 "cert/test_root_certs.cc", 367 "cert/test_root_certs.h", 368 "cert/time_conversions.cc", 369 "cert/time_conversions.h", 370 "cert/x509_cert_types.cc", 371 "cert/x509_cert_types.h", 372 "cert/x509_certificate.cc", 373 "cert/x509_certificate.h", 374 "cert/x509_certificate_net_log_param.cc", 375 "cert/x509_certificate_net_log_param.h", 376 "cert/x509_util.cc", 377 "cert/x509_util.h", 378 "cert_net/cert_net_fetcher_url_request.cc", 379 "cert_net/cert_net_fetcher_url_request.h", 380 "cookies/canonical_cookie.cc", 381 "cookies/canonical_cookie.h", 382 "cookies/cookie_access_delegate.cc", 383 "cookies/cookie_access_delegate.h", 384 "cookies/cookie_access_result.cc", 385 "cookies/cookie_access_result.h", 386 "cookies/cookie_change_dispatcher.cc", 387 "cookies/cookie_change_dispatcher.h", 388 "cookies/cookie_constants.cc", 389 "cookies/cookie_constants.h", 390 "cookies/cookie_deletion_info.cc", 391 "cookies/cookie_deletion_info.h", 392 "cookies/cookie_inclusion_status.cc", 393 "cookies/cookie_inclusion_status.h", 394 "cookies/cookie_monster.cc", 395 "cookies/cookie_monster.h", 396 "cookies/cookie_monster_change_dispatcher.cc", 397 "cookies/cookie_monster_change_dispatcher.h", 398 "cookies/cookie_monster_netlog_params.cc", 399 "cookies/cookie_monster_netlog_params.h", 400 "cookies/cookie_options.cc", 401 "cookies/cookie_options.h", 402 "cookies/cookie_partition_key.cc", 403 "cookies/cookie_partition_key.h", 404 "cookies/cookie_partition_key_collection.cc", 405 "cookies/cookie_partition_key_collection.h", 406 "cookies/cookie_setting_override.h", 407 "cookies/cookie_store.cc", 408 "cookies/cookie_store.h", 409 "cookies/cookie_util.cc", 410 "cookies/cookie_util.h", 411 "cookies/parsed_cookie.cc", 412 "cookies/parsed_cookie.h", 413 "cookies/site_for_cookies.cc", 414 "cookies/site_for_cookies.h", 415 "cookies/static_cookie_policy.cc", 416 "cookies/static_cookie_policy.h", 417 "disk_cache/backend_cleanup_tracker.cc", 418 "disk_cache/backend_cleanup_tracker.h", 419 "disk_cache/blockfile/addr.cc", 420 "disk_cache/blockfile/addr.h", 421 "disk_cache/blockfile/backend_impl.cc", 422 "disk_cache/blockfile/backend_impl.h", 423 "disk_cache/blockfile/bitmap.cc", 424 "disk_cache/blockfile/bitmap.h", 425 "disk_cache/blockfile/block_files.cc", 426 "disk_cache/blockfile/block_files.h", 427 "disk_cache/blockfile/disk_format.cc", 428 "disk_cache/blockfile/disk_format.h", 429 "disk_cache/blockfile/disk_format_base.h", 430 "disk_cache/blockfile/entry_impl.cc", 431 "disk_cache/blockfile/entry_impl.h", 432 "disk_cache/blockfile/errors.h", 433 "disk_cache/blockfile/eviction.cc", 434 "disk_cache/blockfile/eviction.h", 435 "disk_cache/blockfile/experiments.h", 436 "disk_cache/blockfile/file.cc", 437 "disk_cache/blockfile/file.h", 438 "disk_cache/blockfile/file_block.h", 439 "disk_cache/blockfile/file_lock.cc", 440 "disk_cache/blockfile/file_lock.h", 441 "disk_cache/blockfile/in_flight_backend_io.cc", 442 "disk_cache/blockfile/in_flight_backend_io.h", 443 "disk_cache/blockfile/in_flight_io.cc", 444 "disk_cache/blockfile/in_flight_io.h", 445 "disk_cache/blockfile/mapped_file.cc", 446 "disk_cache/blockfile/mapped_file.h", 447 "disk_cache/blockfile/rankings.cc", 448 "disk_cache/blockfile/rankings.h", 449 "disk_cache/blockfile/sparse_control.cc", 450 "disk_cache/blockfile/sparse_control.h", 451 "disk_cache/blockfile/stats.cc", 452 "disk_cache/blockfile/stats.h", 453 "disk_cache/blockfile/storage_block-inl.h", 454 "disk_cache/blockfile/storage_block.h", 455 "disk_cache/blockfile/stress_support.h", 456 "disk_cache/cache_util.cc", 457 "disk_cache/cache_util.h", 458 "disk_cache/disk_cache.cc", 459 "disk_cache/disk_cache.h", 460 "disk_cache/memory/mem_backend_impl.cc", 461 "disk_cache/memory/mem_backend_impl.h", 462 "disk_cache/memory/mem_entry_impl.cc", 463 "disk_cache/memory/mem_entry_impl.h", 464 "disk_cache/net_log_parameters.cc", 465 "disk_cache/net_log_parameters.h", 466 "disk_cache/simple/post_operation_waiter.cc", 467 "disk_cache/simple/post_operation_waiter.h", 468 "disk_cache/simple/simple_backend_impl.cc", 469 "disk_cache/simple/simple_backend_impl.h", 470 "disk_cache/simple/simple_backend_version.h", 471 "disk_cache/simple/simple_entry_format.cc", 472 "disk_cache/simple/simple_entry_format.h", 473 "disk_cache/simple/simple_entry_format_history.h", 474 "disk_cache/simple/simple_entry_impl.cc", 475 "disk_cache/simple/simple_entry_impl.h", 476 "disk_cache/simple/simple_entry_operation.cc", 477 "disk_cache/simple/simple_entry_operation.h", 478 "disk_cache/simple/simple_file_enumerator.cc", 479 "disk_cache/simple/simple_file_enumerator.h", 480 "disk_cache/simple/simple_file_tracker.cc", 481 "disk_cache/simple/simple_file_tracker.h", 482 "disk_cache/simple/simple_histogram_macros.h", 483 "disk_cache/simple/simple_index.cc", 484 "disk_cache/simple/simple_index.h", 485 "disk_cache/simple/simple_index_delegate.h", 486 "disk_cache/simple/simple_index_file.cc", 487 "disk_cache/simple/simple_index_file.h", 488 "disk_cache/simple/simple_net_log_parameters.cc", 489 "disk_cache/simple/simple_net_log_parameters.h", 490 "disk_cache/simple/simple_synchronous_entry.cc", 491 "disk_cache/simple/simple_synchronous_entry.h", 492 "disk_cache/simple/simple_util.cc", 493 "disk_cache/simple/simple_util.h", 494 "disk_cache/simple/simple_version_upgrade.cc", 495 "disk_cache/simple/simple_version_upgrade.h", 496 "filter/filter_source_stream.cc", 497 "filter/filter_source_stream.h", 498 "filter/gzip_header.cc", 499 "filter/gzip_header.h", 500 "filter/gzip_source_stream.cc", 501 "filter/gzip_source_stream.h", 502 "filter/source_stream.cc", 503 "filter/source_stream.h", 504 "first_party_sets/addition_overlaps_union_find.cc", 505 "first_party_sets/addition_overlaps_union_find.h", 506 "first_party_sets/first_party_set_entry.cc", 507 "first_party_sets/first_party_set_entry.h", 508 "first_party_sets/first_party_set_entry_override.cc", 509 "first_party_sets/first_party_set_entry_override.h", 510 "first_party_sets/first_party_set_metadata.cc", 511 "first_party_sets/first_party_set_metadata.h", 512 "first_party_sets/first_party_sets_cache_filter.cc", 513 "first_party_sets/first_party_sets_cache_filter.h", 514 "first_party_sets/first_party_sets_context_config.cc", 515 "first_party_sets/first_party_sets_context_config.h", 516 "first_party_sets/global_first_party_sets.cc", 517 "first_party_sets/global_first_party_sets.h", 518 "first_party_sets/local_set_declaration.cc", 519 "first_party_sets/local_set_declaration.h", 520 "first_party_sets/sets_mutation.cc", 521 "first_party_sets/sets_mutation.h", 522 "http/alternative_service.cc", 523 "http/alternative_service.h", 524 "http/bidirectional_stream.cc", 525 "http/bidirectional_stream.h", 526 "http/bidirectional_stream_impl.cc", 527 "http/bidirectional_stream_impl.h", 528 "http/bidirectional_stream_request_info.cc", 529 "http/bidirectional_stream_request_info.h", 530 "http/broken_alternative_services.cc", 531 "http/broken_alternative_services.h", 532 "http/http_auth.cc", 533 "http/http_auth.h", 534 "http/http_auth_cache.cc", 535 "http/http_auth_cache.h", 536 "http/http_auth_challenge_tokenizer.cc", 537 "http/http_auth_challenge_tokenizer.h", 538 "http/http_auth_controller.cc", 539 "http/http_auth_controller.h", 540 "http/http_auth_filter.cc", 541 "http/http_auth_filter.h", 542 "http/http_auth_handler.cc", 543 "http/http_auth_handler.h", 544 "http/http_auth_handler_basic.cc", 545 "http/http_auth_handler_basic.h", 546 "http/http_auth_handler_digest.cc", 547 "http/http_auth_handler_digest.h", 548 "http/http_auth_handler_factory.cc", 549 "http/http_auth_handler_factory.h", 550 "http/http_auth_handler_ntlm.cc", 551 "http/http_auth_handler_ntlm.h", 552 "http/http_auth_mechanism.h", 553 "http/http_auth_multi_round_parse.cc", 554 "http/http_auth_multi_round_parse.h", 555 "http/http_auth_preferences.cc", 556 "http/http_auth_preferences.h", 557 "http/http_auth_scheme.cc", 558 "http/http_auth_scheme.h", 559 "http/http_basic_state.cc", 560 "http/http_basic_state.h", 561 "http/http_basic_stream.cc", 562 "http/http_basic_stream.h", 563 "http/http_byte_range.cc", 564 "http/http_byte_range.h", 565 "http/http_cache.cc", 566 "http/http_cache.h", 567 "http/http_cache_transaction.cc", 568 "http/http_cache_transaction.h", 569 "http/http_cache_writers.cc", 570 "http/http_cache_writers.h", 571 "http/http_chunked_decoder.cc", 572 "http/http_chunked_decoder.h", 573 "http/http_connection_info.cc", 574 "http/http_connection_info.h", 575 "http/http_content_disposition.cc", 576 "http/http_content_disposition.h", 577 "http/http_log_util.cc", 578 "http/http_log_util.h", 579 "http/http_network_layer.cc", 580 "http/http_network_layer.h", 581 "http/http_network_session.cc", 582 "http/http_network_session.h", 583 "http/http_network_session_peer.cc", 584 "http/http_network_session_peer.h", 585 "http/http_network_transaction.cc", 586 "http/http_network_transaction.h", 587 "http/http_no_vary_search_data.cc", 588 "http/http_no_vary_search_data.h", 589 "http/http_proxy_client_socket.cc", 590 "http/http_proxy_client_socket.h", 591 "http/http_proxy_connect_job.cc", 592 "http/http_proxy_connect_job.h", 593 "http/http_raw_request_headers.cc", 594 "http/http_raw_request_headers.h", 595 "http/http_request_headers.cc", 596 "http/http_request_headers.h", 597 "http/http_request_info.cc", 598 "http/http_request_info.h", 599 "http/http_response_body_drainer.cc", 600 "http/http_response_body_drainer.h", 601 "http/http_response_headers.cc", 602 "http/http_response_headers.h", 603 "http/http_response_info.cc", 604 "http/http_response_info.h", 605 "http/http_security_headers.cc", 606 "http/http_security_headers.h", 607 "http/http_server_properties.cc", 608 "http/http_server_properties.h", 609 "http/http_server_properties_manager.cc", 610 "http/http_server_properties_manager.h", 611 "http/http_status_code.cc", 612 "http/http_status_code.h", 613 "http/http_status_code_list.h", 614 "http/http_stream.cc", 615 "http/http_stream.h", 616 "http/http_stream_factory.cc", 617 "http/http_stream_factory.h", 618 "http/http_stream_factory_job.cc", 619 "http/http_stream_factory_job.h", 620 "http/http_stream_factory_job_controller.cc", 621 "http/http_stream_factory_job_controller.h", 622 "http/http_stream_parser.cc", 623 "http/http_stream_parser.h", 624 "http/http_stream_request.cc", 625 "http/http_stream_request.h", 626 "http/http_transaction.h", 627 "http/http_transaction_factory.h", 628 "http/http_util.cc", 629 "http/http_util.h", 630 "http/http_vary_data.cc", 631 "http/http_vary_data.h", 632 "http/http_version.h", 633 "http/partial_data.cc", 634 "http/partial_data.h", 635 "http/proxy_client_socket.cc", 636 "http/proxy_client_socket.h", 637 "http/proxy_fallback.cc", 638 "http/proxy_fallback.h", 639 "http/structured_headers.h", 640 "http/transport_security_persister.cc", 641 "http/transport_security_persister.h", 642 "http/transport_security_state.h", 643 "http/transport_security_state_source.cc", 644 "http/transport_security_state_source.h", 645 "http/url_security_manager.cc", 646 "http/url_security_manager.h", 647 "log/file_net_log_observer.cc", 648 "log/file_net_log_observer.h", 649 "log/net_log.cc", 650 "log/net_log.h", 651 "log/net_log_capture_mode.cc", 652 "log/net_log_capture_mode.h", 653 "log/net_log_entry.cc", 654 "log/net_log_entry.h", 655 "log/net_log_event_type.cc", 656 "log/net_log_event_type.h", 657 "log/net_log_event_type_list.h", 658 "log/net_log_source.cc", 659 "log/net_log_source.h", 660 "log/net_log_source_type.h", 661 "log/net_log_source_type_list.h", 662 "log/net_log_util.cc", 663 "log/net_log_util.h", 664 "log/net_log_values.cc", 665 "log/net_log_values.h", 666 "log/net_log_with_source.cc", 667 "log/net_log_with_source.h", 668 "log/trace_net_log_observer.cc", 669 "log/trace_net_log_observer.h", 670 "nqe/cached_network_quality.cc", 671 "nqe/cached_network_quality.h", 672 "nqe/effective_connection_type.cc", 673 "nqe/effective_connection_type.h", 674 "nqe/effective_connection_type_observer.h", 675 "nqe/event_creator.cc", 676 "nqe/event_creator.h", 677 "nqe/network_id.cc", 678 "nqe/network_id.h", 679 "nqe/network_qualities_prefs_manager.cc", 680 "nqe/network_qualities_prefs_manager.h", 681 "nqe/network_quality.cc", 682 "nqe/network_quality.h", 683 "nqe/network_quality_estimator.cc", 684 "nqe/network_quality_estimator.h", 685 "nqe/network_quality_estimator_params.cc", 686 "nqe/network_quality_estimator_params.h", 687 "nqe/network_quality_estimator_util.cc", 688 "nqe/network_quality_estimator_util.h", 689 "nqe/network_quality_observation.cc", 690 "nqe/network_quality_observation.h", 691 "nqe/network_quality_observation_source.h", 692 "nqe/network_quality_store.cc", 693 "nqe/network_quality_store.h", 694 "nqe/observation_buffer.cc", 695 "nqe/observation_buffer.h", 696 "nqe/peer_to_peer_connections_count_observer.h", 697 "nqe/pref_names.cc", 698 "nqe/pref_names.h", 699 "nqe/rtt_throughput_estimates_observer.h", 700 "nqe/socket_watcher.cc", 701 "nqe/socket_watcher.h", 702 "nqe/socket_watcher_factory.cc", 703 "nqe/socket_watcher_factory.h", 704 "nqe/throughput_analyzer.cc", 705 "nqe/throughput_analyzer.h", 706 "nqe/weighted_observation.h", 707 "proxy_resolution/configured_proxy_resolution_request.cc", 708 "proxy_resolution/configured_proxy_resolution_request.h", 709 "proxy_resolution/configured_proxy_resolution_service.cc", 710 "proxy_resolution/configured_proxy_resolution_service.h", 711 "proxy_resolution/dhcp_pac_file_fetcher.cc", 712 "proxy_resolution/dhcp_pac_file_fetcher.h", 713 "proxy_resolution/multi_threaded_proxy_resolver.cc", 714 "proxy_resolution/multi_threaded_proxy_resolver.h", 715 "proxy_resolution/network_delegate_error_observer.cc", 716 "proxy_resolution/network_delegate_error_observer.h", 717 "proxy_resolution/pac_file_data.cc", 718 "proxy_resolution/pac_file_data.h", 719 "proxy_resolution/pac_file_decider.cc", 720 "proxy_resolution/pac_file_decider.h", 721 "proxy_resolution/pac_file_fetcher.cc", 722 "proxy_resolution/pac_file_fetcher.h", 723 "proxy_resolution/pac_file_fetcher_impl.cc", 724 "proxy_resolution/pac_file_fetcher_impl.h", 725 "proxy_resolution/polling_proxy_config_service.cc", 726 "proxy_resolution/polling_proxy_config_service.h", 727 "proxy_resolution/proxy_bypass_rules.cc", 728 "proxy_resolution/proxy_bypass_rules.h", 729 "proxy_resolution/proxy_config.cc", 730 "proxy_resolution/proxy_config.h", 731 "proxy_resolution/proxy_config_service.cc", 732 "proxy_resolution/proxy_config_service.h", 733 "proxy_resolution/proxy_config_service_fixed.cc", 734 "proxy_resolution/proxy_config_service_fixed.h", 735 "proxy_resolution/proxy_config_with_annotation.cc", 736 "proxy_resolution/proxy_config_with_annotation.h", 737 "proxy_resolution/proxy_info.cc", 738 "proxy_resolution/proxy_info.h", 739 "proxy_resolution/proxy_list.cc", 740 "proxy_resolution/proxy_list.h", 741 "proxy_resolution/proxy_resolution_request.h", 742 "proxy_resolution/proxy_resolution_service.h", 743 "proxy_resolution/proxy_resolve_dns_operation.h", 744 "proxy_resolution/proxy_resolver.h", 745 "proxy_resolution/proxy_resolver_error_observer.h", 746 "proxy_resolution/proxy_resolver_factory.cc", 747 "proxy_resolution/proxy_resolver_factory.h", 748 "proxy_resolution/proxy_retry_info.h", 749 "quic/address_utils.h", 750 "quic/bidirectional_stream_quic_impl.cc", 751 "quic/bidirectional_stream_quic_impl.h", 752 "quic/crypto/proof_source_chromium.cc", 753 "quic/crypto/proof_source_chromium.h", 754 "quic/crypto/proof_verifier_chromium.cc", 755 "quic/crypto/proof_verifier_chromium.h", 756 "quic/dedicated_web_transport_http3_client.cc", 757 "quic/dedicated_web_transport_http3_client.h", 758 "quic/network_connection.cc", 759 "quic/network_connection.h", 760 "quic/platform/impl/quic_chromium_clock.cc", 761 "quic/platform/impl/quic_chromium_clock.h", 762 "quic/properties_based_quic_server_info.cc", 763 "quic/properties_based_quic_server_info.h", 764 "quic/quic_address_mismatch.cc", 765 "quic/quic_address_mismatch.h", 766 "quic/quic_chromium_alarm_factory.cc", 767 "quic/quic_chromium_alarm_factory.h", 768 "quic/quic_chromium_client_session.cc", 769 "quic/quic_chromium_client_session.h", 770 "quic/quic_chromium_client_stream.cc", 771 "quic/quic_chromium_client_stream.h", 772 "quic/quic_chromium_connection_helper.cc", 773 "quic/quic_chromium_connection_helper.h", 774 "quic/quic_chromium_packet_reader.cc", 775 "quic/quic_chromium_packet_reader.h", 776 "quic/quic_chromium_packet_writer.cc", 777 "quic/quic_chromium_packet_writer.h", 778 "quic/quic_clock_skew_detector.cc", 779 "quic/quic_clock_skew_detector.h", 780 "quic/quic_connection_logger.cc", 781 "quic/quic_connection_logger.h", 782 "quic/quic_connectivity_monitor.cc", 783 "quic/quic_connectivity_monitor.h", 784 "quic/quic_context.cc", 785 "quic/quic_context.h", 786 "quic/quic_crypto_client_config_handle.cc", 787 "quic/quic_crypto_client_config_handle.h", 788 "quic/quic_crypto_client_stream_factory.cc", 789 "quic/quic_crypto_client_stream_factory.h", 790 "quic/quic_event_logger.cc", 791 "quic/quic_event_logger.h", 792 "quic/quic_http3_logger.cc", 793 "quic/quic_http3_logger.h", 794 "quic/quic_http_stream.cc", 795 "quic/quic_http_stream.h", 796 "quic/quic_http_utils.cc", 797 "quic/quic_http_utils.h", 798 "quic/quic_proxy_client_socket.cc", 799 "quic/quic_proxy_client_socket.h", 800 "quic/quic_server_info.cc", 801 "quic/quic_server_info.h", 802 "quic/quic_session_key.cc", 803 "quic/quic_session_key.h", 804 "quic/quic_stream_factory.cc", 805 "quic/quic_stream_factory.h", 806 "quic/set_quic_flag.cc", 807 "quic/set_quic_flag.h", 808 "quic/web_transport_client.cc", 809 "quic/web_transport_client.h", 810 "quic/web_transport_error.cc", 811 "quic/web_transport_error.h", 812 "socket/client_socket_factory.cc", 813 "socket/client_socket_factory.h", 814 "socket/client_socket_handle.cc", 815 "socket/client_socket_handle.h", 816 "socket/client_socket_pool.cc", 817 "socket/client_socket_pool.h", 818 "socket/client_socket_pool_manager.cc", 819 "socket/client_socket_pool_manager.h", 820 "socket/client_socket_pool_manager_impl.cc", 821 "socket/client_socket_pool_manager_impl.h", 822 "socket/connect_job.cc", 823 "socket/connect_job.h", 824 "socket/connect_job_factory.cc", 825 "socket/connect_job_factory.h", 826 "socket/connection_attempts.h", 827 "socket/datagram_client_socket.h", 828 "socket/datagram_server_socket.h", 829 "socket/datagram_socket.h", 830 "socket/diff_serv_code_point.h", 831 "socket/network_binding_client_socket_factory.cc", 832 "socket/network_binding_client_socket_factory.h", 833 "socket/next_proto.cc", 834 "socket/next_proto.h", 835 "socket/server_socket.cc", 836 "socket/server_socket.h", 837 "socket/socket.cc", 838 "socket/socket.h", 839 "socket/socket_bio_adapter.cc", 840 "socket/socket_bio_adapter.h", 841 "socket/socket_descriptor.cc", 842 "socket/socket_descriptor.h", 843 "socket/socket_net_log_params.cc", 844 "socket/socket_net_log_params.h", 845 "socket/socket_options.cc", 846 "socket/socket_options.h", 847 "socket/socket_performance_watcher.h", 848 "socket/socket_performance_watcher_factory.h", 849 "socket/socket_tag.cc", 850 "socket/socket_tag.h", 851 "socket/socks5_client_socket.cc", 852 "socket/socks5_client_socket.h", 853 "socket/socks_client_socket.cc", 854 "socket/socks_client_socket.h", 855 "socket/socks_connect_job.cc", 856 "socket/socks_connect_job.h", 857 "socket/ssl_client_socket.cc", 858 "socket/ssl_client_socket.h", 859 "socket/ssl_client_socket_impl.cc", 860 "socket/ssl_client_socket_impl.h", 861 "socket/ssl_connect_job.cc", 862 "socket/ssl_connect_job.h", 863 "socket/ssl_server_socket.h", 864 "socket/ssl_server_socket_impl.cc", 865 "socket/ssl_server_socket_impl.h", 866 "socket/ssl_socket.h", 867 "socket/stream_socket.cc", 868 "socket/stream_socket.h", 869 "socket/tcp_client_socket.cc", 870 "socket/tcp_client_socket.h", 871 "socket/tcp_server_socket.cc", 872 "socket/tcp_server_socket.h", 873 "socket/tcp_socket.h", 874 "socket/transport_client_socket.cc", 875 "socket/transport_client_socket.h", 876 "socket/transport_client_socket_pool.cc", 877 "socket/transport_client_socket_pool.h", 878 "socket/transport_connect_job.cc", 879 "socket/transport_connect_job.h", 880 "socket/transport_connect_sub_job.cc", 881 "socket/transport_connect_sub_job.h", 882 "socket/udp_client_socket.cc", 883 "socket/udp_client_socket.h", 884 "socket/udp_net_log_parameters.cc", 885 "socket/udp_net_log_parameters.h", 886 "socket/udp_server_socket.cc", 887 "socket/udp_server_socket.h", 888 "socket/udp_socket.h", 889 "socket/udp_socket_global_limits.cc", 890 "socket/udp_socket_global_limits.h", 891 "socket/websocket_endpoint_lock_manager.cc", 892 "socket/websocket_endpoint_lock_manager.h", 893 "socket/websocket_transport_client_socket_pool.cc", 894 "socket/websocket_transport_client_socket_pool.h", 895 "spdy/alps_decoder.cc", 896 "spdy/alps_decoder.h", 897 "spdy/bidirectional_stream_spdy_impl.cc", 898 "spdy/bidirectional_stream_spdy_impl.h", 899 "spdy/buffered_spdy_framer.cc", 900 "spdy/buffered_spdy_framer.h", 901 "spdy/header_coalescer.cc", 902 "spdy/header_coalescer.h", 903 "spdy/http2_priority_dependencies.cc", 904 "spdy/http2_priority_dependencies.h", 905 "spdy/multiplexed_http_stream.cc", 906 "spdy/multiplexed_http_stream.h", 907 "spdy/multiplexed_session.cc", 908 "spdy/multiplexed_session.h", 909 "spdy/spdy_buffer.cc", 910 "spdy/spdy_buffer.h", 911 "spdy/spdy_buffer_producer.cc", 912 "spdy/spdy_buffer_producer.h", 913 "spdy/spdy_http_stream.cc", 914 "spdy/spdy_http_stream.h", 915 "spdy/spdy_http_utils.cc", 916 "spdy/spdy_http_utils.h", 917 "spdy/spdy_log_util.cc", 918 "spdy/spdy_log_util.h", 919 "spdy/spdy_proxy_client_socket.cc", 920 "spdy/spdy_proxy_client_socket.h", 921 "spdy/spdy_read_queue.cc", 922 "spdy/spdy_read_queue.h", 923 "spdy/spdy_session.cc", 924 "spdy/spdy_session.h", 925 "spdy/spdy_session_key.cc", 926 "spdy/spdy_session_key.h", 927 "spdy/spdy_session_pool.cc", 928 "spdy/spdy_session_pool.h", 929 "spdy/spdy_stream.cc", 930 "spdy/spdy_stream.h", 931 "spdy/spdy_write_queue.cc", 932 "spdy/spdy_write_queue.h", 933 "ssl/cert_compression.cc", 934 "ssl/cert_compression.h", 935 "ssl/client_cert_identity.cc", 936 "ssl/client_cert_identity.h", 937 "ssl/client_cert_store.h", 938 "ssl/openssl_ssl_util.cc", 939 "ssl/openssl_ssl_util.h", 940 "ssl/ssl_cert_request_info.cc", 941 "ssl/ssl_cert_request_info.h", 942 "ssl/ssl_cipher_suite_names.cc", 943 "ssl/ssl_cipher_suite_names.h", 944 "ssl/ssl_client_auth_cache.cc", 945 "ssl/ssl_client_auth_cache.h", 946 "ssl/ssl_client_session_cache.cc", 947 "ssl/ssl_client_session_cache.h", 948 "ssl/ssl_config.cc", 949 "ssl/ssl_config.h", 950 "ssl/ssl_config_service.cc", 951 "ssl/ssl_config_service.h", 952 "ssl/ssl_config_service_defaults.cc", 953 "ssl/ssl_config_service_defaults.h", 954 "ssl/ssl_connection_status_flags.h", 955 "ssl/ssl_handshake_details.h", 956 "ssl/ssl_info.cc", 957 "ssl/ssl_info.h", 958 "ssl/ssl_key_logger.cc", 959 "ssl/ssl_key_logger.h", 960 "ssl/ssl_key_logger_impl.cc", 961 "ssl/ssl_key_logger_impl.h", 962 "ssl/ssl_legacy_crypto_fallback.h", 963 "ssl/ssl_platform_key_util.cc", 964 "ssl/ssl_platform_key_util.h", 965 "ssl/ssl_private_key.cc", 966 "ssl/ssl_private_key.h", 967 "ssl/ssl_server_config.cc", 968 "ssl/ssl_server_config.h", 969 "ssl/threaded_ssl_private_key.cc", 970 "ssl/threaded_ssl_private_key.h", 971 "url_request/clear_site_data.cc", 972 "url_request/clear_site_data.h", 973 "url_request/redirect_info.cc", 974 "url_request/redirect_info.h", 975 "url_request/redirect_util.cc", 976 "url_request/redirect_util.h", 977 "url_request/referrer_policy.h", 978 "url_request/report_sender.cc", 979 "url_request/report_sender.h", 980 "url_request/static_http_user_agent_settings.cc", 981 "url_request/static_http_user_agent_settings.h", 982 "url_request/url_request.cc", 983 "url_request/url_request.h", 984 "url_request/url_request_context.cc", 985 "url_request/url_request_context.h", 986 "url_request/url_request_context_builder.cc", 987 "url_request/url_request_context_builder.h", 988 "url_request/url_request_context_getter.cc", 989 "url_request/url_request_context_getter.h", 990 "url_request/url_request_context_getter_observer.h", 991 "url_request/url_request_error_job.cc", 992 "url_request/url_request_error_job.h", 993 "url_request/url_request_filter.cc", 994 "url_request/url_request_filter.h", 995 "url_request/url_request_http_job.cc", 996 "url_request/url_request_http_job.h", 997 "url_request/url_request_interceptor.cc", 998 "url_request/url_request_interceptor.h", 999 "url_request/url_request_job.cc", 1000 "url_request/url_request_job.h", 1001 "url_request/url_request_job_factory.cc", 1002 "url_request/url_request_job_factory.h", 1003 "url_request/url_request_netlog_params.cc", 1004 "url_request/url_request_netlog_params.h", 1005 "url_request/url_request_redirect_job.cc", 1006 "url_request/url_request_redirect_job.h", 1007 "url_request/url_request_throttler_entry.cc", 1008 "url_request/url_request_throttler_entry.h", 1009 "url_request/url_request_throttler_entry_interface.h", 1010 "url_request/url_request_throttler_manager.cc", 1011 "url_request/url_request_throttler_manager.h", 1012 "url_request/view_cache_helper.cc", 1013 "url_request/view_cache_helper.h", 1014 "url_request/websocket_handshake_userdata_key.cc", 1015 "url_request/websocket_handshake_userdata_key.h", 1016 ] 1017 1018 if (is_posix || is_fuchsia) { 1019 sources += [ "base/net_errors_posix.cc" ] 1020 } 1021 1022 defines = [] 1023 if (disable_brotli_filter) { 1024 defines += [ "NET_DISABLE_BROTLI" ] 1025 } 1026 if (disable_zstd_filter) { 1027 defines += [ "NET_DISABLE_ZSTD" ] 1028 } 1029 1030 deps = [ 1031 ":cronet_buildflags", 1032 ":net_deps", 1033 "//build:chromeos_buildflags", 1034 "//components/miracle_parameter/common", 1035 "//net/http:transport_security_state_generated_files", 1036 ] 1037 1038 public_deps = [ 1039 ":net_export_header", 1040 ":net_public_deps", 1041 "//base", 1042 "//net/dns", 1043 "//net/dns:dns_client", 1044 "//net/dns:host_resolver", 1045 "//net/dns:host_resolver_manager", 1046 "//net/dns:mdns_client", 1047 "//net/dns/public", 1048 "//net/third_party/quiche", 1049 ] 1050 1051 allow_circular_includes_from = [ 1052 "//net/dns", 1053 "//net/dns:dns_client", 1054 "//net/dns:host_resolver", 1055 "//net/dns:host_resolver_manager", 1056 "//net/dns:mdns_client", 1057 "//net/dns/public", 1058 "//net/http:transport_security_state_generated_files", 1059 ] 1060 1061 if (enable_reporting) { 1062 sources += [ 1063 "network_error_logging/network_error_logging_service.cc", 1064 "network_error_logging/network_error_logging_service.h", 1065 "network_error_logging/persistent_reporting_and_nel_store.h", 1066 "reporting/reporting_browsing_data_remover.cc", 1067 "reporting/reporting_browsing_data_remover.h", 1068 "reporting/reporting_cache.cc", 1069 "reporting/reporting_cache.h", 1070 "reporting/reporting_cache_impl.cc", 1071 "reporting/reporting_cache_impl.h", 1072 "reporting/reporting_cache_observer.cc", 1073 "reporting/reporting_cache_observer.h", 1074 "reporting/reporting_context.cc", 1075 "reporting/reporting_context.h", 1076 "reporting/reporting_delegate.cc", 1077 "reporting/reporting_delegate.h", 1078 "reporting/reporting_delivery_agent.cc", 1079 "reporting/reporting_delivery_agent.h", 1080 "reporting/reporting_endpoint.cc", 1081 "reporting/reporting_endpoint.h", 1082 "reporting/reporting_endpoint_manager.cc", 1083 "reporting/reporting_endpoint_manager.h", 1084 "reporting/reporting_garbage_collector.cc", 1085 "reporting/reporting_garbage_collector.h", 1086 "reporting/reporting_header_parser.cc", 1087 "reporting/reporting_header_parser.h", 1088 "reporting/reporting_network_change_observer.cc", 1089 "reporting/reporting_network_change_observer.h", 1090 "reporting/reporting_policy.cc", 1091 "reporting/reporting_policy.h", 1092 "reporting/reporting_report.cc", 1093 "reporting/reporting_report.h", 1094 "reporting/reporting_service.cc", 1095 "reporting/reporting_service.h", 1096 "reporting/reporting_uploader.cc", 1097 "reporting/reporting_uploader.h", 1098 ] 1099 } 1100 1101 if (is_android) { 1102 sources += [ 1103 "android/android_http_util.cc", 1104 "android/cert_verify_result_android.cc", 1105 "android/cert_verify_result_android.h", 1106 "android/gurl_utils.cc", 1107 "android/http_auth_negotiate_android.cc", 1108 "android/http_auth_negotiate_android.h", 1109 "android/keystore.cc", 1110 "android/keystore.h", 1111 "android/network_change_notifier_android.cc", 1112 "android/network_change_notifier_android.h", 1113 "android/network_change_notifier_delegate_android.cc", 1114 "android/network_change_notifier_delegate_android.h", 1115 "android/network_change_notifier_factory_android.cc", 1116 "android/network_change_notifier_factory_android.h", 1117 "android/network_library.cc", 1118 "android/network_library.h", 1119 "android/traffic_stats.cc", 1120 "android/traffic_stats.h", 1121 "cert/cert_verify_proc_android.cc", 1122 "cert/cert_verify_proc_android.h", 1123 "cert/test_root_certs_android.cc", 1124 "cert/x509_util_android.cc", 1125 "proxy_resolution/proxy_config_service_android.cc", 1126 "proxy_resolution/proxy_config_service_android.h", 1127 "ssl/ssl_platform_key_android.cc", 1128 "ssl/ssl_platform_key_android.h", 1129 ] 1130 } 1131 1132 if (is_chromeos && use_nss_certs) { 1133 sources += [ 1134 "cert/nss_cert_database_chromeos.cc", 1135 "cert/nss_cert_database_chromeos.h", 1136 "cert/nss_profile_filter_chromeos.cc", 1137 "cert/nss_profile_filter_chromeos.h", 1138 ] 1139 } 1140 1141 if (is_ios) { 1142 sources += [ 1143 "cert/cert_verify_proc_ios.cc", 1144 "cert/cert_verify_proc_ios.h", 1145 "cert/test_root_certs_ios.cc", 1146 "disk_cache/blockfile/file_ios.cc", 1147 "proxy_resolution/proxy_config_service_ios.cc", 1148 "proxy_resolution/proxy_config_service_ios.h", 1149 ] 1150 } 1151 1152 if (is_linux) { 1153 sources += [ 1154 "base/network_change_notifier_linux.cc", 1155 "base/network_change_notifier_linux.h", 1156 "proxy_resolution/proxy_config_service_linux.cc", 1157 "proxy_resolution/proxy_config_service_linux.h", 1158 ] 1159 } 1160 1161 if (is_linux || is_chromeos || is_android) { 1162 sources += [ 1163 "base/address_map_linux.cc", 1164 "base/address_map_linux.h", 1165 "base/address_tracker_linux.cc", 1166 "base/address_tracker_linux.h", 1167 "base/network_interfaces_linux.cc", 1168 "base/network_interfaces_linux.h", 1169 "base/platform_mime_util_linux.cc", 1170 ] 1171 } 1172 1173 if (is_linux) { 1174 sources += [ 1175 "base/address_map_cache_linux.cc", 1176 "base/address_map_cache_linux.h", 1177 ] 1178 } 1179 1180 if (is_mac) { 1181 sources += [ 1182 "base/network_notification_thread_mac.cc", 1183 "base/network_notification_thread_mac.h", 1184 "cert/cert_database_mac.cc", 1185 "cert/internal/trust_store_mac.cc", 1186 "cert/internal/trust_store_mac.h", 1187 "cert/test_keychain_search_list_mac.cc", 1188 "cert/test_keychain_search_list_mac.h", 1189 "cert/test_root_certs_builtin.cc", 1190 "proxy_resolution/proxy_config_service_mac.cc", 1191 "proxy_resolution/proxy_config_service_mac.h", 1192 "ssl/client_cert_identity_mac.cc", 1193 "ssl/client_cert_identity_mac.h", 1194 "ssl/client_cert_store_mac.cc", 1195 "ssl/client_cert_store_mac.h", 1196 "ssl/ssl_platform_key_mac.cc", 1197 "ssl/ssl_platform_key_mac.h", 1198 ] 1199 } 1200 1201 if (is_apple) { 1202 sources += [ 1203 "base/mac/url_conversions.h", 1204 "base/mac/url_conversions.mm", 1205 "base/network_change_notifier_mac.h", 1206 "base/network_change_notifier_mac.mm", 1207 "base/network_config_watcher_mac.cc", 1208 "base/network_config_watcher_mac.h", 1209 "base/platform_mime_util_mac.mm", 1210 "cert/x509_util_apple.cc", 1211 "cert/x509_util_apple.h", 1212 "proxy_resolution/proxy_resolver_mac.cc", 1213 "proxy_resolution/proxy_resolver_mac.h", 1214 "proxy_resolution/proxy_server_util_mac.cc", 1215 "proxy_resolution/proxy_server_util_mac.h", 1216 ] 1217 } 1218 1219 if (is_win) { 1220 sources += [ 1221 "base/file_stream_context_win.cc", 1222 "base/net_errors_win.cc", 1223 "base/network_change_notifier_win.cc", 1224 "base/network_change_notifier_win.h", 1225 "base/network_interfaces_win.cc", 1226 "base/network_interfaces_win.h", 1227 "base/platform_mime_util_win.cc", 1228 "base/winsock_init.cc", 1229 "base/winsock_init.h", 1230 "base/winsock_util.cc", 1231 "base/winsock_util.h", 1232 "cert/test_root_certs_builtin.cc", 1233 "cert/x509_util_win.cc", 1234 "cert/x509_util_win.h", 1235 "disk_cache/blockfile/file_win.cc", 1236 "disk_cache/blockfile/mapped_file_win.cc", 1237 "disk_cache/cache_util_win.cc", 1238 "disk_cache/simple/simple_util_win.cc", 1239 "http/http_auth_handler_ntlm_win.cc", 1240 "http/http_auth_sspi_win.cc", 1241 "http/http_auth_sspi_win.h", 1242 "http/url_security_manager_win.cc", 1243 "proxy_resolution/win/dhcp_pac_file_adapter_fetcher_win.cc", 1244 "proxy_resolution/win/dhcp_pac_file_adapter_fetcher_win.h", 1245 "proxy_resolution/win/dhcp_pac_file_fetcher_win.cc", 1246 "proxy_resolution/win/dhcp_pac_file_fetcher_win.h", 1247 "proxy_resolution/win/dhcpcsvc_init_win.cc", 1248 "proxy_resolution/win/dhcpcsvc_init_win.h", 1249 "proxy_resolution/win/proxy_config_service_win.cc", 1250 "proxy_resolution/win/proxy_config_service_win.h", 1251 "proxy_resolution/win/proxy_resolver_winhttp.cc", 1252 "proxy_resolution/win/proxy_resolver_winhttp.h", 1253 "proxy_resolution/win/windows_system_proxy_resolution_request.cc", 1254 "proxy_resolution/win/windows_system_proxy_resolution_request.h", 1255 "proxy_resolution/win/windows_system_proxy_resolution_service.cc", 1256 "proxy_resolution/win/windows_system_proxy_resolution_service.h", 1257 "proxy_resolution/win/windows_system_proxy_resolver.h", 1258 "proxy_resolution/win/winhttp_status.h", 1259 "socket/tcp_socket_win.cc", 1260 "socket/tcp_socket_win.h", 1261 "socket/udp_socket_win.cc", 1262 "socket/udp_socket_win.h", 1263 "ssl/client_cert_store_win.cc", 1264 "ssl/client_cert_store_win.h", 1265 "ssl/ssl_platform_key_win.cc", 1266 ] 1267 } 1268 1269 if (use_kerberos) { 1270 sources += [ 1271 "http/http_auth_handler_negotiate.cc", 1272 "http/http_auth_handler_negotiate.h", 1273 ] 1274 } 1275 1276 if (is_posix || is_fuchsia) { 1277 sources += [ 1278 "base/file_stream_context_posix.cc", 1279 "base/network_interfaces_posix.cc", 1280 "base/network_interfaces_posix.h", 1281 "base/sockaddr_util_posix.cc", 1282 "base/sockaddr_util_posix.h", 1283 "disk_cache/cache_util_posix.cc", 1284 "disk_cache/simple/simple_util_posix.cc", 1285 "http/url_security_manager_posix.cc", 1286 "socket/socket_posix.cc", 1287 "socket/socket_posix.h", 1288 "socket/tcp_socket_posix.cc", 1289 "socket/tcp_socket_posix.h", 1290 "socket/udp_socket_posix.cc", 1291 "socket/udp_socket_posix.h", 1292 ] 1293 if (!is_ios) { 1294 sources += [ "disk_cache/blockfile/file_posix.cc" ] 1295 } 1296 if (posix_bypass_mmap) { 1297 sources += [ "disk_cache/blockfile/mapped_file_bypass_mmap_posix.cc" ] 1298 } else { 1299 sources += [ "disk_cache/blockfile/mapped_file_posix.cc" ] 1300 } 1301 } 1302 1303 if (is_android || is_chromeos || is_linux) { 1304 sources += [ 1305 "base/network_change_notifier_passive.cc", 1306 "base/network_change_notifier_passive.h", 1307 ] 1308 } 1309 1310 if (!is_win) { 1311 sources += [ 1312 "http/http_auth_handler_ntlm_portable.cc", 1313 "http/http_auth_ntlm_mechanism.cc", 1314 "http/http_auth_ntlm_mechanism.h", 1315 "ntlm/ntlm.cc", 1316 "ntlm/ntlm.h", 1317 "ntlm/ntlm_buffer_reader.cc", 1318 "ntlm/ntlm_buffer_reader.h", 1319 "ntlm/ntlm_buffer_writer.cc", 1320 "ntlm/ntlm_buffer_writer.h", 1321 "ntlm/ntlm_client.cc", 1322 "ntlm/ntlm_client.h", 1323 "ntlm/ntlm_constants.cc", 1324 "ntlm/ntlm_constants.h", 1325 ] 1326 } 1327 1328 if (use_external_gssapi) { 1329 sources += [ 1330 "http/http_auth_gssapi_posix.cc", 1331 "http/http_auth_gssapi_posix.h", 1332 ] 1333 } 1334 1335 # Use getifaddrs() on POSIX platforms, except Linux. 1336 if (is_posix && !is_linux && !is_chromeos) { 1337 sources += [ 1338 "base/network_interfaces_getifaddrs.cc", 1339 "base/network_interfaces_getifaddrs.h", 1340 ] 1341 if (is_android) { 1342 sources += [ 1343 "base/network_interfaces_getifaddrs_android.cc", 1344 "base/network_interfaces_getifaddrs_android.h", 1345 ] 1346 } 1347 } 1348 1349 if (chrome_root_store_supported) { 1350 sources += [ 1351 "cert/internal/trust_store_chrome.cc", 1352 "cert/internal/trust_store_chrome.h", 1353 ] 1354 deps += [ 1355 "//net/cert:root_store_proto_lite", 1356 "//net/data/ssl/chrome_root_store:gen_root_store_inc", 1357 ] 1358 if (is_win) { 1359 sources += [ 1360 "cert/internal/trust_store_win.cc", 1361 "cert/internal/trust_store_win.h", 1362 "third_party/mozilla_win/cert/win_util.cc", 1363 "third_party/mozilla_win/cert/win_util.h", 1364 ] 1365 } 1366 if (is_android) { 1367 sources += [ 1368 "cert/internal/trust_store_android.cc", 1369 "cert/internal/trust_store_android.h", 1370 ] 1371 } 1372 } 1373 1374 if (use_nss_certs) { 1375 sources += [ 1376 "cert/internal/system_trust_store_nss.h", 1377 "cert/internal/trust_store_nss.cc", 1378 "cert/internal/trust_store_nss.h", 1379 "cert/nss_cert_database.cc", 1380 "cert/nss_cert_database.h", 1381 "cert/test_root_certs_builtin.cc", 1382 "cert/x509_util_nss.cc", 1383 "cert/x509_util_nss.h", 1384 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp", 1385 "third_party/mozilla_security_manager/nsNSSCertificateDB.h", 1386 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp", 1387 "third_party/mozilla_security_manager/nsPKCS12Blob.h", 1388 "third_party/nss/ssl/cmpcert.cc", 1389 "third_party/nss/ssl/cmpcert.h", 1390 ] 1391 if (!is_castos) { 1392 sources += [ 1393 "ssl/client_cert_store_nss.cc", 1394 "ssl/client_cert_store_nss.h", 1395 "ssl/ssl_platform_key_nss.cc", 1396 "ssl/ssl_platform_key_nss.h", 1397 ] 1398 } 1399 1400 # TODO(https://crbug.com/978854): This is a public config because 1401 # multi_threaded_cert_verifier.h depends on NSS. When the linked bug is 1402 # fixed, switch this to a non-public config, so NSS usage must be explicit 1403 # in the build. 1404 public_configs = [ "//build/config/linux/nss" ] 1405 } 1406 1407 if (is_fuchsia) { 1408 deps += [ 1409 "//net/data/ssl/chrome_root_store:gen_root_store_inc", 1410 "//third_party/fuchsia-sdk/sdk/pkg/async-loop-cpp", 1411 ] 1412 public_deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces_hlcpp" ] 1413 sources += [ 1414 "base/fuchsia/network_interface_cache.cc", 1415 "base/fuchsia/network_interface_cache.h", 1416 "base/network_change_notifier_fuchsia.cc", 1417 "base/network_change_notifier_fuchsia.h", 1418 "base/network_interfaces_fuchsia.cc", 1419 "base/network_interfaces_fuchsia.h", 1420 "base/platform_mime_util_fuchsia.cc", 1421 "cert/test_root_certs_builtin.cc", 1422 ] 1423 } 1424 1425 if (enable_unix_sockets) { 1426 sources += [ 1427 "socket/unix_domain_client_socket_posix.cc", 1428 "socket/unix_domain_client_socket_posix.h", 1429 "socket/unix_domain_server_socket_posix.cc", 1430 "socket/unix_domain_server_socket_posix.h", 1431 ] 1432 } 1433 1434 cflags = [] 1435 1436 if (is_mac) { 1437 libs = [ "resolv" ] 1438 frameworks = [ 1439 "CFNetwork.framework", 1440 "CoreServices.framework", 1441 "Foundation.framework", 1442 "Security.framework", 1443 "SystemConfiguration.framework", 1444 "UniformTypeIdentifiers.framework", 1445 ] 1446 } 1447 1448 if (is_ios) { 1449 libs = [ "resolv" ] 1450 frameworks = [ 1451 "CFNetwork.framework", 1452 "CoreTelephony.framework", 1453 "MobileCoreServices.framework", 1454 "Security.framework", 1455 "SystemConfiguration.framework", 1456 "UniformTypeIdentifiers.framework", 1457 ] 1458 } 1459 1460 if (is_win) { 1461 libs = [ 1462 "crypt32.lib", 1463 "dhcpcsvc.lib", 1464 "iphlpapi.lib", 1465 "ncrypt.lib", 1466 "rpcrt4.lib", 1467 "secur32.lib", 1468 "urlmon.lib", 1469 "winhttp.lib", 1470 ] 1471 1472 ldflags = [ "/DELAYLOAD:urlmon.dll" ] 1473 } 1474 1475 if (!disable_file_support) { 1476 sources += [ 1477 "base/directory_lister.cc", 1478 "base/directory_lister.h", 1479 "base/directory_listing.cc", 1480 "base/directory_listing.h", 1481 ] 1482 } 1483 1484 if (enable_websockets) { 1485 sources += [ 1486 "websockets/websocket_basic_handshake_stream.cc", 1487 "websockets/websocket_basic_handshake_stream.h", 1488 "websockets/websocket_basic_stream.cc", 1489 "websockets/websocket_basic_stream.h", 1490 "websockets/websocket_basic_stream_adapters.cc", 1491 "websockets/websocket_basic_stream_adapters.h", 1492 "websockets/websocket_channel.cc", 1493 "websockets/websocket_channel.h", 1494 "websockets/websocket_deflate_parameters.cc", 1495 "websockets/websocket_deflate_parameters.h", 1496 "websockets/websocket_deflate_predictor.h", 1497 "websockets/websocket_deflate_predictor_impl.cc", 1498 "websockets/websocket_deflate_predictor_impl.h", 1499 "websockets/websocket_deflate_stream.cc", 1500 "websockets/websocket_deflate_stream.h", 1501 "websockets/websocket_deflater.cc", 1502 "websockets/websocket_deflater.h", 1503 "websockets/websocket_errors.cc", 1504 "websockets/websocket_errors.h", 1505 "websockets/websocket_event_interface.h", 1506 "websockets/websocket_extension.cc", 1507 "websockets/websocket_extension.h", 1508 "websockets/websocket_extension_parser.cc", 1509 "websockets/websocket_extension_parser.h", 1510 "websockets/websocket_frame.cc", 1511 "websockets/websocket_frame.h", 1512 "websockets/websocket_frame_parser.cc", 1513 "websockets/websocket_frame_parser.h", 1514 "websockets/websocket_handshake_challenge.cc", 1515 "websockets/websocket_handshake_challenge.h", 1516 "websockets/websocket_handshake_constants.cc", 1517 "websockets/websocket_handshake_constants.h", 1518 "websockets/websocket_handshake_request_info.cc", 1519 "websockets/websocket_handshake_request_info.h", 1520 "websockets/websocket_handshake_response_info.cc", 1521 "websockets/websocket_handshake_response_info.h", 1522 "websockets/websocket_handshake_stream_base.cc", 1523 "websockets/websocket_handshake_stream_base.h", 1524 "websockets/websocket_handshake_stream_create_helper.cc", 1525 "websockets/websocket_handshake_stream_create_helper.h", 1526 "websockets/websocket_http2_handshake_stream.cc", 1527 "websockets/websocket_http2_handshake_stream.h", 1528 "websockets/websocket_http3_handshake_stream.cc", 1529 "websockets/websocket_http3_handshake_stream.h", 1530 "websockets/websocket_inflater.cc", 1531 "websockets/websocket_inflater.h", 1532 "websockets/websocket_quic_spdy_stream.cc", 1533 "websockets/websocket_quic_spdy_stream.h", 1534 "websockets/websocket_stream.cc", 1535 "websockets/websocket_stream.h", 1536 ] 1537 } 1538 1539 # ICU support. 1540 if (use_platform_icu_alternatives) { 1541 if (is_android) { 1542 # Use ICU alternative on Android. 1543 sources += [ "base/net_string_util_icu_alternatives_android.cc" ] 1544 } else if (is_ios) { 1545 # Use ICU alternative on iOS. 1546 sources += [ "base/net_string_util_icu_alternatives_ios.mm" ] 1547 } else { 1548 assert(false, 1549 "ICU alternative is not implemented for platform: " + target_os) 1550 } 1551 } else { 1552 # Use ICU. 1553 sources += [ 1554 "base/filename_util_icu.cc", 1555 "base/net_string_util_icu.cc", 1556 ] 1557 } 1558 1559 # Brotli support. 1560 if (!disable_brotli_filter) { 1561 sources += [ 1562 "filter/brotli_source_stream.cc", 1563 "filter/brotli_source_stream.h", 1564 ] 1565 } else { 1566 sources += [ "filter/brotli_source_stream_disabled.cc" ] 1567 } 1568 1569 # Zstd support. 1570 if (!disable_zstd_filter) { 1571 sources += [ 1572 "filter/zstd_source_stream.cc", 1573 "filter/zstd_source_stream.h", 1574 ] 1575 } else { 1576 sources += [ 1577 "filter/zstd_source_stream.h", 1578 "filter/zstd_source_stream_disabled.cc", 1579 ] 1580 } 1581 1582 if (!is_debug && !optimize_for_size) { 1583 configs -= [ "//build/config/compiler:default_optimization" ] 1584 configs += [ "//build/config/compiler:optimize_max" ] 1585 } 1586} 1587 1588# net_export.h has its own build target so that code (eg 1589# net_nqe_proto) can use it without depending on the whole of //net. 1590source_set("net_export_header") { 1591 sources = [ "base/net_export.h" ] 1592} 1593 1594# Private dependencies for the //net component and for any build targets (e.g. 1595# source sets with circular dependencies with //net) that need to share the same 1596# dependencies. 1597source_set("net_deps") { 1598 visibility = [ 1599 ":net", 1600 "//net/dns", 1601 "//net/dns:dns_client", 1602 "//net/dns:host_resolver", 1603 "//net/dns:host_resolver_manager", 1604 "//net/dns:mdns_client", 1605 "//net/dns/public", 1606 "//net/http:transport_security_state_generated_files", 1607 "//net/third_party/quiche", 1608 ] 1609 1610 public_deps = [ 1611 ":constants", 1612 ":cronet_buildflags", 1613 ":isolation_info_proto", 1614 ":net_export_header", 1615 ":preload_decoder", 1616 "//base", 1617 "//base/third_party/dynamic_annotations", 1618 "//net/base/registry_controlled_domains", 1619 "//third_party/protobuf:protobuf_lite", 1620 "//third_party/zlib", 1621 "//url:buildflags", 1622 ] 1623 1624 if (!disable_file_support) { 1625 public_deps += [ ":net_resources" ] 1626 } 1627 1628 public_configs = net_configs 1629 1630 if (use_gio) { 1631 public_configs += [ "//build/linux:gio_config" ] 1632 } 1633 1634 if (is_android) { 1635 public_deps += [ ":net_jni_headers" ] 1636 } 1637 1638 if (is_fuchsia) { 1639 public_deps += [ 1640 "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.hardware.network:fuchsia.hardware.network_hlcpp", 1641 "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces_hlcpp", 1642 "//third_party/fuchsia-sdk/sdk/pkg/sys_cpp", 1643 ] 1644 } 1645 1646 if (use_platform_icu_alternatives) { 1647 if (is_android) { 1648 public_deps += [ ":net_jni_headers" ] 1649 } 1650 } else { 1651 public_deps += [ 1652 "//base:i18n", 1653 "//third_party/icu", 1654 ] 1655 } 1656 1657 if (!disable_brotli_filter) { 1658 public_deps += [ "//third_party/brotli:dec" ] 1659 } else { 1660 public_deps += [ "//third_party/brotli:headers" ] 1661 } 1662 1663 if (!disable_zstd_filter) { 1664 public_deps += [ "//third_party/zstd:decompress" ] 1665 } else { 1666 public_deps += [ "//third_party/zstd:headers" ] 1667 } 1668} 1669 1670# Public dependencies for the //net component and for any build targets (e.g. 1671# source sets with circular dependencies with //net) that need to share the same 1672# dependencies. 1673source_set("net_public_deps") { 1674 visibility = [ 1675 ":net", 1676 "//net/dns", 1677 "//net/dns:dns_client", 1678 "//net/dns:host_resolver", 1679 "//net/dns:host_resolver_manager", 1680 "//net/dns:mdns_client", 1681 "//net/dns/public", 1682 "//net/http:transport_security_state_generated_files", 1683 "//net/third_party/quiche", 1684 ] 1685 1686 public_deps = [ 1687 ":buildflags", 1688 ":net_nqe_proto", 1689 ":uri_template", 1690 "//base", 1691 "//crypto", 1692 "//net/third_party/quiche", 1693 "//net/third_party/quiche:net_quic_test_tools_proto", 1694 "//net/traffic_annotation", 1695 "//third_party/boringssl", 1696 "//url", 1697 ] 1698 1699 if (chrome_root_store_supported) { 1700 public_deps += [ "//net/cert:root_store_proto_lite" ] 1701 } 1702} 1703 1704if (is_android) { 1705 java_cpp_enum("effective_connection_type_java") { 1706 sources = [ "//net/nqe/effective_connection_type.h" ] 1707 } 1708} 1709 1710component("uri_template") { 1711 sources = [ 1712 "third_party/uri_template/uri_template.cc", 1713 "third_party/uri_template/uri_template.h", 1714 ] 1715 visibility = [ 1716 ":net_public_deps", 1717 "//net/third_party/quiche", 1718 ] 1719 defines = [ "IS_URI_TEMPLATE_IMPL" ] 1720 public_deps = [ "//base" ] 1721} 1722 1723grit("net_resources") { 1724 source = "base/net_resources.grd" 1725 outputs = [ 1726 "grit/net_resources.h", 1727 "net_resources.pak", 1728 ] 1729} 1730 1731proto_library("net_nqe_proto") { 1732 visibility = [ ":net_public_deps" ] 1733 1734 sources = [ "nqe/proto/network_id_proto.proto" ] 1735 cc_generator_options = "dllexport_decl=NET_EXPORT_PRIVATE:" 1736 cc_include = "net/base/net_export.h" 1737 component_build_force_source_set = true 1738 1739 deps = [ ":net_export_header" ] 1740 1741 defines = [ "NET_IMPLEMENTATION" ] 1742 1743 extra_configs = [ "//build/config/compiler:wexit_time_destructors" ] 1744} 1745 1746proto_library("isolation_info_proto") { 1747 sources = [ "base/isolation_info.proto" ] 1748} 1749 1750component("extras") { 1751 sources = [ 1752 "extras/sqlite/cookie_crypto_delegate.h", 1753 "extras/sqlite/sqlite_persistent_cookie_store.cc", 1754 "extras/sqlite/sqlite_persistent_cookie_store.h", 1755 "extras/sqlite/sqlite_persistent_shared_dictionary_store.cc", 1756 "extras/sqlite/sqlite_persistent_shared_dictionary_store.h", 1757 "extras/sqlite/sqlite_persistent_store_backend_base.cc", 1758 "extras/sqlite/sqlite_persistent_store_backend_base.h", 1759 ] 1760 defines = [ "IS_NET_EXTRAS_IMPL" ] 1761 configs += [ "//build/config/compiler:wexit_time_destructors" ] 1762 deps = [ 1763 ":net", 1764 "//base", 1765 "//sql:sql", 1766 ] 1767 public_deps = [ ":shared_dictionary" ] 1768 1769 if (enable_reporting) { 1770 sources += [ 1771 "extras/sqlite/sqlite_persistent_reporting_and_nel_store.cc", 1772 "extras/sqlite/sqlite_persistent_reporting_and_nel_store.h", 1773 ] 1774 } 1775} 1776 1777component("shared_dictionary") { 1778 sources = [ 1779 "extras/shared_dictionary/shared_dictionary_info.cc", 1780 "extras/shared_dictionary/shared_dictionary_info.h", 1781 "extras/shared_dictionary/shared_dictionary_isolation_key.cc", 1782 "extras/shared_dictionary/shared_dictionary_isolation_key.h", 1783 "extras/shared_dictionary/shared_dictionary_usage_info.h", 1784 ] 1785 defines = [ "IS_NET_SHARED_DICTIONARY_IMPL" ] 1786 configs += [ "//build/config/compiler:wexit_time_destructors" ] 1787 deps = [ 1788 ":net", 1789 "//base", 1790 ] 1791} 1792 1793static_library("preload_decoder") { 1794 sources = [ 1795 "extras/preload_data/decoder.cc", 1796 "extras/preload_data/decoder.h", 1797 ] 1798 deps = [ "//base" ] 1799} 1800 1801if (!is_ios) { 1802 executable("dump_cache") { 1803 testonly = true 1804 sources = [ 1805 "tools/dump_cache/dump_cache.cc", 1806 "tools/dump_cache/dump_files.cc", 1807 "tools/dump_cache/dump_files.h", 1808 ] 1809 1810 deps = [ 1811 ":net", 1812 ":test_support", 1813 "//base", 1814 "//build/win:default_exe_manifest", 1815 ] 1816 } 1817} 1818 1819if (is_ios) { 1820 bundle_data_from_filelist("test_support_bundle_data") { 1821 visibility = [ ":test_support" ] 1822 testonly = true 1823 filelist_name = "data/test_support_bundle_data.filelist" 1824 } 1825} 1826 1827static_library("gtest_util") { 1828 testonly = true 1829 sources = [ 1830 "test/gtest_util.h", 1831 "test/scoped_disable_exit_on_dfatal.cc", 1832 "test/scoped_disable_exit_on_dfatal.h", 1833 ] 1834 public_deps = [ 1835 "//base", 1836 "//base/test:test_support", 1837 "//net", 1838 "//testing/gmock", 1839 "//testing/gtest", 1840 ] 1841} 1842 1843static_library("test_support") { 1844 testonly = true 1845 sources = [ 1846 "base/connection_endpoint_metadata_test_util.cc", 1847 "base/connection_endpoint_metadata_test_util.h", 1848 "base/load_timing_info_test_util.cc", 1849 "base/load_timing_info_test_util.h", 1850 "base/mock_file_stream.cc", 1851 "base/mock_file_stream.h", 1852 "base/mock_network_change_notifier.cc", 1853 "base/mock_network_change_notifier.h", 1854 "base/test_completion_callback.cc", 1855 "base/test_completion_callback.h", 1856 "base/test_data_stream.cc", 1857 "base/test_data_stream.h", 1858 "cert/internal/cert_issuer_source_sync_unittest.h", 1859 "cert/internal/test_helpers.cc", 1860 "cert/internal/test_helpers.h", 1861 "cert/mock_cert_net_fetcher.cc", 1862 "cert/mock_cert_net_fetcher.h", 1863 "cert/mock_cert_verifier.cc", 1864 "cert/mock_cert_verifier.h", 1865 "cert/mock_client_cert_verifier.cc", 1866 "cert/mock_client_cert_verifier.h", 1867 "cookies/canonical_cookie_test_helpers.h", 1868 "cookies/cookie_change_dispatcher_test_helpers.cc", 1869 "cookies/cookie_change_dispatcher_test_helpers.h", 1870 "cookies/cookie_monster_store_test.cc", 1871 "cookies/cookie_monster_store_test.h", 1872 "cookies/cookie_store_change_unittest.h", 1873 "cookies/cookie_store_test_callbacks.cc", 1874 "cookies/cookie_store_test_callbacks.h", 1875 "cookies/cookie_store_test_helpers.cc", 1876 "cookies/cookie_store_test_helpers.h", 1877 "cookies/cookie_store_unittest.h", 1878 "cookies/test_cookie_access_delegate.cc", 1879 "cookies/test_cookie_access_delegate.h", 1880 "disk_cache/disk_cache_test_base.cc", 1881 "disk_cache/disk_cache_test_base.h", 1882 "disk_cache/disk_cache_test_util.cc", 1883 "disk_cache/disk_cache_test_util.h", 1884 "disk_cache/mock/mock_backend_impl.cc", 1885 "disk_cache/mock/mock_backend_impl.h", 1886 "disk_cache/mock/mock_entry_impl.cc", 1887 "disk_cache/mock/mock_entry_impl.h", 1888 "filter/filter_source_stream_test_util.cc", 1889 "filter/filter_source_stream_test_util.h", 1890 "filter/mock_source_stream.cc", 1891 "filter/mock_source_stream.h", 1892 "http/http_response_headers_test_util.cc", 1893 "http/http_response_headers_test_util.h", 1894 "http/http_stream_factory_test_util.cc", 1895 "http/http_stream_factory_test_util.h", 1896 "http/http_transaction_test_util.cc", 1897 "http/http_transaction_test_util.h", 1898 "http/mock_http_cache.cc", 1899 "http/mock_http_cache.h", 1900 "http/transport_security_state_test_util.cc", 1901 "http/transport_security_state_test_util.h", 1902 "log/test_net_log.cc", 1903 "log/test_net_log.h", 1904 "log/test_net_log_util.cc", 1905 "log/test_net_log_util.h", 1906 "nqe/network_quality_estimator_test_util.cc", 1907 "nqe/network_quality_estimator_test_util.h", 1908 "proxy_resolution/mock_pac_file_fetcher.cc", 1909 "proxy_resolution/mock_pac_file_fetcher.h", 1910 "proxy_resolution/mock_proxy_resolver.cc", 1911 "proxy_resolution/mock_proxy_resolver.h", 1912 "proxy_resolution/proxy_config_service_common_unittest.cc", 1913 "proxy_resolution/proxy_config_service_common_unittest.h", 1914 "socket/read_buffering_stream_socket.cc", 1915 "socket/read_buffering_stream_socket.h", 1916 "socket/socket_test_util.cc", 1917 "socket/socket_test_util.h", 1918 "socket/transport_client_socket_test_util.cc", 1919 "socket/transport_client_socket_test_util.h", 1920 "spdy/spdy_test_util_common.cc", 1921 "spdy/spdy_test_util_common.h", 1922 "ssl/client_cert_identity_test_util.cc", 1923 "ssl/client_cert_identity_test_util.h", 1924 "ssl/ssl_private_key_test_util.cc", 1925 "ssl/ssl_private_key_test_util.h", 1926 "ssl/test_ssl_config_service.cc", 1927 "ssl/test_ssl_config_service.h", 1928 "ssl/test_ssl_private_key.cc", 1929 "ssl/test_ssl_private_key.h", 1930 "test/cert_builder.cc", 1931 "test/cert_builder.h", 1932 "test/cert_test_util.cc", 1933 "test/cert_test_util.h", 1934 "test/ct_test_util.cc", 1935 "test/ct_test_util.h", 1936 "test/embedded_test_server/connection_tracker.cc", 1937 "test/embedded_test_server/connection_tracker.h", 1938 "test/embedded_test_server/controllable_http_response.cc", 1939 "test/embedded_test_server/controllable_http_response.h", 1940 "test/embedded_test_server/default_handlers.cc", 1941 "test/embedded_test_server/default_handlers.h", 1942 "test/embedded_test_server/embedded_test_server.cc", 1943 "test/embedded_test_server/embedded_test_server.h", 1944 "test/embedded_test_server/embedded_test_server_connection_listener.cc", 1945 "test/embedded_test_server/embedded_test_server_connection_listener.h", 1946 "test/embedded_test_server/http1_connection.cc", 1947 "test/embedded_test_server/http1_connection.h", 1948 "test/embedded_test_server/http2_connection.cc", 1949 "test/embedded_test_server/http2_connection.h", 1950 "test/embedded_test_server/http_connection.cc", 1951 "test/embedded_test_server/http_connection.h", 1952 "test/embedded_test_server/http_request.cc", 1953 "test/embedded_test_server/http_request.h", 1954 "test/embedded_test_server/http_response.cc", 1955 "test/embedded_test_server/http_response.h", 1956 "test/embedded_test_server/request_handler_util.cc", 1957 "test/embedded_test_server/request_handler_util.h", 1958 "test/embedded_test_server/simple_connection_listener.cc", 1959 "test/embedded_test_server/simple_connection_listener.h", 1960 "test/event_waiter.h", 1961 "test/key_util.cc", 1962 "test/key_util.h", 1963 "test/net_test_suite.cc", 1964 "test/net_test_suite.h", 1965 "test/quic_simple_test_server.cc", 1966 "test/quic_simple_test_server.h", 1967 "test/revocation_builder.cc", 1968 "test/revocation_builder.h", 1969 "test/ssl_test_util.cc", 1970 "test/ssl_test_util.h", 1971 "test/test_certificate_data.h", 1972 "test/test_data_directory.cc", 1973 "test/test_data_directory.h", 1974 "test/test_doh_server.cc", 1975 "test/test_doh_server.h", 1976 "test/test_with_task_environment.h", 1977 "test/url_request/ssl_certificate_error_job.cc", 1978 "test/url_request/ssl_certificate_error_job.h", 1979 "test/url_request/url_request_failed_job.cc", 1980 "test/url_request/url_request_failed_job.h", 1981 "test/url_request/url_request_hanging_read_job.cc", 1982 "test/url_request/url_request_hanging_read_job.h", 1983 "test/url_request/url_request_mock_data_job.cc", 1984 "test/url_request/url_request_mock_data_job.h", 1985 "url_request/url_request_test_job.cc", 1986 "url_request/url_request_test_job.h", 1987 "url_request/url_request_test_util.cc", 1988 "url_request/url_request_test_util.h", 1989 ] 1990 1991 if (is_linux || is_chromeos || is_android) { 1992 sources += [ 1993 "base/address_tracker_linux_test_util.cc", 1994 "base/address_tracker_linux_test_util.h", 1995 ] 1996 } 1997 1998 configs += [ "//build/config:precompiled_headers" ] 1999 2000 public_deps = [ 2001 ":cronet_buildflags", 2002 ":gtest_util", 2003 "//base", 2004 "//base/test:test_support", 2005 "//crypto", 2006 "//net", 2007 "//net/dns:test_support", 2008 "//net/tools/tld_cleanup", 2009 "//net/traffic_annotation:test_support", 2010 "//testing/gmock", 2011 "//testing/gtest", 2012 "//url", 2013 ] 2014 2015 deps = [ 2016 ":quic_test_flags_utils", 2017 ":simple_quic_tools", 2018 "//net/http:transport_security_state_unittest_data_default", 2019 "//third_party/zlib", 2020 ] 2021 2022 allow_circular_includes_from = [ "//net/dns:test_support" ] 2023 2024 # Data dependencies shared with suites other than net_unittests. 2025 data = [ 2026 "data/cert_net_fetcher_impl_unittest/", 2027 "data/dns/", 2028 "data/ov_name_constraints/", 2029 "data/parse_certificate_unittest/", 2030 "data/ssl/", 2031 "data/url_request_unittest/", 2032 "data/websocket/", 2033 ] 2034 2035 if (is_mac) { 2036 frameworks = [ "Security.framework" ] 2037 } 2038 2039 if (is_ios) { 2040 deps += [ ":test_support_bundle_data" ] 2041 } 2042 2043 if (use_nss_certs) { 2044 configs += [ "//build/config/linux/nss" ] 2045 } 2046 2047 if (enable_websockets || (is_cronet_build && !is_ios)) { 2048 sources += [ 2049 "test/spawned_test_server/base_test_server.cc", 2050 "test/spawned_test_server/base_test_server.h", 2051 "test/spawned_test_server/spawned_test_server.h", 2052 ] 2053 } 2054 2055 public_configs = [ ":net_test_config" ] 2056 2057 if (use_remote_test_server) { 2058 sources += [ 2059 "test/spawned_test_server/remote_test_server.cc", 2060 "test/spawned_test_server/remote_test_server.h", 2061 "test/spawned_test_server/remote_test_server_spawner_request.cc", 2062 "test/spawned_test_server/remote_test_server_spawner_request.h", 2063 ] 2064 } else if (!is_ios) { 2065 sources += [ 2066 "test/spawned_test_server/local_test_server.cc", 2067 "test/spawned_test_server/local_test_server.h", 2068 ] 2069 if (is_win) { 2070 sources += [ "test/spawned_test_server/local_test_server_win.cc" ] 2071 } else if (is_posix || is_fuchsia) { 2072 sources += [ "test/spawned_test_server/local_test_server_posix.cc" ] 2073 } 2074 } 2075 2076 if (enable_python_utils) { 2077 sources += [ 2078 "test/python_utils.cc", 2079 "test/python_utils.h", 2080 ] 2081 } 2082 2083 if (use_nss_certs) { 2084 sources += [ "test/cert_test_util_nss.cc" ] 2085 } 2086 2087 if (!disable_file_support) { 2088 sources += [ 2089 "test/url_request/url_request_mock_http_job.cc", 2090 "test/url_request/url_request_mock_http_job.h", 2091 "test/url_request/url_request_test_job_backed_by_file.cc", 2092 "test/url_request/url_request_test_job_backed_by_file.h", 2093 ] 2094 } 2095 2096 if (enable_reporting) { 2097 sources += [ 2098 "network_error_logging/mock_persistent_nel_store.cc", 2099 "network_error_logging/mock_persistent_nel_store.h", 2100 "network_error_logging/network_error_logging_test_util.cc", 2101 "network_error_logging/network_error_logging_test_util.h", 2102 "reporting/mock_persistent_reporting_store.cc", 2103 "reporting/mock_persistent_reporting_store.h", 2104 "reporting/reporting_test_util.cc", 2105 "reporting/reporting_test_util.h", 2106 ] 2107 } 2108} 2109 2110if (!is_ios && !is_android) { 2111 executable("cert_verify_tool") { 2112 testonly = true 2113 sources = [ 2114 "tools/cert_verify_tool/cert_verify_tool.cc", 2115 "tools/cert_verify_tool/cert_verify_tool_util.cc", 2116 "tools/cert_verify_tool/cert_verify_tool_util.h", 2117 "tools/cert_verify_tool/verify_using_cert_verify_proc.cc", 2118 "tools/cert_verify_tool/verify_using_cert_verify_proc.h", 2119 "tools/cert_verify_tool/verify_using_path_builder.cc", 2120 "tools/cert_verify_tool/verify_using_path_builder.h", 2121 ] 2122 2123 deps = [ 2124 ":net", 2125 ":test_support", 2126 "//base", 2127 "//build/win:default_exe_manifest", 2128 ] 2129 2130 if (is_mac) { 2131 frameworks = [ "Security.framework" ] 2132 } 2133 } 2134 2135 proto_library("cert_verify_comparison_tool_proto") { 2136 sources = [ "tools/cert_verify_tool/dumper.proto" ] 2137 2138 visibility = [ ":cert_verify_comparison_tool" ] 2139 } 2140 2141 executable("cert_verify_comparison_tool") { 2142 testonly = true 2143 sources = [ 2144 "tools/cert_verify_tool/cert_verify_comparision_tool.cc", 2145 "tools/cert_verify_tool/cert_verify_tool_util.cc", 2146 "tools/cert_verify_tool/cert_verify_tool_util.h", 2147 "tools/cert_verify_tool/verify_using_cert_verify_proc.cc", 2148 "tools/cert_verify_tool/verify_using_cert_verify_proc.h", 2149 ] 2150 2151 deps = [ 2152 ":cert_verify_comparison_tool_proto", 2153 ":net", 2154 ":test_support", 2155 "//base", 2156 "//build/win:default_exe_manifest", 2157 ] 2158 2159 if (is_mac) { 2160 frameworks = [ "Security.framework" ] 2161 } 2162 } 2163 2164 executable("crash_cache") { 2165 testonly = true 2166 sources = [ "tools/crash_cache/crash_cache.cc" ] 2167 2168 deps = [ 2169 ":net", 2170 ":test_support", 2171 "//base", 2172 "//build/win:default_exe_manifest", 2173 ] 2174 } 2175 2176 executable("hpack_example_generator") { 2177 testonly = true 2178 sources = [ "spdy/fuzzing/hpack_example_generator.cc" ] 2179 2180 deps = [ 2181 ":net", 2182 ":spdy_test_tools", 2183 "//base", 2184 "//build/win:default_exe_manifest", 2185 ] 2186 } 2187 2188 executable("net_watcher") { 2189 testonly = true 2190 sources = [ "tools/net_watcher/net_watcher.cc" ] 2191 deps = [ 2192 ":net", 2193 "//base", 2194 "//build:chromeos_buildflags", 2195 "//build/win:default_exe_manifest", 2196 ] 2197 } 2198 2199 executable("run_testserver") { 2200 testonly = true 2201 sources = [ "tools/testserver/run_testserver.cc" ] 2202 deps = [ 2203 ":test_support", 2204 "//base", 2205 "//base/test:test_support", 2206 "//build/win:default_exe_manifest", 2207 "//testing/gtest", 2208 ] 2209 } 2210 2211 executable("stress_cache") { 2212 testonly = true 2213 sources = [ "tools/stress_cache/stress_cache.cc" ] 2214 2215 deps = [ 2216 ":net", 2217 ":test_support", 2218 "//base", 2219 "//build/win:default_exe_manifest", 2220 ] 2221 } 2222 2223 executable("tld_cleanup") { 2224 sources = [ "tools/tld_cleanup/tld_cleanup.cc" ] 2225 2226 deps = [ 2227 "//base", 2228 "//base:i18n", 2229 "//build/win:default_exe_manifest", 2230 "//net/tools/tld_cleanup", 2231 ] 2232 } 2233} 2234 2235if (use_external_gssapi) { 2236 # In order for the tests to be reliable, these two targets cannot depend on a 2237 # valid GSSAPI library. This is easy to achieve on most platforms. But on 2238 # macOS care must be taken to not depend directly or indirectly on 2239 # GSS.framework. This is suprisingly easy to get wrong since 2240 # Security.framework is such a common dependency and it indirectly depends on 2241 # GSS. 2242 shared_library("test_gssapi") { 2243 testonly = true 2244 sources = [ 2245 "tools/gssapi/gss_import_name.cc", 2246 "tools/gssapi/gss_methods.cc", 2247 "tools/gssapi/gss_types.h", 2248 ] 2249 } 2250 2251 shared_library("test_badgssapi") { 2252 testonly = true 2253 sources = [ 2254 "tools/gssapi/gss_methods.cc", 2255 "tools/gssapi/gss_types.h", 2256 ] 2257 } 2258} 2259 2260if (is_linux || is_chromeos || is_mac) { 2261 executable("cachetool") { 2262 testonly = true 2263 sources = [ "tools/cachetool/cachetool.cc" ] 2264 deps = [ 2265 ":net", 2266 ":test_support", 2267 "//base", 2268 ] 2269 } 2270 2271 executable("content_decoder_tool") { 2272 testonly = true 2273 sources = [ 2274 "tools/content_decoder_tool/content_decoder_tool.cc", 2275 "tools/content_decoder_tool/content_decoder_tool.h", 2276 "tools/content_decoder_tool/content_decoder_tool_bin.cc", 2277 ] 2278 deps = [ 2279 ":net", 2280 ":test_support", 2281 "//base", 2282 "//url", 2283 ] 2284 } 2285} 2286 2287if (is_android) { 2288 generate_jni("net_jni_headers") { 2289 sources = [ 2290 "android/java/src/org/chromium/net/AndroidCertVerifyResult.java", 2291 "android/java/src/org/chromium/net/AndroidKeyStore.java", 2292 "android/java/src/org/chromium/net/AndroidNetworkLibrary.java", 2293 "android/java/src/org/chromium/net/AndroidTrafficStats.java", 2294 "android/java/src/org/chromium/net/DnsStatus.java", 2295 "android/java/src/org/chromium/net/GURLUtils.java", 2296 "android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java", 2297 "android/java/src/org/chromium/net/HttpUtil.java", 2298 "android/java/src/org/chromium/net/NetStringUtil.java", 2299 "android/java/src/org/chromium/net/NetworkActiveNotifier.java", 2300 "android/java/src/org/chromium/net/NetworkChangeNotifier.java", 2301 "android/java/src/org/chromium/net/ProxyChangeListener.java", 2302 "android/java/src/org/chromium/net/X509Util.java", 2303 ] 2304 } 2305} 2306 2307if (is_android || is_linux || is_chromeos) { 2308 executable("disk_cache_memory_test") { 2309 testonly = true 2310 sources = [ "tools/disk_cache_memory_test/disk_cache_memory_test.cc" ] 2311 deps = [ 2312 ":net", 2313 "//base", 2314 ] 2315 } 2316} 2317 2318source_set("spdy_test_tools") { 2319 testonly = true 2320 sources = [ 2321 "spdy/fuzzing/hpack_fuzz_util.cc", 2322 "spdy/fuzzing/hpack_fuzz_util.h", 2323 ] 2324 deps = [ 2325 ":net", 2326 "//base", 2327 "//testing/gmock", 2328 "//testing/gtest", 2329 ] 2330} 2331 2332source_set("quic_test_flags_utils") { 2333 testonly = true 2334 sources = [ 2335 "quic/platform/impl/quic_test_flags_utils.cc", 2336 "quic/platform/impl/quic_test_flags_utils.h", 2337 ] 2338 deps = [ ":net" ] 2339} 2340 2341source_set("quic_test_tools") { 2342 testonly = true 2343 sources = [ 2344 "quic/crypto_test_utils_chromium.cc", 2345 "quic/crypto_test_utils_chromium.h", 2346 "quic/mock_crypto_client_stream.cc", 2347 "quic/mock_crypto_client_stream.h", 2348 "quic/mock_crypto_client_stream_factory.cc", 2349 "quic/mock_crypto_client_stream_factory.h", 2350 "quic/mock_decrypter.cc", 2351 "quic/mock_decrypter.h", 2352 "quic/mock_encrypter.cc", 2353 "quic/mock_encrypter.h", 2354 "quic/mock_quic_context.cc", 2355 "quic/mock_quic_context.h", 2356 "quic/test_task_runner.cc", 2357 "quic/test_task_runner.h", 2358 ] 2359 deps = [ 2360 ":net", 2361 ":simple_quic_tools", 2362 ":test_support", 2363 "//base", 2364 "//crypto:test_support", 2365 "//testing/gmock", 2366 "//testing/gtest", 2367 "//third_party/boringssl", 2368 "//third_party/protobuf:protobuf_lite", 2369 "//third_party/quic_trace:quic_trace_proto", 2370 ] 2371 public_deps = [ 2372 ":quic_test_flags_utils", 2373 "//net/third_party/quiche:quiche_test_support", 2374 ] 2375} 2376 2377source_set("simple_quic_tools") { 2378 testonly = true 2379 sources = [ 2380 "tools/quic/quic_client_message_loop_network_helper.cc", 2381 "tools/quic/quic_client_message_loop_network_helper.h", 2382 "tools/quic/quic_simple_client.cc", 2383 "tools/quic/quic_simple_client.h", 2384 "tools/quic/quic_simple_server.cc", 2385 "tools/quic/quic_simple_server.h", 2386 "tools/quic/quic_simple_server_packet_writer.cc", 2387 "tools/quic/quic_simple_server_packet_writer.h", 2388 "tools/quic/quic_simple_server_session_helper.cc", 2389 "tools/quic/quic_simple_server_session_helper.h", 2390 "tools/quic/quic_simple_server_socket.cc", 2391 "tools/quic/quic_simple_server_socket.h", 2392 "tools/quic/synchronous_host_resolver.cc", 2393 "tools/quic/synchronous_host_resolver.h", 2394 ] 2395 deps = [ 2396 ":net", 2397 "//base", 2398 "//base/third_party/dynamic_annotations", 2399 "//net/third_party/quiche:quiche_tool_support", 2400 "//third_party/protobuf:protobuf_lite", 2401 "//url", 2402 ] 2403 public_deps = [ "//net/third_party/quiche:quiche_tool_support" ] 2404} 2405 2406if (!is_ios) { 2407 executable("quic_client") { 2408 testonly = true 2409 sources = [ "tools/quic/quic_simple_client_bin.cc" ] 2410 deps = [ 2411 ":net", 2412 ":simple_quic_tools", 2413 "//base", 2414 "//build/win:default_exe_manifest", 2415 "//net/third_party/quiche:quic_client_core", 2416 "//url", 2417 ] 2418 } 2419 executable("quic_server") { 2420 testonly = true 2421 sources = [ 2422 "tools/quic/quic_simple_server_backend_factory.cc", 2423 "tools/quic/quic_simple_server_backend_factory.h", 2424 "tools/quic/quic_simple_server_bin.cc", 2425 ] 2426 deps = [ 2427 ":net", 2428 ":simple_quic_tools", 2429 "//base", 2430 "//build/win:default_exe_manifest", 2431 "//net/third_party/quiche:quic_server_core", 2432 "//third_party/boringssl", 2433 "//third_party/protobuf:protobuf_lite", 2434 ] 2435 } 2436 executable("crypto_message_printer") { 2437 testonly = true 2438 sources = [ "tools/quic/crypto_message_printer_bin.cc" ] 2439 deps = [ 2440 ":net", 2441 "//base", 2442 "//build/win:default_exe_manifest", 2443 ] 2444 } 2445} 2446 2447if (is_ios) { 2448 bundle_data_from_filelist("net_test_bundle_data") { 2449 testonly = true 2450 filelist_name = "data/test_bundle_data.filelist" 2451 } 2452} 2453 2454test("net_unittests") { 2455 sources = [ 2456 "base/address_family_unittest.cc", 2457 "base/address_list_unittest.cc", 2458 "base/backoff_entry_serializer_unittest.cc", 2459 "base/backoff_entry_unittest.cc", 2460 "base/chunked_upload_data_stream_unittest.cc", 2461 "base/data_url_unittest.cc", 2462 "base/datagram_buffer_unittest.cc", 2463 "base/elements_upload_data_stream_unittest.cc", 2464 "base/expiring_cache_unittest.cc", 2465 "base/file_stream_unittest.cc", 2466 "base/filename_util_unittest.cc", 2467 "base/host_mapping_rules_unittest.cc", 2468 "base/host_port_pair_unittest.cc", 2469 "base/interval_test.cc", 2470 "base/ip_address_unittest.cc", 2471 "base/ip_endpoint_unittest.cc", 2472 "base/isolation_info_unittest.cc", 2473 "base/lookup_string_in_fixed_set_unittest.cc", 2474 "base/mime_sniffer_unittest.cc", 2475 "base/mime_util_unittest.cc", 2476 "base/net_errors_unittest.cc", 2477 "base/net_string_util_unittest.cc", 2478 "base/network_activity_monitor_unittest.cc", 2479 "base/network_anonymization_key_unittest.cc", 2480 "base/network_change_notifier_unittest.cc", 2481 "base/network_delegate_unittest.cc", 2482 "base/network_interfaces_unittest.cc", 2483 "base/network_isolation_key_unittest.cc", 2484 "base/parse_number_unittest.cc", 2485 "base/port_util_unittest.cc", 2486 "base/prioritized_dispatcher_unittest.cc", 2487 "base/prioritized_task_runner_unittest.cc", 2488 "base/priority_queue_unittest.cc", 2489 "base/proxy_chain_unittest.cc", 2490 "base/proxy_server_unittest.cc", 2491 "base/proxy_string_util_unittest.cc", 2492 "base/registry_controlled_domains/registry_controlled_domain_unittest.cc", 2493 "base/scheme_host_port_matcher_rule_unittest.cc", 2494 "base/scheme_host_port_matcher_unittest.cc", 2495 "base/schemeful_site_unittest.cc", 2496 "base/test_completion_callback_unittest.cc", 2497 "base/test_proxy_delegate.cc", 2498 "base/test_proxy_delegate.h", 2499 "base/upload_bytes_element_reader_unittest.cc", 2500 "base/upload_file_element_reader_unittest.cc", 2501 "base/url_search_params_unittest.cc", 2502 "base/url_util_unittest.cc", 2503 "cert/caching_cert_verifier_unittest.cc", 2504 "cert/cert_and_ct_verifier_unittest.cc", 2505 "cert/cert_database_unittest.cc", 2506 "cert/cert_verifier_unittest.cc", 2507 "cert/cert_verify_proc_builtin_unittest.cc", 2508 "cert/cert_verify_proc_unittest.cc", 2509 "cert/coalescing_cert_verifier_unittest.cc", 2510 "cert/crl_set_unittest.cc", 2511 "cert/ct_log_response_parser_unittest.cc", 2512 "cert/ct_log_verifier_unittest.cc", 2513 "cert/ct_objects_extractor_unittest.cc", 2514 "cert/ct_serialization_unittest.cc", 2515 "cert/ev_root_ca_metadata_unittest.cc", 2516 "cert/internal/cert_issuer_source_aia_unittest.cc", 2517 "cert/internal/cert_issuer_source_sync_unittest.cc", 2518 "cert/internal/revocation_checker_unittest.cc", 2519 "cert/internal/system_trust_store_unittest.cc", 2520 "cert/known_roots_unittest.cc", 2521 "cert/merkle_audit_proof_unittest.cc", 2522 "cert/merkle_tree_leaf_unittest.cc", 2523 "cert/multi_log_ct_verifier_unittest.cc", 2524 "cert/multi_threaded_cert_verifier_unittest.cc", 2525 "cert/signed_certificate_timestamp_unittest.cc", 2526 "cert/symantec_certs_unittest.cc", 2527 "cert/test_root_certs_unittest.cc", 2528 "cert/time_conversions_unittest.cc", 2529 "cert/x509_cert_types_unittest.cc", 2530 "cert/x509_certificate_unittest.cc", 2531 "cert/x509_util_unittest.cc", 2532 "cert_net/cert_net_fetcher_url_request_unittest.cc", 2533 "cookies/canonical_cookie_unittest.cc", 2534 "cookies/cookie_constants_unittest.cc", 2535 "cookies/cookie_deletion_info_unittest.cc", 2536 "cookies/cookie_inclusion_status_unittest.cc", 2537 "cookies/cookie_monster_unittest.cc", 2538 "cookies/cookie_options_unittest.cc", 2539 "cookies/cookie_partition_key_collection_unittest.cc", 2540 "cookies/cookie_partition_key_unittest.cc", 2541 "cookies/cookie_util_unittest.cc", 2542 "cookies/parsed_cookie_unittest.cc", 2543 "cookies/site_for_cookies_unittest.cc", 2544 "cookies/static_cookie_policy_unittest.cc", 2545 "disk_cache/backend_cleanup_tracker_unittest.cc", 2546 "disk_cache/backend_unittest.cc", 2547 "disk_cache/blockfile/addr_unittest.cc", 2548 "disk_cache/blockfile/bitmap_unittest.cc", 2549 "disk_cache/blockfile/block_files_unittest.cc", 2550 "disk_cache/blockfile/mapped_file_unittest.cc", 2551 "disk_cache/blockfile/stats_unittest.cc", 2552 "disk_cache/blockfile/storage_block_unittest.cc", 2553 "disk_cache/cache_util_unittest.cc", 2554 "disk_cache/entry_unittest.cc", 2555 "disk_cache/simple/simple_file_enumerator_unittest.cc", 2556 "disk_cache/simple/simple_file_tracker_unittest.cc", 2557 "disk_cache/simple/simple_index_file_unittest.cc", 2558 "disk_cache/simple/simple_index_unittest.cc", 2559 "disk_cache/simple/simple_test_util.cc", 2560 "disk_cache/simple/simple_test_util.h", 2561 "disk_cache/simple/simple_util_unittest.cc", 2562 "disk_cache/simple/simple_version_upgrade_unittest.cc", 2563 "filter/filter_source_stream_unittest.cc", 2564 "filter/gzip_source_stream_unittest.cc", 2565 "first_party_sets/addition_overlaps_union_find_unittest.cc", 2566 "first_party_sets/first_party_set_entry_override_unittest.cc", 2567 "first_party_sets/first_party_sets_cache_filter_unittest.cc", 2568 "first_party_sets/first_party_sets_context_config_unittest.cc", 2569 "first_party_sets/global_first_party_sets_unittest.cc", 2570 "first_party_sets/local_set_declaration_unittest.cc", 2571 "first_party_sets/sets_mutation_unittest.cc", 2572 "http/alternative_service_unittest.cc", 2573 "http/bidirectional_stream_unittest.cc", 2574 "http/broken_alternative_services_unittest.cc", 2575 "http/http_auth_cache_unittest.cc", 2576 "http/http_auth_challenge_tokenizer_unittest.cc", 2577 "http/http_auth_controller_unittest.cc", 2578 "http/http_auth_filter_unittest.cc", 2579 "http/http_auth_handler_basic_unittest.cc", 2580 "http/http_auth_handler_digest_unittest.cc", 2581 "http/http_auth_handler_factory_unittest.cc", 2582 "http/http_auth_handler_mock.cc", 2583 "http/http_auth_handler_mock.h", 2584 "http/http_auth_handler_unittest.cc", 2585 "http/http_auth_multi_round_parse_unittest.cc", 2586 "http/http_auth_preferences_unittest.cc", 2587 "http/http_auth_unittest.cc", 2588 "http/http_basic_state_unittest.cc", 2589 "http/http_byte_range_unittest.cc", 2590 "http/http_cache_unittest.cc", 2591 "http/http_cache_writers_unittest.cc", 2592 "http/http_chunked_decoder_unittest.cc", 2593 "http/http_content_disposition_unittest.cc", 2594 "http/http_log_util_unittest.cc", 2595 "http/http_network_layer_unittest.cc", 2596 "http/http_network_transaction_unittest.cc", 2597 "http/http_no_vary_search_data_unittest.cc", 2598 "http/http_proxy_client_socket_unittest.cc", 2599 "http/http_proxy_connect_job_unittest.cc", 2600 "http/http_request_headers_unittest.cc", 2601 "http/http_request_info_unittest.cc", 2602 "http/http_response_body_drainer_unittest.cc", 2603 "http/http_response_headers_unittest.cc", 2604 "http/http_response_info_unittest.cc", 2605 "http/http_security_headers_unittest.cc", 2606 "http/http_server_properties_manager_unittest.cc", 2607 "http/http_server_properties_unittest.cc", 2608 "http/http_status_code_unittest.cc", 2609 "http/http_stream_factory_job_controller_unittest.cc", 2610 "http/http_stream_factory_unittest.cc", 2611 "http/http_stream_parser_unittest.cc", 2612 "http/http_stream_request_unittest.cc", 2613 "http/http_transaction_test_util_unittest.cc", 2614 "http/http_util_unittest.cc", 2615 "http/http_vary_data_unittest.cc", 2616 "http/mock_allow_http_auth_preferences.cc", 2617 "http/mock_allow_http_auth_preferences.h", 2618 "http/test_upload_data_stream_not_allow_http1.cc", 2619 "http/test_upload_data_stream_not_allow_http1.h", 2620 "http/transport_security_persister_unittest.cc", 2621 "http/transport_security_state_unittest.cc", 2622 "http/url_security_manager_unittest.cc", 2623 "log/file_net_log_observer_unittest.cc", 2624 "log/net_log_capture_mode_unittest.cc", 2625 "log/net_log_unittest.cc", 2626 "log/net_log_util_unittest.cc", 2627 "log/net_log_values_unittest.cc", 2628 "nqe/effective_connection_type_unittest.cc", 2629 "nqe/event_creator_unittest.cc", 2630 "nqe/network_id_unittest.cc", 2631 "nqe/network_qualities_prefs_manager_unittest.cc", 2632 "nqe/network_quality_estimator_params_unittest.cc", 2633 "nqe/network_quality_estimator_unittest.cc", 2634 "nqe/network_quality_estimator_util_unittest.cc", 2635 "nqe/network_quality_store_unittest.cc", 2636 "nqe/observation_buffer_unittest.cc", 2637 "nqe/socket_watcher_unittest.cc", 2638 "nqe/throughput_analyzer_unittest.cc", 2639 "proxy_resolution/configured_proxy_resolution_service_unittest.cc", 2640 "proxy_resolution/multi_threaded_proxy_resolver_unittest.cc", 2641 "proxy_resolution/network_delegate_error_observer_unittest.cc", 2642 "proxy_resolution/pac_file_decider_unittest.cc", 2643 "proxy_resolution/pac_file_fetcher_impl_unittest.cc", 2644 "proxy_resolution/proxy_bypass_rules_unittest.cc", 2645 "proxy_resolution/proxy_config_unittest.cc", 2646 "proxy_resolution/proxy_info_unittest.cc", 2647 "proxy_resolution/proxy_list_unittest.cc", 2648 "quic/bidirectional_stream_quic_impl_unittest.cc", 2649 "quic/crypto/proof_test_chromium.cc", 2650 "quic/crypto/proof_verifier_chromium_test.cc", 2651 "quic/dedicated_web_transport_http3_client_test.cc", 2652 "quic/mock_quic_data.cc", 2653 "quic/mock_quic_data.h", 2654 "quic/network_connection_unittest.cc", 2655 "quic/platform/impl/quic_chromium_clock_test.cc", 2656 "quic/properties_based_quic_server_info_test.cc", 2657 "quic/quic_address_mismatch_test.cc", 2658 "quic/quic_chromium_alarm_factory_test.cc", 2659 "quic/quic_chromium_client_session_peer.cc", 2660 "quic/quic_chromium_client_session_peer.h", 2661 "quic/quic_chromium_client_session_test.cc", 2662 "quic/quic_chromium_client_stream_test.cc", 2663 "quic/quic_chromium_connection_helper_test.cc", 2664 "quic/quic_clock_skew_detector_test.cc", 2665 "quic/quic_end_to_end_unittest.cc", 2666 "quic/quic_http_stream_test.cc", 2667 "quic/quic_http_utils_test.cc", 2668 "quic/quic_network_transaction_unittest.cc", 2669 "quic/quic_proxy_client_socket_unittest.cc", 2670 "quic/quic_stream_factory_peer.cc", 2671 "quic/quic_stream_factory_peer.h", 2672 "quic/quic_stream_factory_test.cc", 2673 "quic/quic_test_packet_maker.cc", 2674 "quic/quic_test_packet_maker.h", 2675 "quic/quic_test_packet_printer.cc", 2676 "quic/quic_test_packet_printer.h", 2677 "quic/set_quic_flag_test.cc", 2678 "quic/test_quic_crypto_client_config_handle.cc", 2679 "quic/test_quic_crypto_client_config_handle.h", 2680 "socket/client_socket_pool_base_unittest.cc", 2681 "socket/client_socket_pool_unittest.cc", 2682 "socket/connect_job_factory_unittest.cc", 2683 "socket/connect_job_test_util.cc", 2684 "socket/connect_job_test_util.h", 2685 "socket/connect_job_unittest.cc", 2686 "socket/mock_client_socket_pool_manager.cc", 2687 "socket/mock_client_socket_pool_manager.h", 2688 "socket/sequenced_socket_data_unittest.cc", 2689 "socket/socket_bio_adapter_unittest.cc", 2690 "socket/socket_tag_unittest.cc", 2691 "socket/socks5_client_socket_unittest.cc", 2692 "socket/socks_client_socket_unittest.cc", 2693 "socket/socks_connect_job_unittest.cc", 2694 "socket/ssl_client_socket_unittest.cc", 2695 "socket/ssl_connect_job_unittest.cc", 2696 "socket/ssl_server_socket_unittest.cc", 2697 "socket/tcp_client_socket_unittest.cc", 2698 "socket/tcp_server_socket_unittest.cc", 2699 "socket/tcp_socket_unittest.cc", 2700 "socket/transport_client_socket_pool_test_util.cc", 2701 "socket/transport_client_socket_pool_test_util.h", 2702 "socket/transport_client_socket_pool_unittest.cc", 2703 "socket/transport_client_socket_unittest.cc", 2704 "socket/transport_connect_job_unittest.cc", 2705 "socket/udp_socket_unittest.cc", 2706 "socket/websocket_endpoint_lock_manager_unittest.cc", 2707 "socket/websocket_transport_client_socket_pool_unittest.cc", 2708 "spdy/alps_decoder_test.cc", 2709 "spdy/bidirectional_stream_spdy_impl_unittest.cc", 2710 "spdy/buffered_spdy_framer_unittest.cc", 2711 "spdy/fuzzing/hpack_fuzz_util_test.cc", 2712 "spdy/header_coalescer_test.cc", 2713 "spdy/http2_priority_dependencies_unittest.cc", 2714 "spdy/spdy_buffer_unittest.cc", 2715 "spdy/spdy_http_stream_unittest.cc", 2716 "spdy/spdy_http_utils_unittest.cc", 2717 "spdy/spdy_log_util_unittest.cc", 2718 "spdy/spdy_network_transaction_unittest.cc", 2719 "spdy/spdy_proxy_client_socket_unittest.cc", 2720 "spdy/spdy_read_queue_unittest.cc", 2721 "spdy/spdy_session_key_unittest.cc", 2722 "spdy/spdy_session_pool_unittest.cc", 2723 "spdy/spdy_session_test_util.cc", 2724 "spdy/spdy_session_test_util.h", 2725 "spdy/spdy_session_unittest.cc", 2726 "spdy/spdy_stream_test_util.cc", 2727 "spdy/spdy_stream_test_util.h", 2728 "spdy/spdy_stream_unittest.cc", 2729 "spdy/spdy_write_queue_unittest.cc", 2730 "ssl/client_cert_identity_unittest.cc", 2731 "ssl/client_cert_store_unittest-inl.h", 2732 "ssl/ssl_cipher_suite_names_unittest.cc", 2733 "ssl/ssl_client_auth_cache_unittest.cc", 2734 "ssl/ssl_client_session_cache_unittest.cc", 2735 "ssl/ssl_config_service_unittest.cc", 2736 "ssl/ssl_config_unittest.cc", 2737 "ssl/ssl_connection_status_flags_unittest.cc", 2738 "ssl/ssl_platform_key_util_unittest.cc", 2739 "test/embedded_test_server/embedded_test_server_unittest.cc", 2740 "test/embedded_test_server/http_request_unittest.cc", 2741 "test/embedded_test_server/http_response_unittest.cc", 2742 "test/run_all_unittests.cc", 2743 "third_party/nist-pkits/pkits_testcases-inl.h", 2744 "third_party/uri_template/uri_template_test.cc", 2745 "tools/content_decoder_tool/content_decoder_tool.cc", 2746 "tools/content_decoder_tool/content_decoder_tool.h", 2747 "tools/content_decoder_tool/content_decoder_tool_unittest.cc", 2748 "tools/quic/quic_simple_client_test.cc", 2749 "tools/tld_cleanup/tld_cleanup_util_unittest.cc", 2750 "url_request/redirect_info_unittest.cc", 2751 "url_request/redirect_util_unittest.cc", 2752 "url_request/report_sender_unittest.cc", 2753 "url_request/url_request_context_builder_unittest.cc", 2754 "url_request/url_request_filter_unittest.cc", 2755 "url_request/url_request_http_job_unittest.cc", 2756 "url_request/url_request_job_factory_unittest.cc", 2757 "url_request/url_request_job_unittest.cc", 2758 "url_request/url_request_quic_unittest.cc", 2759 "url_request/url_request_throttler_simulation_unittest.cc", 2760 "url_request/url_request_throttler_test_support.cc", 2761 "url_request/url_request_throttler_test_support.h", 2762 "url_request/url_request_throttler_unittest.cc", 2763 "url_request/url_request_unittest.cc", 2764 "url_request/view_cache_helper_unittest.cc", 2765 ] 2766 2767 if (is_android) { 2768 sources += [ 2769 "android/dummy_spnego_authenticator.cc", 2770 "android/dummy_spnego_authenticator.h", 2771 "android/http_auth_negotiate_android_unittest.cc", 2772 "android/network_change_notifier_android_unittest.cc", 2773 "android/network_library_unittest.cc", 2774 "android/traffic_stats_unittest.cc", 2775 "cert/cert_verify_proc_android_unittest.cc", 2776 "proxy_resolution/proxy_config_service_android_unittest.cc", 2777 "ssl/ssl_platform_key_android_unittest.cc", 2778 ] 2779 } 2780 2781 if (is_chromeos_ash && use_nss_certs) { 2782 sources += [ 2783 "cert/nss_cert_database_chromeos_unittest.cc", 2784 "cert/nss_profile_filter_chromeos_unittest.cc", 2785 ] 2786 } 2787 2788 if (is_linux) { 2789 sources += [ 2790 "base/network_change_notifier_linux_unittest.cc", 2791 "proxy_resolution/proxy_config_service_linux_unittest.cc", 2792 ] 2793 } 2794 2795 if (is_linux || is_chromeos) { 2796 sources += [ 2797 "base/address_tracker_linux_unittest.cc", 2798 "base/network_interfaces_linux_unittest.cc", 2799 ] 2800 } 2801 2802 if (is_mac) { 2803 sources += [ 2804 "cert/internal/trust_store_mac_unittest.cc", 2805 "ssl/client_cert_store_mac_unittest.cc", 2806 "ssl/ssl_platform_key_mac_unittest.cc", 2807 ] 2808 } 2809 2810 if (is_apple) { 2811 sources += [ 2812 "cert/x509_util_apple_unittest.cc", 2813 "proxy_resolution/proxy_server_util_mac_unittest.cc", 2814 ] 2815 } 2816 2817 if (is_win) { 2818 sources += [ 2819 "base/network_change_notifier_win_unittest.cc", 2820 "base/network_interfaces_win_unittest.cc", 2821 "http/http_auth_sspi_win_unittest.cc", 2822 "http/mock_sspi_library_win.cc", 2823 "http/mock_sspi_library_win.h", 2824 "proxy_resolution/win/dhcp_pac_file_adapter_fetcher_win_unittest.cc", 2825 "proxy_resolution/win/dhcp_pac_file_fetcher_win_unittest.cc", 2826 "proxy_resolution/win/proxy_config_service_win_unittest.cc", 2827 "proxy_resolution/win/windows_system_proxy_resolution_service_unittest.cc", 2828 "ssl/client_cert_store_win_unittest.cc", 2829 "ssl/ssl_platform_key_win_unittest.cc", 2830 ] 2831 } 2832 2833 configs += [ "//build/config:precompiled_headers" ] 2834 defines = [] 2835 2836 deps = [ 2837 ":cronet_buildflags", 2838 ":net", 2839 ":preload_decoder", 2840 ":quic_test_tools", 2841 ":simple_quic_tools", 2842 ":spdy_test_tools", 2843 ":test_support", 2844 "//base", 2845 "//base:i18n", 2846 "//base/third_party/dynamic_annotations", 2847 "//build:chromeos_buildflags", 2848 "//crypto", 2849 "//crypto:test_support", 2850 "//net/base/registry_controlled_domains", 2851 "//net/base/registry_controlled_domains:lookup_strings_test_sets", 2852 "//net/dns:tests", 2853 "//net/dns/public:tests", 2854 "//net/http:transport_security_state_unittest_data", 2855 "//net/http:transport_security_state_unittest_data_default", 2856 "//net/third_party/quiche:quiche_tests", 2857 "//net/tools/huffman_trie:huffman_trie_generator_sources", 2858 "//testing/gmock", 2859 "//testing/gtest", 2860 "//third_party/anonymous_tokens:anonymous_tokens_tests", 2861 "//third_party/protobuf:protobuf_lite", 2862 "//third_party/zlib", 2863 "//url", 2864 "//url:buildflags", 2865 ] 2866 2867 if (!is_cronet_build) { 2868 sources += [ 2869 "extras/shared_dictionary/shared_dictionary_isolation_key_unittest.cc", 2870 "extras/sqlite/sqlite_persistent_cookie_store_unittest.cc", 2871 "extras/sqlite/sqlite_persistent_shared_dictionary_store_unittest.cc", 2872 "log/trace_net_log_observer_unittest.cc", 2873 ] 2874 2875 deps += [ 2876 ":extras", 2877 "//components/sqlite_proto", 2878 "//sql", 2879 "//sql:test_support", 2880 ] 2881 } 2882 2883 if (enable_websockets) { 2884 deps += [ "//net/server:tests" ] 2885 } 2886 2887 if (is_posix) { 2888 sources += [ "base/sockaddr_util_posix_unittest.cc" ] 2889 } 2890 2891 if (is_android || is_chromeos_ash) { 2892 sources += [ "base/network_change_notifier_passive_unittest.cc" ] 2893 } 2894 2895 if (enable_reporting) { 2896 sources += [ 2897 "network_error_logging/mock_persistent_nel_store_unittest.cc", 2898 "network_error_logging/network_error_logging_service_unittest.cc", 2899 "reporting/mock_persistent_reporting_store_unittest.cc", 2900 "reporting/reporting_browsing_data_remover_unittest.cc", 2901 "reporting/reporting_cache_unittest.cc", 2902 "reporting/reporting_delivery_agent_unittest.cc", 2903 "reporting/reporting_endpoint_manager_unittest.cc", 2904 "reporting/reporting_garbage_collector_unittest.cc", 2905 "reporting/reporting_header_parser_unittest.cc", 2906 "reporting/reporting_network_change_observer_unittest.cc", 2907 "reporting/reporting_service_unittest.cc", 2908 "reporting/reporting_uploader_unittest.cc", 2909 ] 2910 if (!is_cronet_build) { 2911 sources += [ 2912 "extras/sqlite/sqlite_persistent_reporting_and_nel_store_unittest.cc", 2913 ] 2914 } 2915 } 2916 2917 data = [ 2918 "data/cache_tests/", 2919 "data/certificate_policies_unittest/", 2920 "data/cert_issuer_source_aia_unittest/", 2921 "data/cert_issuer_source_static_unittest/", 2922 "data/crl_unittest/", 2923 "data/embedded_test_server/", 2924 "data/file_stream_unittest/", 2925 "data/filter_unittests/", 2926 "data/gencerts/", 2927 "data/name_constraints_unittest/", 2928 "data/ocsp_unittest/", 2929 "data/pac_file_fetcher_unittest/", 2930 "data/path_builder_unittest/", 2931 "data/quic_http_response_cache_data/", 2932 "data/quic_http_response_cache_data_with_push/", 2933 "data/spdy_tests/", 2934 "data/test.html", 2935 "data/verify_certificate_chain_unittest/", 2936 "data/verify_name_match_unittest/", 2937 "data/verify_signed_data_unittest/", 2938 ] 2939 data_deps = [ 2940 "third_party/nist-pkits/", 2941 "//testing/buildbot/filters:net_unittests_filters", 2942 ] 2943 2944 if (is_linux || is_chromeos || is_mac || is_win || is_fuchsia) { 2945 deps += [ "//third_party/pywebsocket3/" ] 2946 data_deps += [ "//third_party/pywebsocket3/" ] 2947 data += [ 2948 "tools/testserver/", 2949 "//third_party/pywebsocket3/src/mod_pywebsocket/", 2950 ] 2951 } 2952 2953 if (is_linux || is_chromeos) { 2954 sources += [ "tools/quic/quic_simple_server_test.cc" ] 2955 } 2956 2957 if (is_apple) { 2958 sources += [ "base/mac/url_conversions_unittest.mm" ] 2959 } 2960 2961 if (is_mac) { 2962 frameworks = [ "Security.framework" ] 2963 } 2964 2965 if (!is_win) { 2966 sources += [ 2967 "http/http_auth_handler_ntlm_portable_unittest.cc", 2968 "ntlm/ntlm_buffer_reader_unittest.cc", 2969 "ntlm/ntlm_buffer_writer_unittest.cc", 2970 "ntlm/ntlm_client_unittest.cc", 2971 "ntlm/ntlm_test_data.h", 2972 "ntlm/ntlm_unittest.cc", 2973 ] 2974 } 2975 2976 if (enable_python_utils) { 2977 sources += [ "test/python_utils_unittest.cc" ] 2978 } 2979 2980 if (is_fuchsia) { 2981 use_test_server = true 2982 deps += [ 2983 "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces_hlcpp", 2984 "//third_party/fuchsia-sdk/sdk/pkg/fidl_cpp", 2985 ] 2986 sources += [ 2987 "base/fuchsia/network_interface_cache_unittest.cc", 2988 "base/network_change_notifier_fuchsia_unittest.cc", 2989 ] 2990 additional_manifest_fragments = 2991 [ "//build/config/fuchsia/test/network.shard.test-cml" ] 2992 } 2993 2994 if (use_nss_certs) { 2995 sources += [ 2996 "cert/internal/system_trust_store_nss_unittest.cc", 2997 "cert/internal/trust_store_nss_unittest.cc", 2998 "cert/nss_cert_database_unittest.cc", 2999 "cert/x509_util_nss_unittest.cc", 3000 ] 3001 if (!is_castos) { 3002 sources += [ 3003 "ssl/client_cert_store_nss_unittest.cc", 3004 "ssl/ssl_platform_key_nss_unittest.cc", 3005 ] 3006 } 3007 configs += [ "//build/config/linux/nss" ] 3008 } 3009 3010 if (use_external_gssapi) { 3011 sources += [ 3012 "http/http_auth_gssapi_posix_unittest.cc", 3013 "http/mock_gssapi_library_posix.cc", 3014 "http/mock_gssapi_library_posix.h", 3015 ] 3016 data_deps += [ 3017 ":test_badgssapi", 3018 ":test_gssapi", 3019 ] 3020 } 3021 3022 if (use_kerberos) { 3023 sources += [ "http/http_auth_handler_negotiate_unittest.cc" ] 3024 } 3025 3026 if (enable_websockets) { 3027 sources += [ 3028 "websockets/websocket_basic_handshake_stream_test.cc", 3029 "websockets/websocket_basic_stream_adapters_test.cc", 3030 "websockets/websocket_basic_stream_test.cc", 3031 "websockets/websocket_channel_test.cc", 3032 "websockets/websocket_deflate_parameters_test.cc", 3033 "websockets/websocket_deflate_predictor_impl_test.cc", 3034 "websockets/websocket_deflate_stream_test.cc", 3035 "websockets/websocket_deflater_test.cc", 3036 "websockets/websocket_errors_test.cc", 3037 "websockets/websocket_extension_parser_test.cc", 3038 "websockets/websocket_extension_test.cc", 3039 "websockets/websocket_frame_parser_test.cc", 3040 "websockets/websocket_frame_test.cc", 3041 "websockets/websocket_handshake_challenge_test.cc", 3042 "websockets/websocket_handshake_stream_create_helper_test.cc", 3043 "websockets/websocket_inflater_test.cc", 3044 "websockets/websocket_stream_cookie_test.cc", 3045 "websockets/websocket_stream_create_test_base.cc", 3046 "websockets/websocket_stream_create_test_base.h", 3047 "websockets/websocket_stream_test.cc", 3048 "websockets/websocket_test_util.cc", 3049 "websockets/websocket_test_util.h", 3050 ] 3051 3052 if (!is_ios) { 3053 # TODO(crbug.com/1281277): iOS does not have support for the spawned test 3054 # server, which is used by this test. The long term plan is to add 3055 # websocket support to the embedded test server and when that happens, 3056 # this test could be enabled. 3057 sources += [ "websockets/websocket_end_to_end_test.cc" ] 3058 } 3059 } 3060 3061 if (!disable_file_support) { 3062 sources += [ 3063 "base/directory_lister_unittest.cc", 3064 "base/directory_listing_unittest.cc", 3065 "test/url_request/url_request_test_job_backed_by_file_unittest.cc", 3066 ] 3067 } 3068 3069 if (enable_built_in_dns) { 3070 sources += [ "url_request/http_with_dns_over_https_unittest.cc" ] 3071 } 3072 3073 if (is_ios) { 3074 bundle_deps = [ 3075 ":net_test_bundle_data", 3076 "//net/third_party/nist-pkits:test_bundle_data", 3077 ] 3078 } 3079 3080 if (enable_unix_sockets) { 3081 sources += [ 3082 "socket/unix_domain_client_socket_posix_unittest.cc", 3083 "socket/unix_domain_server_socket_posix_unittest.cc", 3084 ] 3085 } 3086 3087 # Use getifaddrs() on POSIX platforms, except Linux. 3088 if (is_posix && !is_linux && !is_chromeos) { 3089 sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ] 3090 } 3091 3092 # Unit tests that aren't supported by the current ICU alternatives on Android. 3093 if (is_android && use_platform_icu_alternatives) { 3094 sources -= [ 3095 "base/filename_util_unittest.cc", 3096 "base/url_util_unittest.cc", 3097 "cert/x509_certificate_unittest.cc", 3098 "url_request/url_request_job_unittest.cc", 3099 ] 3100 deps += [ "//url:url_java" ] 3101 } 3102 3103 # Unit tests that are not supported by the current ICU alternatives on iOS. 3104 if (is_ios && use_platform_icu_alternatives) { 3105 sources -= [ 3106 "base/filename_util_unittest.cc", 3107 "base/url_util_unittest.cc", 3108 "cert/x509_certificate_unittest.cc", 3109 "http/http_auth_handler_basic_unittest.cc", 3110 "http/http_auth_handler_digest_unittest.cc", 3111 "http/http_auth_handler_factory_unittest.cc", 3112 "http/http_auth_unittest.cc", 3113 "http/http_content_disposition_unittest.cc", 3114 "http/http_network_transaction_unittest.cc", 3115 "spdy/spdy_network_transaction_unittest.cc", 3116 "spdy/spdy_proxy_client_socket_unittest.cc", 3117 "url_request/url_request_job_unittest.cc", 3118 "url_request/url_request_unittest.cc", 3119 ] 3120 } 3121 3122 if (!disable_brotli_filter) { 3123 sources += [ "filter/brotli_source_stream_unittest.cc" ] 3124 } 3125 3126 if (!disable_zstd_filter) { 3127 sources += [ "filter/zstd_source_stream_unittest.cc" ] 3128 } 3129 3130 if (is_android) { 3131 data_deps += [ "//net/tools/testserver:testserver_py" ] 3132 deps += [ 3133 ":net_jni_headers", 3134 "//base:base_java_unittest_support", 3135 "//net/android:net_java", 3136 "//net/android:net_java_test_support", 3137 "//net/android:net_test_support_jni", 3138 "//net/android:net_test_support_provider_java", 3139 "//net/android:net_test_support_provider_jni", 3140 "//net/android:net_tests_java", 3141 "//net/android:net_tests_jni", 3142 "//net/android:net_unittests_apk_resources", 3143 3144 # TODO(mmenke): This depends on test_support_base, which depends on 3145 # icu. Figure out a way to remove that dependency. 3146 "//testing/android/native_test:native_test_native_code", 3147 ] 3148 android_manifest = "//net/android/unittest_support/AndroidManifest.xml" 3149 3150 sources += [ 3151 "base/address_tracker_linux_unittest.cc", 3152 "base/network_interfaces_linux_unittest.cc", 3153 ] 3154 shard_timeout = 300 3155 } 3156 3157 if (is_win) { 3158 libs = [ 3159 "iphlpapi.lib", 3160 "ncrypt.lib", 3161 ] 3162 } 3163 3164 if (chrome_root_store_supported) { 3165 sources += [ "cert/internal/trust_store_chrome_unittest.cc" ] 3166 deps += [ "//net/data/ssl/chrome_root_store:gen_root_store_test_inc" ] 3167 3168 if (is_win) { 3169 sources += [ "cert/internal/trust_store_win_unittest.cc" ] 3170 sources += [ "cert/internal/path_builder_trust_store_win_unittest.cc" ] 3171 libs += [ "crypt32.lib" ] 3172 } 3173 } 3174 3175 # Include transport_security_state_generator tests. 3176 if (host_toolchain == current_toolchain) { 3177 deps += [ 3178 "//net/tools/huffman_trie:huffman_trie_generator_test_sources", 3179 "//net/tools/transport_security_state_generator:transport_security_state_generator_test_sources", 3180 ] 3181 } 3182} 3183 3184# !is_android && !is_win && !is_mac 3185if (!is_ios) { 3186 # TODO(crbug.com/594965): this should be converted to "app" template and 3187 # enabled on iOS too. 3188 test("net_perftests") { 3189 sources = [ 3190 "base/mime_sniffer_perftest.cc", 3191 "cookies/cookie_monster_perftest.cc", 3192 "disk_cache/disk_cache_perftest.cc", 3193 "extras/sqlite/sqlite_persistent_cookie_store_perftest.cc", 3194 "socket/udp_socket_perftest.cc", 3195 "spdy/spdy_http_utils_perftest.cc", 3196 "url_request/url_request_quic_perftest.cc", 3197 ] 3198 3199 deps = [ 3200 ":extras", 3201 ":net", 3202 ":quic_test_tools", 3203 ":simple_quic_tools", 3204 ":test_support", 3205 "//base", 3206 "//base:i18n", 3207 "//base/test:test_support_perf", 3208 "//testing/gtest", 3209 "//testing/perf", 3210 "//third_party/google_benchmark:google_benchmark", 3211 "//url", 3212 ] 3213 data_deps = [ 3214 # Needed for isolate script to execute. 3215 "//testing:run_perf_test", 3216 ] 3217 if (enable_websockets) { 3218 sources += [ "websockets/websocket_frame_perftest.cc" ] 3219 } 3220 if (is_win) { 3221 deps += [ "//build/win:default_exe_manifest" ] 3222 } 3223 } 3224} 3225 3226# Fuzzers 3227 3228# This has a global (InitGlobals) that must always be linked in, so 3229# must be a source set instead of a static library. 3230if (use_fuzzing_engine) { 3231 # fuzzer_test targets are no-op when |use_fuzzing_engine| is false. Fuzzer 3232 # support targets should be disabled too. 3233 source_set("net_fuzzer_test_support") { 3234 testonly = true 3235 3236 sources = [ 3237 "base/fuzzer_test_support.cc", 3238 "filter/fuzzed_source_stream.cc", 3239 "filter/fuzzed_source_stream.h", 3240 "socket/fuzzed_datagram_client_socket.cc", 3241 "socket/fuzzed_datagram_client_socket.h", 3242 "socket/fuzzed_server_socket.cc", 3243 "socket/fuzzed_server_socket.h", 3244 "socket/fuzzed_socket.cc", 3245 "socket/fuzzed_socket.h", 3246 "socket/fuzzed_socket_factory.cc", 3247 "socket/fuzzed_socket_factory.h", 3248 ] 3249 public_deps = [ 3250 "//base/test:test_support", 3251 "//net/dns:fuzzer_test_support", 3252 ] 3253 deps = [ 3254 "//base", 3255 "//base:i18n", 3256 "//net", 3257 ] 3258 data = [ 3259 "data/fuzzer_data", 3260 "data/fuzzer_dictionaries", 3261 ] 3262 allow_circular_includes_from = [ "//net/dns:fuzzer_test_support" ] 3263 } 3264} 3265 3266fuzzer_test("host_port_pair_fuzzer") { 3267 sources = [ "base/host_port_pair_fuzzer.cc" ] 3268 deps = [ "//net" ] 3269} 3270 3271proto_library("disk_cache_lpm_fuzzer_proto") { 3272 sources = [ "disk_cache/disk_cache_fuzzer.proto" ] 3273} 3274 3275fuzzer_test("disk_cache_lpm_fuzzer") { 3276 sources = [ "disk_cache/disk_cache_fuzzer.cc" ] 3277 deps = [ 3278 ":disk_cache_lpm_fuzzer_proto", 3279 ":test_support", 3280 "//base", 3281 "//net", 3282 "//third_party/libprotobuf-mutator", 3283 ] 3284} 3285 3286proto_library("backoff_entry_serializer_fuzzer_input") { 3287 proto_in_dir = "//" 3288 sources = [ "base/backoff_entry_serializer_fuzzer_input.proto" ] 3289 link_deps = [ "//testing/libfuzzer/proto:json_proto" ] 3290} 3291 3292fuzzer_test("net_backoff_entry_serializer_fuzzer") { 3293 sources = [ "base/backoff_entry_serializer_fuzzer.cc" ] 3294 deps = [ 3295 ":backoff_entry_serializer_fuzzer_input", 3296 ":net_fuzzer_test_support", 3297 ":test_support", 3298 "//base", 3299 "//net", 3300 "//testing/libfuzzer/proto:json_proto", 3301 "//testing/libfuzzer/proto:json_proto_converter", 3302 "//third_party/libprotobuf-mutator", 3303 ] 3304} 3305 3306fuzzer_test("net_data_url_fuzzer") { 3307 sources = [ "base/data_url_fuzzer.cc" ] 3308 deps = [ 3309 ":net_fuzzer_test_support", 3310 ":test_support", 3311 "//base", 3312 "//net", 3313 ] 3314 dict = "data/fuzzer_dictionaries/net_data_url_fuzzer.dict" 3315 3316 # IsTokenChar() and ToLowerASCII() are surprisingly slow in instrumented builds. 3317 libfuzzer_options = [ "max_len=100000" ] 3318} 3319 3320fuzzer_test("net_mime_sniffer_fuzzer") { 3321 sources = [ "base/mime_sniffer_fuzzer.cc" ] 3322 deps = [ 3323 ":net_fuzzer_test_support", 3324 "//base", 3325 "//net", 3326 ] 3327 dict = "data/fuzzer_dictionaries/net_mime_sniffer_fuzzer.dict" 3328} 3329 3330fuzzer_test("net_parse_proxy_list_pac_fuzzer") { 3331 sources = [ "proxy_resolution/parse_proxy_list_pac_fuzzer.cc" ] 3332 deps = [ 3333 ":net_fuzzer_test_support", 3334 "//net", 3335 ] 3336} 3337 3338fuzzer_test("net_parse_proxy_list_fuzzer") { 3339 sources = [ "proxy_resolution/parse_proxy_list_fuzzer.cc" ] 3340 deps = [ 3341 ":net_fuzzer_test_support", 3342 "//net", 3343 ] 3344} 3345 3346fuzzer_test("net_parse_proxy_bypass_rules_fuzzer") { 3347 sources = [ "proxy_resolution/parse_proxy_bypass_rules_fuzzer.cc" ] 3348 3349 libfuzzer_options = [ 3350 # The proxy bypass rules aren't very complicated, so this is more than 3351 # enough to explore the grammar. Allowing the length to become too large 3352 # can result in test timeouts (https://crbug.com/813619). 3353 "max_len=512", 3354 ] 3355 3356 deps = [ 3357 ":net_fuzzer_test_support", 3358 "//net", 3359 ] 3360} 3361 3362fuzzer_test("net_parse_proxy_rules_fuzzer") { 3363 sources = [ "proxy_resolution/parse_proxy_rules_fuzzer.cc" ] 3364 deps = [ 3365 ":net_fuzzer_test_support", 3366 "//net", 3367 ] 3368 dict = "data/fuzzer_dictionaries/net_parse_proxy_bypass_rules_fuzzer.dict" 3369} 3370 3371fuzzer_test("net_get_domain_and_registry_fuzzer") { 3372 sources = 3373 [ "base/registry_controlled_domains/get_domain_and_registry_fuzzer.cc" ] 3374 deps = [ 3375 ":net_fuzzer_test_support", 3376 "//base", 3377 "//net", 3378 ] 3379 dict = "data/fuzzer_dictionaries/net_get_domain_and_registry_fuzzer.dict" 3380} 3381 3382fuzzer_test("net_lookup_string_in_fixed_set_fuzzer") { 3383 sources = [ "base/lookup_string_in_fixed_set_fuzzer.cc" ] 3384 deps = [ 3385 ":net_fuzzer_test_support", 3386 "//base", 3387 "//net", 3388 "//net/base/registry_controlled_domains:lookup_strings_test_sets", 3389 ] 3390 dict = "data/fuzzer_dictionaries/net_get_domain_and_registry_fuzzer.dict" 3391} 3392 3393fuzzer_test("net_base_schemeful_site_fuzzer") { 3394 sources = [ "base/schemeful_site_fuzzer.cc" ] 3395 deps = [ 3396 ":net_fuzzer_test_support", 3397 "//base", 3398 "//net", 3399 "//testing/libfuzzer/proto:url_proto", 3400 "//testing/libfuzzer/proto:url_proto_converter", 3401 "//third_party/libprotobuf-mutator", 3402 ] 3403} 3404 3405fuzzer_test("net_cert_ct_decode_signed_certificate_timestamp_fuzzer") { 3406 sources = [ "cert/decode_signed_certificate_timestamp_fuzzer.cc" ] 3407 deps = [ 3408 ":net_fuzzer_test_support", 3409 "//base", 3410 "//net", 3411 ] 3412} 3413 3414fuzzer_test("net_canonical_cookie_fuzzer") { 3415 sources = [ "cookies/canonical_cookie_fuzzer.cc" ] 3416 deps = [ 3417 ":net_fuzzer_test_support", 3418 "//net", 3419 ] 3420 dict = "data/fuzzer_dictionaries/net_cookies_fuzzer.dict" 3421 seed_corpus = "data/fuzzer_data/cookies/" 3422} 3423 3424fuzzer_test("net_cookie_partition_key_fuzzer") { 3425 sources = [ "cookies/cookie_partition_key_fuzzer.cc" ] 3426 deps = [ 3427 ":net_fuzzer_test_support", 3428 "//net", 3429 ] 3430} 3431 3432fuzzer_test("net_cookie_util_parsing_fuzzer") { 3433 sources = [ "cookies/cookie_util_parsing_fuzzer.cc" ] 3434 deps = [ 3435 ":net_fuzzer_test_support", 3436 "//net", 3437 ] 3438 dict = "data/fuzzer_dictionaries/net_cookies_fuzzer.dict" 3439 libfuzzer_options = [ "max_len=8192" ] 3440 seed_corpus = "data/fuzzer_data/cookies/" 3441} 3442 3443fuzzer_test("net_parse_cookie_line_fuzzer") { 3444 sources = [ "cookies/parse_cookie_line_fuzzer.cc" ] 3445 deps = [ 3446 ":net_fuzzer_test_support", 3447 "//net", 3448 ] 3449 dict = "data/fuzzer_dictionaries/net_cookies_fuzzer.dict" 3450 seed_corpus = "data/fuzzer_data/cookies/" 3451} 3452 3453fuzzer_test("net_http_stream_parser_fuzzer") { 3454 sources = [ "http/http_stream_parser_fuzzer.cc" ] 3455 deps = [ 3456 ":net_fuzzer_test_support", 3457 ":test_support", 3458 "//base", 3459 "//net", 3460 ] 3461 dict = "data/fuzzer_dictionaries/net_http_stream_parser_fuzzer.dict" 3462} 3463 3464if (!is_win) { 3465 fuzzer_test("net_ntlm_ntlm_client_fuzzer") { 3466 sources = [ 3467 "ntlm/ntlm_client_fuzzer.cc", 3468 "ntlm/ntlm_test_data.h", 3469 ] 3470 deps = [ 3471 ":net_fuzzer_test_support", 3472 ":test_support", 3473 "//base", 3474 "//net", 3475 ] 3476 dict = "data/fuzzer_dictionaries/net_ntlm_ntlm_client_fuzzer.dict" 3477 seed_corpus = "data/fuzzer_data/ntlm_client_fuzzer/" 3478 } 3479} 3480 3481if (!disable_brotli_filter) { 3482 fuzzer_test("net_brotli_source_stream_fuzzer") { 3483 sources = [ "filter/brotli_source_stream_fuzzer.cc" ] 3484 deps = [ 3485 ":net_fuzzer_test_support", 3486 ":test_support", 3487 "//base", 3488 "//net", 3489 ] 3490 } 3491} 3492 3493if (!disable_zstd_filter) { 3494 fuzzer_test("net_zstd_source_stream_fuzzer") { 3495 sources = [ "filter/zstd_source_stream_fuzzer.cc" ] 3496 deps = [ 3497 ":net_fuzzer_test_support", 3498 ":test_support", 3499 "//base", 3500 "//net", 3501 ] 3502 } 3503} 3504 3505fuzzer_test("net_gzip_source_stream_fuzzer") { 3506 sources = [ "filter/gzip_source_stream_fuzzer.cc" ] 3507 deps = [ 3508 ":net_fuzzer_test_support", 3509 ":test_support", 3510 "//base", 3511 "//net", 3512 ] 3513} 3514 3515fuzzer_test("net_crl_set_fuzzer") { 3516 sources = [ "cert/crl_set_fuzzer.cc" ] 3517 deps = [ 3518 ":net_fuzzer_test_support", 3519 ":test_support", 3520 "//base", 3521 "//net", 3522 ] 3523 seed_corpus = "data/fuzzer_data/net_crl_set_fuzzer/" 3524} 3525 3526fuzzer_test("net_spdy_headers_to_http_response_headers_fuzzer") { 3527 sources = [ "spdy/spdy_headers_to_http_response_headers_fuzzer.cc" ] 3528 deps = [ 3529 ":net_fuzzer_test_support", 3530 "//base", 3531 "//net", 3532 ] 3533 dict = "data/fuzzer_dictionaries/net_http_stream_parser_fuzzer.dict" 3534 libfuzzer_options = [ "max_len = 512" ] 3535} 3536 3537fuzzer_test("net_unescape_url_component_fuzzer") { 3538 sources = [ "base/unescape_url_component_fuzzer.cc" ] 3539 deps = [ 3540 ":net_fuzzer_test_support", 3541 "//base", 3542 "//net", 3543 ] 3544 dict = "data/fuzzer_dictionaries/unescape_url_component_fuzzer.dict" 3545 libfuzzer_options = [ "max_len = 2048" ] 3546} 3547 3548fuzzer_test("net_websocket_deflate_stream_fuzzer") { 3549 sources = [ "websockets/websocket_deflate_stream_fuzzer.cc" ] 3550 deps = [ 3551 ":net_fuzzer_test_support", 3552 "//net", 3553 ] 3554 dict = "data/fuzzer_dictionaries/net_websocket_frame_parser_fuzzer.dict" 3555 libfuzzer_options = [ "max_len=512" ] 3556} 3557 3558fuzzer_test("net_websocket_extension_parser_fuzzer") { 3559 sources = [ "websockets/websocket_extension_parser_fuzzer.cc" ] 3560 deps = [ 3561 ":net_fuzzer_test_support", 3562 "//net", 3563 ] 3564 dict = "data/fuzzer_dictionaries/net_websocket_extension_parser_fuzzer.dict" 3565 libfuzzer_options = [ "max_len = 256" ] 3566} 3567 3568fuzzer_test("net_websocket_frame_parser_fuzzer") { 3569 sources = [ "websockets/websocket_frame_parser_fuzzer.cc" ] 3570 deps = [ 3571 ":net_fuzzer_test_support", 3572 "//net", 3573 ] 3574 dict = "data/fuzzer_dictionaries/net_websocket_frame_parser_fuzzer.dict" 3575 libfuzzer_options = [ "max_len=256" ] 3576} 3577 3578if (use_fuzzing_engine) { 3579 # This is a separate target because //net/server:http_server 3580 # wants to limit its visibility to a select number of target, but the 3581 # "fuzzer_test" template expands on iOS to many targets that need to 3582 # have the "deps" information propagated in order to support "fat" 3583 # binaries. 3584 source_set("net_web_socket_encoder_fuzzer_deps") { 3585 testonly = true 3586 visibility = [ 3587 ":net_web_socket_encoder_fuzzer", 3588 ":net_web_socket_encoder_fuzzer_executable", 3589 ":run_net_web_socket_encoder_fuzzer", 3590 ] 3591 public_deps = [ 3592 ":net_fuzzer_test_support", 3593 "//net", 3594 "//net/server:http_server", 3595 ] 3596 } 3597 3598 fuzzer_test("net_web_socket_encoder_fuzzer") { 3599 sources = [ "server/web_socket_encoder_fuzzer.cc" ] 3600 deps = [ ":net_web_socket_encoder_fuzzer_deps" ] 3601 libfuzzer_options = [ "max_len=256" ] 3602 } 3603} 3604 3605fuzzer_test("net_http_chunked_decoder_fuzzer") { 3606 sources = [ "http/http_chunked_decoder_fuzzer.cc" ] 3607 deps = [ 3608 ":net_fuzzer_test_support", 3609 "//net", 3610 ] 3611 dict = "data/fuzzer_dictionaries/http_chunked_decoder_fuzzer.dict" 3612} 3613 3614fuzzer_test("net_http_auth_handler_basic_fuzzer") { 3615 sources = [ "http/http_auth_handler_basic_fuzzer.cc" ] 3616 dict = "data/fuzzer_dictionaries/net_http_auth_handler_basic_fuzzer.dict" 3617 deps = [ 3618 ":net_fuzzer_test_support", 3619 ":test_support", 3620 "//net", 3621 ] 3622} 3623 3624fuzzer_test("net_http_auth_handler_digest_fuzzer") { 3625 sources = [ "http/http_auth_handler_digest_fuzzer.cc" ] 3626 dict = "data/fuzzer_dictionaries/net_http_auth_handler_digest_fuzzer.dict" 3627 deps = [ 3628 ":net_fuzzer_test_support", 3629 ":test_support", 3630 "//net", 3631 ] 3632} 3633 3634fuzzer_test("net_http_auth_handler_fuzzer") { 3635 sources = [ "http/http_auth_handler_fuzzer.cc" ] 3636 deps = [ 3637 ":net_fuzzer_test_support", 3638 ":test_support", 3639 "//base", 3640 "//net", 3641 ] 3642} 3643 3644fuzzer_test("net_http_content_disposition_fuzzer") { 3645 sources = [ "http/http_content_disposition_fuzzer.cc" ] 3646 dict = "data/fuzzer_dictionaries/net_http_content_disposition_fuzzer.dict" 3647 deps = [ 3648 ":net_fuzzer_test_support", 3649 "//net", 3650 ] 3651} 3652 3653fuzzer_test("net_http_proxy_client_socket_fuzzer") { 3654 sources = [ "http/http_proxy_client_socket_fuzzer.cc" ] 3655 deps = [ 3656 ":net_fuzzer_test_support", 3657 ":test_support", 3658 "//base", 3659 "//net", 3660 ] 3661 dict = "data/fuzzer_dictionaries/net_http_proxy_client_socket_fuzzer.dict" 3662} 3663 3664fuzzer_test("net_structured_headers_fuzzer") { 3665 sources = [ "http/structured_headers_fuzzer.cc" ] 3666 deps = [ 3667 ":net_fuzzer_test_support", 3668 ":test_support", 3669 "//base", 3670 "//net", 3671 ] 3672 seed_corpus = "data/fuzzer_data/structured_headers_corpus" 3673} 3674 3675fuzzer_test("net_parse_url_hostname_to_address_fuzzer") { 3676 sources = [ "base/parse_url_hostname_to_address_fuzzer.cc" ] 3677 deps = [ 3678 ":net_fuzzer_test_support", 3679 "//base", 3680 "//net", 3681 ] 3682 libfuzzer_options = [ "max_len=512" ] 3683 seed_corpus = "data/fuzzer_data/hostnames/" 3684} 3685 3686fuzzer_test("net_quic_crypto_framer_parse_message_fuzzer") { 3687 sources = [ "quic/quic_crypto_framer_parse_message_fuzzer.cc" ] 3688 deps = [ 3689 ":net_fuzzer_test_support", 3690 "//base", 3691 "//net", 3692 ] 3693} 3694 3695fuzzer_test("net_quic_transport_parameters_fuzzer") { 3696 sources = [ "quic/quic_transport_parameters_fuzzer.cc" ] 3697 deps = [ 3698 ":net_fuzzer_test_support", 3699 "//base", 3700 "//net", 3701 ] 3702} 3703 3704fuzzer_test("net_socks_client_socket_fuzzer") { 3705 sources = [ "socket/socks_client_socket_fuzzer.cc" ] 3706 deps = [ 3707 ":net_fuzzer_test_support", 3708 ":test_support", 3709 "//base", 3710 "//net", 3711 ] 3712} 3713 3714fuzzer_test("net_socks5_client_socket_fuzzer") { 3715 sources = [ "socket/socks5_client_socket_fuzzer.cc" ] 3716 deps = [ 3717 ":net_fuzzer_test_support", 3718 ":test_support", 3719 "//base", 3720 "//net", 3721 ] 3722} 3723 3724fuzzer_test("net_url_request_fuzzer") { 3725 sources = [ "url_request/url_request_fuzzer.cc" ] 3726 deps = [ 3727 ":net_fuzzer_test_support", 3728 ":test_support", 3729 "//base", 3730 "//net", 3731 ] 3732 dict = "data/fuzzer_dictionaries/net_url_request_fuzzer.dict" 3733} 3734 3735fuzzer_test("net_auth_challenge_tokenizer_fuzzer") { 3736 sources = [ "http/http_auth_challenge_tokenizer_fuzzer.cc" ] 3737 deps = [ 3738 ":net_fuzzer_test_support", 3739 ":test_support", 3740 "//base", 3741 "//net", 3742 ] 3743} 3744 3745fuzzer_test("net_http_security_headers_hsts_fuzzer") { 3746 sources = [ "http/http_security_headers_hsts_fuzzer.cc" ] 3747 deps = [ 3748 "//base", 3749 "//net", 3750 ] 3751 dict = "data/fuzzer_dictionaries/net_http_security_headers_fuzzer.dict" 3752 seed_corpus = "data/fuzzer_data/http_security_headers/" 3753} 3754 3755fuzzer_test("net_http_transport_security_state_static_fuzzer") { 3756 sources = [ "http/transport_security_state_static_fuzzer.cc" ] 3757 deps = [ 3758 ":net_fuzzer_test_support", 3759 "//net", 3760 ] 3761 dict = 3762 "data/fuzzer_dictionaries/net_http_transport_security_state_fuzzer.dict" 3763} 3764 3765fuzzer_test("net_spdy_session_fuzzer") { 3766 sources = [ "spdy/spdy_session_fuzzer.cc" ] 3767 deps = [ 3768 ":net_fuzzer_test_support", 3769 ":test_support", 3770 "//base", 3771 "//net", 3772 "//net/data/ssl/certificates:generate_fuzzer_cert_includes", 3773 ] 3774 dict = "data/fuzzer_dictionaries/net_spdy_session_fuzzer.dict" 3775 seed_corpus = "data/fuzzer_data/net_spdy_session_fuzzer/" 3776} 3777 3778fuzzer_test("net_http2_frame_decoder_fuzzer") { 3779 sources = [ "spdy/fuzzing/http2_frame_decoder_fuzzer.cc" ] 3780 deps = [ 3781 ":net_fuzzer_test_support", 3782 ":test_support", 3783 "//base", 3784 "//net", 3785 ] 3786} 3787 3788fuzzer_test("net_hpack_decoder_fuzzer") { 3789 sources = [ "spdy/fuzzing/hpack_decoder_fuzzer.cc" ] 3790 deps = [ 3791 ":net_fuzzer_test_support", 3792 ":test_support", 3793 "//base", 3794 "//net", 3795 ] 3796} 3797 3798proto_library("reporting_policy_proto") { 3799 proto_in_dir = "//" 3800 sources = [ "reporting/reporting_policy.proto" ] 3801 link_deps = [ "//testing/libfuzzer/proto:json_proto" ] 3802} 3803 3804fuzzer_test("net_reporting_header_parser_fuzzer") { 3805 sources = [ "reporting/reporting_header_parser_fuzzer.cc" ] 3806 3807 deps = [ 3808 ":net_fuzzer_test_support", 3809 ":reporting_policy_proto", 3810 ":test_support", 3811 "//base", 3812 "//net", 3813 "//testing/libfuzzer/proto:json_proto", 3814 "//testing/libfuzzer/proto:json_proto_converter", 3815 "//third_party/libprotobuf-mutator", 3816 ] 3817} 3818 3819fuzzer_test("net_quic_stream_factory_fuzzer") { 3820 sources = [ "quic/quic_stream_factory_fuzzer.cc" ] 3821 3822 deps = [ 3823 ":net_fuzzer_test_support", 3824 ":quic_test_tools", 3825 ":test_support", 3826 "//net", 3827 "//net/data/ssl/certificates:generate_fuzzer_cert_includes", 3828 ] 3829} 3830 3831fuzzer_test("net_uri_template_fuzzer") { 3832 sources = [ "third_party/uri_template/uri_template_fuzzer.cc" ] 3833 deps = [ 3834 ":net_fuzzer_test_support", 3835 "//base", 3836 "//net", 3837 ] 3838 dict = "data/fuzzer_dictionaries/net_uri_template_fuzzer.dict" 3839} 3840 3841if (is_linux || is_chromeos) { 3842 fuzzer_test("net_base_address_tracker_linux_fuzzer") { 3843 sources = [ "base/address_tracker_linux_fuzzer.cc" ] 3844 deps = [ 3845 ":net_fuzzer_test_support", 3846 ":test_support", 3847 "//base", 3848 "//net", 3849 ] 3850 } 3851} 3852