naiveproxy/src/net/BUILD.gn
2023-11-05 17:56:50 +08:00

1807 lines
61 KiB
Plaintext

# Copyright 2013 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/buildflag_header.gni")
import("//build/config/chromecast_build.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/compiler/compiler.gni")
import("//build/config/cronet/config.gni")
import("//build/config/features.gni")
import("//crypto/features.gni")
import("//net/features.gni")
import("//third_party/icu/config.gni")
import("//third_party/protobuf/proto_library.gni")
import("//tools/grit/grit_rule.gni")
import("//url/features.gni")
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("//third_party/jni_zero/jni_zero.gni")
} else if (is_mac) {
import("//build/config/mac/mac_sdk.gni")
} else if (is_ios) {
import("//build/config/ios/bundle_data_from_filelist.gni")
}
# Android:
# The way the cache uses mmap() is inefficient on some Android devices. If
# this flag is set, we hackily avoid using mmap() in the disk cache. We are
# pretty confident that mmap-ing the index would not hurt any existing x86
# android devices, but we cannot be so sure about the variety of ARM devices.
# So enable it for x86 only for now.
# Fuchsia:
# Writable mmap isn't supported on Fuchsia, so it should be bypassed.
posix_bypass_mmap = (is_android && current_cpu != "x86") || is_fuchsia
enable_built_in_dns = use_blink
# TODO(droger): Support client auth on iOS. See http://crbug.com/145954).
#
# Historically this was disabled because client auth required
# platform-specific code deep in //net. Nowadays, this is abstracted away and
# we could enable the interfaces on iOS for platform-independence. However,
# merely enabling them changes our behavior from automatically proceeding
# with no client certificate to raising
# `URLRequest::Delegate::OnCertificateRequested`. Callers would need to be
# updated to apply that behavior manually.
#
# If fixing this, re-enable the tests in ssl_client_socket_unittest.cc and
# ssl_server_socket_unittest.cc which are disabled on iOS.
enable_client_certificates = !is_ios || (use_blink && !is_cronet_build)
# Unix sockets are not supported on iOS.
enable_unix_sockets = is_posix && !is_ios
# x86/x64 cast_shell builds run on regular trybots and can use python runtime
# and remote test server. ARM cast_shell builds don't have python runtime.
is_arm_cast_shell_build = (is_castos || is_cast_android) &&
(current_cpu == "arm" || current_cpu == "arm64")
# Python works only on Linux, MacOS and Windows so exclude the others,
# chromecast, android, fuchsia, ios.
enable_python_utils =
!is_arm_cast_shell_build && !is_android && !is_fuchsia && !is_ios
# Platforms that cannot use python_utils (like Android but see full
# list above) will instead use a remote server.
use_remote_test_server =
!enable_python_utils && (enable_websockets || (is_cronet_build && !is_ios))
# Whether //net should use an external GSSAPI library for implementing HTTP
# Negotiate authentication. All platforms for which use_kerberos is true should
# have some external implementation since //net doesn't have intrinsic support
# for Kerberos. This implementation is an external GSSAPI library on all
# platforms except on:
#
# Windows : Uses SSPI for Negotiate authentication.
#
# Android : Uses an external authenticator. See
# https://www.chromium.org/developers/design-documents/http-authentication/writing-a-spnego-authenticator-for-chrome-on-android
use_external_gssapi = use_kerberos && !is_android && !is_win
config("net_test_config") {
if (use_remote_test_server) {
defines = [ "USE_REMOTE_TEST_SERVER" ]
}
}
buildflag_header("buildflags") {
header = "net_buildflags.h"
flags = [
"POSIX_BYPASS_MMAP=$posix_bypass_mmap",
"DISABLE_FILE_SUPPORT=$disable_file_support",
"ENABLE_MDNS=$enable_mdns",
"ENABLE_REPORTING=$enable_reporting",
"ENABLE_WEBSOCKETS=$enable_websockets",
"ENABLE_CLIENT_CERTIFICATES=$enable_client_certificates",
"INCLUDE_TRANSPORT_SECURITY_STATE_PRELOAD_LIST=$include_transport_security_state_preload_list",
"USE_KERBEROS=$use_kerberos",
"USE_EXTERNAL_GSSAPI=$use_external_gssapi",
"CHROME_ROOT_STORE_OPTIONAL=$chrome_root_store_optional",
"CHROME_ROOT_STORE_ONLY=$chrome_root_store_only",
"CHROME_ROOT_STORE_SUPPORTED=$chrome_root_store_supported",
]
}
config("net_internal_config") {
defines = [ "NET_IMPLEMENTATION" ]
if (enable_built_in_dns) {
defines += [ "ENABLE_BUILT_IN_DNS" ]
}
}
net_configs = [
":net_internal_config",
"//build/config:precompiled_headers",
"//build/config/compiler:wexit_time_destructors",
]
if (is_linux || is_chromeos) {
net_configs += [ "//build/config/linux:libresolv" ]
}
source_set("constants") {
sources = [ "base/trace_constants.h" ]
deps = [ "//base" ]
}
buildflag_header("cronet_buildflags") {
header = "cronet_buildflags.h"
header_dir = "net/base"
flags = [ "CRONET_BUILD=$is_cronet_build" ]
}
component("net") {
sources = [
"base/address_family.cc",
"base/address_family.h",
"base/address_list.cc",
"base/address_list.h",
"base/auth.cc",
"base/auth.h",
"base/backoff_entry.cc",
"base/backoff_entry.h",
"base/backoff_entry_serializer.cc",
"base/backoff_entry_serializer.h",
"base/cache_metrics.cc",
"base/cache_metrics.h",
"base/cache_type.h",
"base/chunked_upload_data_stream.cc",
"base/chunked_upload_data_stream.h",
"base/completion_once_callback.h",
"base/completion_repeating_callback.h",
"base/connection_endpoint_metadata.cc",
"base/connection_endpoint_metadata.h",
"base/data_url.cc",
"base/data_url.h",
"base/datagram_buffer.cc",
"base/datagram_buffer.h",
"base/elements_upload_data_stream.cc",
"base/elements_upload_data_stream.h",
"base/expiring_cache.h",
"base/features.cc",
"base/features.h",
"base/file_stream.cc",
"base/file_stream.h",
"base/file_stream_context.cc",
"base/file_stream_context.h",
"base/filename_util.cc",
"base/filename_util.h",
"base/filename_util_internal.cc",
"base/filename_util_internal.h",
"base/hash_value.cc",
"base/hash_value.h",
"base/hex_utils.cc",
"base/hex_utils.h",
"base/host_mapping_rules.cc",
"base/host_mapping_rules.h",
"base/host_port_pair.cc",
"base/host_port_pair.h",
"base/http_user_agent_settings.h",
"base/idempotency.h",
"base/interval.h",
"base/io_buffer.cc",
"base/io_buffer.h",
"base/ip_address.cc",
"base/ip_address.h",
"base/ip_endpoint.cc",
"base/ip_endpoint.h",
"base/isolation_info.cc",
"base/isolation_info.h",
"base/load_flags.h",
"base/load_flags_list.h",
"base/load_states.h",
"base/load_states_list.h",
"base/load_timing_info.cc",
"base/load_timing_info.h",
"base/logging_network_change_observer.cc",
"base/logging_network_change_observer.h",
"base/lookup_string_in_fixed_set.cc",
"base/lookup_string_in_fixed_set.h",
"base/mime_sniffer.cc",
"base/mime_sniffer.h",
"base/mime_util.cc",
"base/mime_util.h",
"base/net_error_details.h",
"base/net_error_list.h",
"base/net_errors.cc",
"base/net_errors.h",
"base/net_info_source_list.h",
"base/net_module.cc",
"base/net_module.h",
"base/net_string_util.h",
"base/network_activity_monitor.cc",
"base/network_activity_monitor.h",
"base/network_anonymization_key.cc",
"base/network_anonymization_key.h",
"base/network_change_notifier.cc",
"base/network_change_notifier.h",
"base/network_change_notifier_factory.h",
"base/network_delegate.cc",
"base/network_delegate.h",
"base/network_delegate_impl.cc",
"base/network_delegate_impl.h",
"base/network_handle.h",
"base/network_interfaces.cc",
"base/network_interfaces.h",
"base/network_isolation_key.cc",
"base/network_isolation_key.h",
"base/parse_number.cc",
"base/parse_number.h",
"base/platform_mime_util.h",
"base/port_util.cc",
"base/port_util.h",
"base/prioritized_dispatcher.cc",
"base/prioritized_dispatcher.h",
"base/prioritized_task_runner.cc",
"base/prioritized_task_runner.h",
"base/priority_queue.h",
"base/privacy_mode.cc",
"base/privacy_mode.h",
"base/proxy_delegate.h",
"base/proxy_server.cc",
"base/proxy_server.h",
"base/proxy_string_util.cc",
"base/proxy_string_util.h",
"base/rand_callback.h",
"base/registry_controlled_domains/registry_controlled_domain.cc",
"base/registry_controlled_domains/registry_controlled_domain.h",
"base/request_priority.cc",
"base/request_priority.h",
"base/scheme_host_port_matcher.cc",
"base/scheme_host_port_matcher.h",
"base/scheme_host_port_matcher_result.h",
"base/scheme_host_port_matcher_rule.cc",
"base/scheme_host_port_matcher_rule.h",
"base/schemeful_site.cc",
"base/schemeful_site.h",
"base/sockaddr_storage.cc",
"base/sockaddr_storage.h",
"base/sys_addrinfo.h",
"base/trace_event_stub.h",
"base/tracing.h",
"base/transport_info.cc",
"base/transport_info.h",
"base/upload_bytes_element_reader.cc",
"base/upload_bytes_element_reader.h",
"base/upload_data_stream.cc",
"base/upload_data_stream.h",
"base/upload_element_reader.cc",
"base/upload_element_reader.h",
"base/upload_file_element_reader.cc",
"base/upload_file_element_reader.h",
"base/upload_progress.h",
"base/url_search_params.cc",
"base/url_search_params.h",
"base/url_util.cc",
"base/url_util.h",
"cert/asn1_util.cc",
"cert/asn1_util.h",
"cert/caching_cert_verifier.cc",
"cert/caching_cert_verifier.h",
"cert/cert_and_ct_verifier.cc",
"cert/cert_and_ct_verifier.h",
"cert/cert_database.cc",
"cert/cert_database.h",
"cert/cert_net_fetcher.h",
"cert/cert_status_flags.cc",
"cert/cert_status_flags.h",
"cert/cert_status_flags_list.h",
"cert/cert_verifier.cc",
"cert/cert_verifier.h",
"cert/cert_verify_proc.cc",
"cert/cert_verify_proc.h",
"cert/cert_verify_proc_blocklist.inc",
"cert/cert_verify_proc_builtin.cc",
"cert/cert_verify_proc_builtin.h",
"cert/cert_verify_result.cc",
"cert/cert_verify_result.h",
"cert/client_cert_verifier.h",
"cert/coalescing_cert_verifier.cc",
"cert/coalescing_cert_verifier.h",
"cert/crl_set.cc",
"cert/crl_set.h",
"cert/ct_log_response_parser.cc",
"cert/ct_log_response_parser.h",
"cert/ct_log_verifier.cc",
"cert/ct_log_verifier.h",
"cert/ct_log_verifier_util.cc",
"cert/ct_log_verifier_util.h",
"cert/ct_objects_extractor.cc",
"cert/ct_objects_extractor.h",
"cert/ct_policy_enforcer.cc",
"cert/ct_policy_enforcer.h",
"cert/ct_policy_status.h",
"cert/ct_sct_to_string.cc",
"cert/ct_sct_to_string.h",
"cert/ct_serialization.cc",
"cert/ct_serialization.h",
"cert/ct_signed_certificate_timestamp_log_param.cc",
"cert/ct_signed_certificate_timestamp_log_param.h",
"cert/ct_verifier.h",
"cert/do_nothing_ct_verifier.cc",
"cert/do_nothing_ct_verifier.h",
"cert/ev_root_ca_metadata.cc",
"cert/ev_root_ca_metadata.h",
"cert/internal/cert_issuer_source_aia.cc",
"cert/internal/cert_issuer_source_aia.h",
"cert/internal/revocation_checker.cc",
"cert/internal/revocation_checker.h",
"cert/internal/system_trust_store.cc",
"cert/internal/system_trust_store.h",
"cert/internal/trust_store_features.cc",
"cert/internal/trust_store_features.h",
"cert/known_roots.cc",
"cert/known_roots.h",
"cert/merkle_audit_proof.cc",
"cert/merkle_audit_proof.h",
"cert/merkle_consistency_proof.cc",
"cert/merkle_consistency_proof.h",
"cert/merkle_tree_leaf.cc",
"cert/merkle_tree_leaf.h",
"cert/multi_log_ct_verifier.cc",
"cert/multi_log_ct_verifier.h",
"cert/multi_threaded_cert_verifier.cc",
"cert/multi_threaded_cert_verifier.h",
"cert/ocsp_revocation_status.h",
"cert/ocsp_verify_result.cc",
"cert/ocsp_verify_result.h",
"cert/pem.cc",
"cert/pem.h",
"cert/pki/cert_error_id.cc",
"cert/pki/cert_error_id.h",
"cert/pki/cert_error_params.cc",
"cert/pki/cert_error_params.h",
"cert/pki/cert_errors.cc",
"cert/pki/cert_errors.h",
"cert/pki/cert_issuer_source.h",
"cert/pki/cert_issuer_source_static.cc",
"cert/pki/cert_issuer_source_static.h",
"cert/pki/certificate_policies.cc",
"cert/pki/certificate_policies.h",
"cert/pki/common_cert_errors.cc",
"cert/pki/common_cert_errors.h",
"cert/pki/crl.cc",
"cert/pki/crl.h",
"cert/pki/extended_key_usage.cc",
"cert/pki/extended_key_usage.h",
"cert/pki/general_names.cc",
"cert/pki/general_names.h",
"cert/pki/ip_util.cc",
"cert/pki/ip_util.h",
"cert/pki/name_constraints.cc",
"cert/pki/name_constraints.h",
"cert/pki/ocsp.cc",
"cert/pki/ocsp.h",
"cert/pki/parse_certificate.cc",
"cert/pki/parse_certificate.h",
"cert/pki/parse_name.cc",
"cert/pki/parse_name.h",
"cert/pki/parsed_certificate.cc",
"cert/pki/parsed_certificate.h",
"cert/pki/path_builder.cc",
"cert/pki/path_builder.h",
"cert/pki/revocation_util.cc",
"cert/pki/revocation_util.h",
"cert/pki/signature_algorithm.cc",
"cert/pki/signature_algorithm.h",
"cert/pki/signature_verify_cache.h",
"cert/pki/simple_path_builder_delegate.cc",
"cert/pki/simple_path_builder_delegate.h",
"cert/pki/string_util.cc",
"cert/pki/string_util.h",
"cert/pki/trust_store.cc",
"cert/pki/trust_store.h",
"cert/pki/trust_store_collection.cc",
"cert/pki/trust_store_collection.h",
"cert/pki/trust_store_in_memory.cc",
"cert/pki/trust_store_in_memory.h",
"cert/pki/verify_certificate_chain.cc",
"cert/pki/verify_certificate_chain.h",
"cert/pki/verify_name_match.cc",
"cert/pki/verify_name_match.h",
"cert/pki/verify_signed_data.cc",
"cert/pki/verify_signed_data.h",
"cert/root_cert_list_generated.h",
"cert/sct_auditing_delegate.h",
"cert/sct_status_flags.cc",
"cert/sct_status_flags.h",
"cert/signed_certificate_timestamp.cc",
"cert/signed_certificate_timestamp.h",
"cert/signed_certificate_timestamp_and_status.cc",
"cert/signed_certificate_timestamp_and_status.h",
"cert/signed_tree_head.cc",
"cert/signed_tree_head.h",
"cert/symantec_certs.cc",
"cert/symantec_certs.h",
"cert/test_root_certs.cc",
"cert/test_root_certs.h",
"cert/time_conversions.cc",
"cert/time_conversions.h",
"cert/x509_cert_types.cc",
"cert/x509_cert_types.h",
"cert/x509_certificate.cc",
"cert/x509_certificate.h",
"cert/x509_certificate_net_log_param.cc",
"cert/x509_certificate_net_log_param.h",
"cert/x509_util.cc",
"cert/x509_util.h",
"cert_net/cert_net_fetcher_url_request.cc",
"cert_net/cert_net_fetcher_url_request.h",
"cookies/canonical_cookie.cc",
"cookies/canonical_cookie.h",
"cookies/cookie_access_delegate.cc",
"cookies/cookie_access_delegate.h",
"cookies/cookie_access_result.cc",
"cookies/cookie_access_result.h",
"cookies/cookie_change_dispatcher.cc",
"cookies/cookie_change_dispatcher.h",
"cookies/cookie_constants.cc",
"cookies/cookie_constants.h",
"cookies/cookie_deletion_info.cc",
"cookies/cookie_deletion_info.h",
"cookies/cookie_inclusion_status.cc",
"cookies/cookie_inclusion_status.h",
"cookies/cookie_monster.cc",
"cookies/cookie_monster.h",
"cookies/cookie_monster_change_dispatcher.cc",
"cookies/cookie_monster_change_dispatcher.h",
"cookies/cookie_monster_netlog_params.cc",
"cookies/cookie_monster_netlog_params.h",
"cookies/cookie_options.cc",
"cookies/cookie_options.h",
"cookies/cookie_partition_key.cc",
"cookies/cookie_partition_key.h",
"cookies/cookie_partition_key_collection.cc",
"cookies/cookie_partition_key_collection.h",
"cookies/cookie_setting_override.h",
"cookies/cookie_store.cc",
"cookies/cookie_store.h",
"cookies/cookie_util.cc",
"cookies/cookie_util.h",
"cookies/parsed_cookie.cc",
"cookies/parsed_cookie.h",
"cookies/site_for_cookies.cc",
"cookies/site_for_cookies.h",
"cookies/static_cookie_policy.cc",
"cookies/static_cookie_policy.h",
"der/encode_values.cc",
"der/encode_values.h",
"der/input.cc",
"der/input.h",
"der/parse_values.cc",
"der/parse_values.h",
"der/parser.cc",
"der/parser.h",
"der/tag.cc",
"der/tag.h",
"disk_cache/backend_cleanup_tracker.cc",
"disk_cache/backend_cleanup_tracker.h",
"disk_cache/blockfile/addr.cc",
"disk_cache/blockfile/addr.h",
"disk_cache/blockfile/backend_impl.cc",
"disk_cache/blockfile/backend_impl.h",
"disk_cache/blockfile/bitmap.cc",
"disk_cache/blockfile/bitmap.h",
"disk_cache/blockfile/block_files.cc",
"disk_cache/blockfile/block_files.h",
"disk_cache/blockfile/disk_format.cc",
"disk_cache/blockfile/disk_format.h",
"disk_cache/blockfile/disk_format_base.h",
"disk_cache/blockfile/entry_impl.cc",
"disk_cache/blockfile/entry_impl.h",
"disk_cache/blockfile/errors.h",
"disk_cache/blockfile/eviction.cc",
"disk_cache/blockfile/eviction.h",
"disk_cache/blockfile/experiments.h",
"disk_cache/blockfile/file.cc",
"disk_cache/blockfile/file.h",
"disk_cache/blockfile/file_block.h",
"disk_cache/blockfile/file_lock.cc",
"disk_cache/blockfile/file_lock.h",
"disk_cache/blockfile/in_flight_backend_io.cc",
"disk_cache/blockfile/in_flight_backend_io.h",
"disk_cache/blockfile/in_flight_io.cc",
"disk_cache/blockfile/in_flight_io.h",
"disk_cache/blockfile/mapped_file.cc",
"disk_cache/blockfile/mapped_file.h",
"disk_cache/blockfile/rankings.cc",
"disk_cache/blockfile/rankings.h",
"disk_cache/blockfile/sparse_control.cc",
"disk_cache/blockfile/sparse_control.h",
"disk_cache/blockfile/stats.cc",
"disk_cache/blockfile/stats.h",
"disk_cache/blockfile/storage_block-inl.h",
"disk_cache/blockfile/storage_block.h",
"disk_cache/blockfile/stress_support.h",
"disk_cache/cache_util.cc",
"disk_cache/cache_util.h",
"disk_cache/disk_cache.cc",
"disk_cache/disk_cache.h",
"disk_cache/memory/mem_backend_impl.cc",
"disk_cache/memory/mem_backend_impl.h",
"disk_cache/memory/mem_entry_impl.cc",
"disk_cache/memory/mem_entry_impl.h",
"disk_cache/net_log_parameters.cc",
"disk_cache/net_log_parameters.h",
"disk_cache/simple/post_doom_waiter.cc",
"disk_cache/simple/post_doom_waiter.h",
"disk_cache/simple/simple_backend_impl.cc",
"disk_cache/simple/simple_backend_impl.h",
"disk_cache/simple/simple_backend_version.h",
"disk_cache/simple/simple_entry_format.cc",
"disk_cache/simple/simple_entry_format.h",
"disk_cache/simple/simple_entry_format_history.h",
"disk_cache/simple/simple_entry_impl.cc",
"disk_cache/simple/simple_entry_impl.h",
"disk_cache/simple/simple_entry_operation.cc",
"disk_cache/simple/simple_entry_operation.h",
"disk_cache/simple/simple_file_enumerator.cc",
"disk_cache/simple/simple_file_enumerator.h",
"disk_cache/simple/simple_file_tracker.cc",
"disk_cache/simple/simple_file_tracker.h",
"disk_cache/simple/simple_histogram_macros.h",
"disk_cache/simple/simple_index.cc",
"disk_cache/simple/simple_index.h",
"disk_cache/simple/simple_index_delegate.h",
"disk_cache/simple/simple_index_file.cc",
"disk_cache/simple/simple_index_file.h",
"disk_cache/simple/simple_net_log_parameters.cc",
"disk_cache/simple/simple_net_log_parameters.h",
"disk_cache/simple/simple_synchronous_entry.cc",
"disk_cache/simple/simple_synchronous_entry.h",
"disk_cache/simple/simple_util.cc",
"disk_cache/simple/simple_util.h",
"disk_cache/simple/simple_version_upgrade.cc",
"disk_cache/simple/simple_version_upgrade.h",
"filter/filter_source_stream.cc",
"filter/filter_source_stream.h",
"filter/gzip_header.cc",
"filter/gzip_header.h",
"filter/gzip_source_stream.cc",
"filter/gzip_source_stream.h",
"filter/source_stream.cc",
"filter/source_stream.h",
"first_party_sets/addition_overlaps_union_find.cc",
"first_party_sets/addition_overlaps_union_find.h",
"first_party_sets/first_party_set_entry.cc",
"first_party_sets/first_party_set_entry.h",
"first_party_sets/first_party_set_entry_override.cc",
"first_party_sets/first_party_set_entry_override.h",
"first_party_sets/first_party_set_metadata.cc",
"first_party_sets/first_party_set_metadata.h",
"first_party_sets/first_party_sets_cache_filter.cc",
"first_party_sets/first_party_sets_cache_filter.h",
"first_party_sets/first_party_sets_context_config.cc",
"first_party_sets/first_party_sets_context_config.h",
"first_party_sets/global_first_party_sets.cc",
"first_party_sets/global_first_party_sets.h",
"http/alternative_service.cc",
"http/alternative_service.h",
"http/bidirectional_stream.cc",
"http/bidirectional_stream.h",
"http/bidirectional_stream_impl.cc",
"http/bidirectional_stream_impl.h",
"http/bidirectional_stream_request_info.cc",
"http/bidirectional_stream_request_info.h",
"http/broken_alternative_services.cc",
"http/broken_alternative_services.h",
"http/http_auth.cc",
"http/http_auth.h",
"http/http_auth_cache.cc",
"http/http_auth_cache.h",
"http/http_auth_challenge_tokenizer.cc",
"http/http_auth_challenge_tokenizer.h",
"http/http_auth_controller.cc",
"http/http_auth_controller.h",
"http/http_auth_filter.cc",
"http/http_auth_filter.h",
"http/http_auth_handler.cc",
"http/http_auth_handler.h",
"http/http_auth_handler_basic.cc",
"http/http_auth_handler_basic.h",
"http/http_auth_handler_digest.cc",
"http/http_auth_handler_digest.h",
"http/http_auth_handler_factory.cc",
"http/http_auth_handler_factory.h",
"http/http_auth_handler_ntlm.cc",
"http/http_auth_handler_ntlm.h",
"http/http_auth_mechanism.h",
"http/http_auth_multi_round_parse.cc",
"http/http_auth_multi_round_parse.h",
"http/http_auth_preferences.cc",
"http/http_auth_preferences.h",
"http/http_auth_scheme.cc",
"http/http_auth_scheme.h",
"http/http_basic_state.cc",
"http/http_basic_state.h",
"http/http_basic_stream.cc",
"http/http_basic_stream.h",
"http/http_byte_range.cc",
"http/http_byte_range.h",
"http/http_cache.cc",
"http/http_cache.h",
"http/http_cache_transaction.cc",
"http/http_cache_transaction.h",
"http/http_cache_writers.cc",
"http/http_cache_writers.h",
"http/http_chunked_decoder.cc",
"http/http_chunked_decoder.h",
"http/http_content_disposition.cc",
"http/http_content_disposition.h",
"http/http_log_util.cc",
"http/http_log_util.h",
"http/http_network_layer.cc",
"http/http_network_layer.h",
"http/http_network_session.cc",
"http/http_network_session.h",
"http/http_network_session_peer.cc",
"http/http_network_session_peer.h",
"http/http_network_transaction.cc",
"http/http_network_transaction.h",
"http/http_no_vary_search_data.cc",
"http/http_no_vary_search_data.h",
"http/http_proxy_client_socket.cc",
"http/http_proxy_client_socket.h",
"http/http_proxy_connect_job.cc",
"http/http_proxy_connect_job.h",
"http/http_raw_request_headers.cc",
"http/http_raw_request_headers.h",
"http/http_request_headers.cc",
"http/http_request_headers.h",
"http/http_request_info.cc",
"http/http_request_info.h",
"http/http_response_body_drainer.cc",
"http/http_response_body_drainer.h",
"http/http_response_headers.cc",
"http/http_response_headers.h",
"http/http_response_info.cc",
"http/http_response_info.h",
"http/http_security_headers.cc",
"http/http_security_headers.h",
"http/http_server_properties.cc",
"http/http_server_properties.h",
"http/http_server_properties_manager.cc",
"http/http_server_properties_manager.h",
"http/http_status_code.cc",
"http/http_status_code.h",
"http/http_status_code_list.h",
"http/http_stream.cc",
"http/http_stream.h",
"http/http_stream_factory.cc",
"http/http_stream_factory.h",
"http/http_stream_factory_job.cc",
"http/http_stream_factory_job.h",
"http/http_stream_factory_job_controller.cc",
"http/http_stream_factory_job_controller.h",
"http/http_stream_parser.cc",
"http/http_stream_parser.h",
"http/http_stream_request.cc",
"http/http_stream_request.h",
"http/http_transaction.h",
"http/http_transaction_factory.h",
"http/http_util.cc",
"http/http_util.h",
"http/http_vary_data.cc",
"http/http_vary_data.h",
"http/http_version.h",
"http/partial_data.cc",
"http/partial_data.h",
"http/proxy_client_socket.cc",
"http/proxy_client_socket.h",
"http/proxy_fallback.cc",
"http/proxy_fallback.h",
"http/structured_headers.h",
"http/transport_security_persister.cc",
"http/transport_security_persister.h",
"http/transport_security_state.h",
"http/transport_security_state_source.cc",
"http/transport_security_state_source.h",
"http/url_security_manager.cc",
"http/url_security_manager.h",
"log/file_net_log_observer.cc",
"log/file_net_log_observer.h",
"log/net_log.cc",
"log/net_log.h",
"log/net_log_capture_mode.cc",
"log/net_log_capture_mode.h",
"log/net_log_entry.cc",
"log/net_log_entry.h",
"log/net_log_event_type.cc",
"log/net_log_event_type.h",
"log/net_log_event_type_list.h",
"log/net_log_source.cc",
"log/net_log_source.h",
"log/net_log_source_type.h",
"log/net_log_source_type_list.h",
"log/net_log_util.cc",
"log/net_log_util.h",
"log/net_log_values.cc",
"log/net_log_values.h",
"log/net_log_with_source.cc",
"log/net_log_with_source.h",
"log/trace_net_log_observer.cc",
"log/trace_net_log_observer.h",
"nqe/cached_network_quality.cc",
"nqe/cached_network_quality.h",
"nqe/effective_connection_type.cc",
"nqe/effective_connection_type.h",
"nqe/effective_connection_type_observer.h",
"nqe/event_creator.cc",
"nqe/event_creator.h",
"nqe/network_id.cc",
"nqe/network_id.h",
"nqe/network_qualities_prefs_manager.cc",
"nqe/network_qualities_prefs_manager.h",
"nqe/network_quality.cc",
"nqe/network_quality.h",
"nqe/network_quality_estimator.cc",
"nqe/network_quality_estimator.h",
"nqe/network_quality_estimator_params.cc",
"nqe/network_quality_estimator_params.h",
"nqe/network_quality_estimator_util.cc",
"nqe/network_quality_estimator_util.h",
"nqe/network_quality_observation.cc",
"nqe/network_quality_observation.h",
"nqe/network_quality_observation_source.h",
"nqe/network_quality_store.cc",
"nqe/network_quality_store.h",
"nqe/observation_buffer.cc",
"nqe/observation_buffer.h",
"nqe/peer_to_peer_connections_count_observer.h",
"nqe/pref_names.cc",
"nqe/pref_names.h",
"nqe/rtt_throughput_estimates_observer.h",
"nqe/socket_watcher.cc",
"nqe/socket_watcher.h",
"nqe/socket_watcher_factory.cc",
"nqe/socket_watcher_factory.h",
"nqe/throughput_analyzer.cc",
"nqe/throughput_analyzer.h",
"nqe/weighted_observation.h",
"proxy_resolution/configured_proxy_resolution_request.cc",
"proxy_resolution/configured_proxy_resolution_request.h",
"proxy_resolution/configured_proxy_resolution_service.cc",
"proxy_resolution/configured_proxy_resolution_service.h",
"proxy_resolution/dhcp_pac_file_fetcher.cc",
"proxy_resolution/dhcp_pac_file_fetcher.h",
"proxy_resolution/multi_threaded_proxy_resolver.cc",
"proxy_resolution/multi_threaded_proxy_resolver.h",
"proxy_resolution/network_delegate_error_observer.cc",
"proxy_resolution/network_delegate_error_observer.h",
"proxy_resolution/pac_file_data.cc",
"proxy_resolution/pac_file_data.h",
"proxy_resolution/pac_file_decider.cc",
"proxy_resolution/pac_file_decider.h",
"proxy_resolution/pac_file_fetcher.cc",
"proxy_resolution/pac_file_fetcher.h",
"proxy_resolution/pac_file_fetcher_impl.cc",
"proxy_resolution/pac_file_fetcher_impl.h",
"proxy_resolution/polling_proxy_config_service.cc",
"proxy_resolution/polling_proxy_config_service.h",
"proxy_resolution/proxy_bypass_rules.cc",
"proxy_resolution/proxy_bypass_rules.h",
"proxy_resolution/proxy_config.cc",
"proxy_resolution/proxy_config.h",
"proxy_resolution/proxy_config_service.cc",
"proxy_resolution/proxy_config_service.h",
"proxy_resolution/proxy_config_service_fixed.cc",
"proxy_resolution/proxy_config_service_fixed.h",
"proxy_resolution/proxy_config_with_annotation.cc",
"proxy_resolution/proxy_config_with_annotation.h",
"proxy_resolution/proxy_info.cc",
"proxy_resolution/proxy_info.h",
"proxy_resolution/proxy_list.cc",
"proxy_resolution/proxy_list.h",
"proxy_resolution/proxy_resolution_request.h",
"proxy_resolution/proxy_resolution_service.h",
"proxy_resolution/proxy_resolve_dns_operation.h",
"proxy_resolution/proxy_resolver.h",
"proxy_resolution/proxy_resolver_error_observer.h",
"proxy_resolution/proxy_resolver_factory.cc",
"proxy_resolution/proxy_resolver_factory.h",
"proxy_resolution/proxy_retry_info.h",
"quic/address_utils.h",
"quic/bidirectional_stream_quic_impl.cc",
"quic/bidirectional_stream_quic_impl.h",
"quic/crypto/proof_source_chromium.cc",
"quic/crypto/proof_source_chromium.h",
"quic/crypto/proof_verifier_chromium.cc",
"quic/crypto/proof_verifier_chromium.h",
"quic/dedicated_web_transport_http3_client.cc",
"quic/dedicated_web_transport_http3_client.h",
"quic/network_connection.cc",
"quic/network_connection.h",
"quic/platform/impl/quic_chromium_clock.cc",
"quic/platform/impl/quic_chromium_clock.h",
"quic/properties_based_quic_server_info.cc",
"quic/properties_based_quic_server_info.h",
"quic/quic_address_mismatch.cc",
"quic/quic_address_mismatch.h",
"quic/quic_chromium_alarm_factory.cc",
"quic/quic_chromium_alarm_factory.h",
"quic/quic_chromium_client_session.cc",
"quic/quic_chromium_client_session.h",
"quic/quic_chromium_client_stream.cc",
"quic/quic_chromium_client_stream.h",
"quic/quic_chromium_connection_helper.cc",
"quic/quic_chromium_connection_helper.h",
"quic/quic_chromium_packet_reader.cc",
"quic/quic_chromium_packet_reader.h",
"quic/quic_chromium_packet_writer.cc",
"quic/quic_chromium_packet_writer.h",
"quic/quic_clock_skew_detector.cc",
"quic/quic_clock_skew_detector.h",
"quic/quic_connection_logger.cc",
"quic/quic_connection_logger.h",
"quic/quic_connectivity_monitor.cc",
"quic/quic_connectivity_monitor.h",
"quic/quic_context.cc",
"quic/quic_context.h",
"quic/quic_crypto_client_config_handle.cc",
"quic/quic_crypto_client_config_handle.h",
"quic/quic_crypto_client_stream_factory.cc",
"quic/quic_crypto_client_stream_factory.h",
"quic/quic_event_logger.cc",
"quic/quic_event_logger.h",
"quic/quic_http3_logger.cc",
"quic/quic_http3_logger.h",
"quic/quic_http_stream.cc",
"quic/quic_http_stream.h",
"quic/quic_http_utils.cc",
"quic/quic_http_utils.h",
"quic/quic_proxy_client_socket.cc",
"quic/quic_proxy_client_socket.h",
"quic/quic_server_info.cc",
"quic/quic_server_info.h",
"quic/quic_session_key.cc",
"quic/quic_session_key.h",
"quic/quic_stream_factory.cc",
"quic/quic_stream_factory.h",
"quic/set_quic_flag.cc",
"quic/set_quic_flag.h",
"quic/web_transport_client.cc",
"quic/web_transport_client.h",
"quic/web_transport_error.cc",
"quic/web_transport_error.h",
"socket/client_socket_factory.cc",
"socket/client_socket_factory.h",
"socket/client_socket_handle.cc",
"socket/client_socket_handle.h",
"socket/client_socket_pool.cc",
"socket/client_socket_pool.h",
"socket/client_socket_pool_manager.cc",
"socket/client_socket_pool_manager.h",
"socket/client_socket_pool_manager_impl.cc",
"socket/client_socket_pool_manager_impl.h",
"socket/connect_job.cc",
"socket/connect_job.h",
"socket/connect_job_factory.cc",
"socket/connect_job_factory.h",
"socket/connection_attempts.h",
"socket/datagram_client_socket.h",
"socket/datagram_server_socket.h",
"socket/datagram_socket.h",
"socket/diff_serv_code_point.h",
"socket/network_binding_client_socket_factory.cc",
"socket/network_binding_client_socket_factory.h",
"socket/next_proto.cc",
"socket/next_proto.h",
"socket/server_socket.cc",
"socket/server_socket.h",
"socket/socket.cc",
"socket/socket.h",
"socket/socket_bio_adapter.cc",
"socket/socket_bio_adapter.h",
"socket/socket_descriptor.cc",
"socket/socket_descriptor.h",
"socket/socket_net_log_params.cc",
"socket/socket_net_log_params.h",
"socket/socket_options.cc",
"socket/socket_options.h",
"socket/socket_performance_watcher.h",
"socket/socket_performance_watcher_factory.h",
"socket/socket_tag.cc",
"socket/socket_tag.h",
"socket/socks5_client_socket.cc",
"socket/socks5_client_socket.h",
"socket/socks_client_socket.cc",
"socket/socks_client_socket.h",
"socket/socks_connect_job.cc",
"socket/socks_connect_job.h",
"socket/ssl_client_socket.cc",
"socket/ssl_client_socket.h",
"socket/ssl_client_socket_impl.cc",
"socket/ssl_client_socket_impl.h",
"socket/ssl_connect_job.cc",
"socket/ssl_connect_job.h",
"socket/ssl_server_socket.h",
"socket/ssl_server_socket_impl.cc",
"socket/ssl_server_socket_impl.h",
"socket/ssl_socket.h",
"socket/stream_socket.cc",
"socket/stream_socket.h",
"socket/tcp_client_socket.cc",
"socket/tcp_client_socket.h",
"socket/tcp_server_socket.cc",
"socket/tcp_server_socket.h",
"socket/tcp_socket.h",
"socket/transport_client_socket.cc",
"socket/transport_client_socket.h",
"socket/transport_client_socket_pool.cc",
"socket/transport_client_socket_pool.h",
"socket/transport_connect_job.cc",
"socket/transport_connect_job.h",
"socket/transport_connect_sub_job.cc",
"socket/transport_connect_sub_job.h",
"socket/udp_client_socket.cc",
"socket/udp_client_socket.h",
"socket/udp_net_log_parameters.cc",
"socket/udp_net_log_parameters.h",
"socket/udp_server_socket.cc",
"socket/udp_server_socket.h",
"socket/udp_socket.h",
"socket/udp_socket_global_limits.cc",
"socket/udp_socket_global_limits.h",
"socket/websocket_endpoint_lock_manager.cc",
"socket/websocket_endpoint_lock_manager.h",
"socket/websocket_transport_client_socket_pool.cc",
"socket/websocket_transport_client_socket_pool.h",
"spdy/alps_decoder.cc",
"spdy/alps_decoder.h",
"spdy/bidirectional_stream_spdy_impl.cc",
"spdy/bidirectional_stream_spdy_impl.h",
"spdy/buffered_spdy_framer.cc",
"spdy/buffered_spdy_framer.h",
"spdy/header_coalescer.cc",
"spdy/header_coalescer.h",
"spdy/http2_priority_dependencies.cc",
"spdy/http2_priority_dependencies.h",
"spdy/multiplexed_http_stream.cc",
"spdy/multiplexed_http_stream.h",
"spdy/multiplexed_session.cc",
"spdy/multiplexed_session.h",
"spdy/spdy_buffer.cc",
"spdy/spdy_buffer.h",
"spdy/spdy_buffer_producer.cc",
"spdy/spdy_buffer_producer.h",
"spdy/spdy_http_stream.cc",
"spdy/spdy_http_stream.h",
"spdy/spdy_http_utils.cc",
"spdy/spdy_http_utils.h",
"spdy/spdy_log_util.cc",
"spdy/spdy_log_util.h",
"spdy/spdy_proxy_client_socket.cc",
"spdy/spdy_proxy_client_socket.h",
"spdy/spdy_read_queue.cc",
"spdy/spdy_read_queue.h",
"spdy/spdy_session.cc",
"spdy/spdy_session.h",
"spdy/spdy_session_key.cc",
"spdy/spdy_session_key.h",
"spdy/spdy_session_pool.cc",
"spdy/spdy_session_pool.h",
"spdy/spdy_stream.cc",
"spdy/spdy_stream.h",
"spdy/spdy_write_queue.cc",
"spdy/spdy_write_queue.h",
"ssl/cert_compression.cc",
"ssl/cert_compression.h",
"ssl/client_cert_identity.cc",
"ssl/client_cert_identity.h",
"ssl/client_cert_store.h",
"ssl/openssl_ssl_util.cc",
"ssl/openssl_ssl_util.h",
"ssl/ssl_cert_request_info.cc",
"ssl/ssl_cert_request_info.h",
"ssl/ssl_cipher_suite_names.cc",
"ssl/ssl_cipher_suite_names.h",
"ssl/ssl_client_auth_cache.cc",
"ssl/ssl_client_auth_cache.h",
"ssl/ssl_client_session_cache.cc",
"ssl/ssl_client_session_cache.h",
"ssl/ssl_config.cc",
"ssl/ssl_config.h",
"ssl/ssl_config_service.cc",
"ssl/ssl_config_service.h",
"ssl/ssl_config_service_defaults.cc",
"ssl/ssl_config_service_defaults.h",
"ssl/ssl_connection_status_flags.h",
"ssl/ssl_handshake_details.h",
"ssl/ssl_info.cc",
"ssl/ssl_info.h",
"ssl/ssl_key_logger.cc",
"ssl/ssl_key_logger.h",
"ssl/ssl_key_logger_impl.cc",
"ssl/ssl_key_logger_impl.h",
"ssl/ssl_legacy_crypto_fallback.h",
"ssl/ssl_platform_key_util.cc",
"ssl/ssl_platform_key_util.h",
"ssl/ssl_private_key.cc",
"ssl/ssl_private_key.h",
"ssl/ssl_server_config.cc",
"ssl/ssl_server_config.h",
"ssl/threaded_ssl_private_key.cc",
"ssl/threaded_ssl_private_key.h",
"url_request/clear_site_data.cc",
"url_request/clear_site_data.h",
"url_request/redirect_info.cc",
"url_request/redirect_info.h",
"url_request/redirect_util.cc",
"url_request/redirect_util.h",
"url_request/referrer_policy.h",
"url_request/report_sender.cc",
"url_request/report_sender.h",
"url_request/static_http_user_agent_settings.cc",
"url_request/static_http_user_agent_settings.h",
"url_request/url_request.cc",
"url_request/url_request.h",
"url_request/url_request_context.cc",
"url_request/url_request_context.h",
"url_request/url_request_context_builder.cc",
"url_request/url_request_context_builder.h",
"url_request/url_request_context_getter.cc",
"url_request/url_request_context_getter.h",
"url_request/url_request_context_getter_observer.h",
"url_request/url_request_error_job.cc",
"url_request/url_request_error_job.h",
"url_request/url_request_filter.cc",
"url_request/url_request_filter.h",
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
"url_request/url_request_interceptor.h",
"url_request/url_request_job.cc",
"url_request/url_request_job.h",
"url_request/url_request_job_factory.cc",
"url_request/url_request_job_factory.h",
"url_request/url_request_netlog_params.cc",
"url_request/url_request_netlog_params.h",
"url_request/url_request_redirect_job.cc",
"url_request/url_request_redirect_job.h",
"url_request/url_request_throttler_entry.cc",
"url_request/url_request_throttler_entry.h",
"url_request/url_request_throttler_entry_interface.h",
"url_request/url_request_throttler_manager.cc",
"url_request/url_request_throttler_manager.h",
"url_request/view_cache_helper.cc",
"url_request/view_cache_helper.h",
"url_request/websocket_handshake_userdata_key.cc",
"url_request/websocket_handshake_userdata_key.h",
]
if (is_posix || is_fuchsia) {
sources += [ "base/net_errors_posix.cc" ]
}
defines = []
if (disable_brotli_filter) {
defines += [ "NET_DISABLE_BROTLI" ]
}
if (disable_zstd_filter) {
defines += [ "NET_DISABLE_ZSTD" ]
}
deps = [
":cronet_buildflags",
":net_deps",
"//build:chromeos_buildflags",
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
"//net/http:transport_security_state_generated_files",
]
public_deps = [
":net_export_header",
":net_public_deps",
"//base",
"//net/dns",
"//net/dns:dns_client",
"//net/dns:host_resolver",
"//net/dns:host_resolver_manager",
"//net/dns:mdns_client",
"//net/dns/public",
"//net/third_party/quiche",
]
allow_circular_includes_from = [
"//net/dns",
"//net/dns:dns_client",
"//net/dns:host_resolver",
"//net/dns:host_resolver_manager",
"//net/dns:mdns_client",
"//net/dns/public",
"//net/http:transport_security_state_generated_files",
]
if (enable_reporting) {
sources += [
"network_error_logging/network_error_logging_service.cc",
"network_error_logging/network_error_logging_service.h",
"network_error_logging/persistent_reporting_and_nel_store.h",
"reporting/reporting_browsing_data_remover.cc",
"reporting/reporting_browsing_data_remover.h",
"reporting/reporting_cache.cc",
"reporting/reporting_cache.h",
"reporting/reporting_cache_impl.cc",
"reporting/reporting_cache_impl.h",
"reporting/reporting_cache_observer.cc",
"reporting/reporting_cache_observer.h",
"reporting/reporting_context.cc",
"reporting/reporting_context.h",
"reporting/reporting_delegate.cc",
"reporting/reporting_delegate.h",
"reporting/reporting_delivery_agent.cc",
"reporting/reporting_delivery_agent.h",
"reporting/reporting_endpoint.cc",
"reporting/reporting_endpoint.h",
"reporting/reporting_endpoint_manager.cc",
"reporting/reporting_endpoint_manager.h",
"reporting/reporting_garbage_collector.cc",
"reporting/reporting_garbage_collector.h",
"reporting/reporting_header_parser.cc",
"reporting/reporting_header_parser.h",
"reporting/reporting_network_change_observer.cc",
"reporting/reporting_network_change_observer.h",
"reporting/reporting_policy.cc",
"reporting/reporting_policy.h",
"reporting/reporting_report.cc",
"reporting/reporting_report.h",
"reporting/reporting_service.cc",
"reporting/reporting_service.h",
"reporting/reporting_uploader.cc",
"reporting/reporting_uploader.h",
]
}
if (is_android) {
sources += [
"android/android_http_util.cc",
"android/cert_verify_result_android.cc",
"android/cert_verify_result_android.h",
"android/gurl_utils.cc",
"android/http_auth_negotiate_android.cc",
"android/http_auth_negotiate_android.h",
"android/keystore.cc",
"android/keystore.h",
"android/network_change_notifier_android.cc",
"android/network_change_notifier_android.h",
"android/network_change_notifier_delegate_android.cc",
"android/network_change_notifier_delegate_android.h",
"android/network_change_notifier_factory_android.cc",
"android/network_change_notifier_factory_android.h",
"android/network_library.cc",
"android/network_library.h",
"android/traffic_stats.cc",
"android/traffic_stats.h",
"cert/cert_verify_proc_android.cc",
"cert/cert_verify_proc_android.h",
"cert/test_root_certs_android.cc",
"cert/x509_util_android.cc",
"proxy_resolution/proxy_config_service_android.cc",
"proxy_resolution/proxy_config_service_android.h",
"ssl/ssl_platform_key_android.cc",
"ssl/ssl_platform_key_android.h",
]
}
if (is_chromeos && use_nss_certs) {
sources += [
"cert/nss_cert_database_chromeos.cc",
"cert/nss_cert_database_chromeos.h",
"cert/nss_profile_filter_chromeos.cc",
"cert/nss_profile_filter_chromeos.h",
]
}
if (is_ios) {
sources += [
"cert/cert_verify_proc_ios.cc",
"cert/cert_verify_proc_ios.h",
"cert/test_root_certs_ios.cc",
"disk_cache/blockfile/file_ios.cc",
"proxy_resolution/proxy_config_service_ios.cc",
"proxy_resolution/proxy_config_service_ios.h",
]
}
if (is_linux) {
sources += [
"base/network_change_notifier_linux.cc",
"base/network_change_notifier_linux.h",
"proxy_resolution/proxy_config_service_linux.cc",
"proxy_resolution/proxy_config_service_linux.h",
]
}
if (is_linux || is_chromeos || is_android) {
sources += [
"base/address_map_linux.cc",
"base/address_map_linux.h",
"base/address_tracker_linux.cc",
"base/address_tracker_linux.h",
"base/network_interfaces_linux.cc",
"base/network_interfaces_linux.h",
"base/platform_mime_util_linux.cc",
]
}
if (is_linux) {
sources += [
"base/address_map_cache_linux.cc",
"base/address_map_cache_linux.h",
]
}
if (is_chromeos) {
deps += [ "//third_party/xdg_shared_mime_info" ]
}
if (is_mac) {
sources += [
"base/network_notification_thread_mac.cc",
"base/network_notification_thread_mac.h",
"cert/cert_database_mac.cc",
"cert/internal/trust_store_mac.cc",
"cert/internal/trust_store_mac.h",
"cert/test_keychain_search_list_mac.cc",
"cert/test_keychain_search_list_mac.h",
"cert/test_root_certs_builtin.cc",
"proxy_resolution/proxy_config_service_mac.cc",
"proxy_resolution/proxy_config_service_mac.h",
"ssl/client_cert_identity_mac.cc",
"ssl/client_cert_identity_mac.h",
"ssl/client_cert_store_mac.cc",
"ssl/client_cert_store_mac.h",
"ssl/ssl_platform_key_mac.cc",
"ssl/ssl_platform_key_mac.h",
]
}
if (is_apple) {
sources += [
"base/mac/url_conversions.h",
"base/mac/url_conversions.mm",
"base/network_change_notifier_mac.h",
"base/network_change_notifier_mac.mm",
"base/network_config_watcher_mac.cc",
"base/network_config_watcher_mac.h",
"base/platform_mime_util_mac.mm",
"cert/x509_util_apple.cc",
"cert/x509_util_apple.h",
"proxy_resolution/proxy_resolver_mac.cc",
"proxy_resolution/proxy_resolver_mac.h",
"proxy_resolution/proxy_server_util_mac.cc",
"proxy_resolution/proxy_server_util_mac.h",
]
}
if (is_win) {
sources += [
"base/file_stream_context_win.cc",
"base/net_errors_win.cc",
"base/network_change_notifier_win.cc",
"base/network_change_notifier_win.h",
"base/network_interfaces_win.cc",
"base/network_interfaces_win.h",
"base/platform_mime_util_win.cc",
"base/winsock_init.cc",
"base/winsock_init.h",
"base/winsock_util.cc",
"base/winsock_util.h",
"cert/test_root_certs_builtin.cc",
"cert/x509_util_win.cc",
"cert/x509_util_win.h",
"disk_cache/blockfile/file_win.cc",
"disk_cache/blockfile/mapped_file_win.cc",
"disk_cache/cache_util_win.cc",
"disk_cache/simple/simple_util_win.cc",
"http/http_auth_handler_ntlm_win.cc",
"http/http_auth_sspi_win.cc",
"http/http_auth_sspi_win.h",
"http/url_security_manager_win.cc",
"proxy_resolution/win/dhcp_pac_file_adapter_fetcher_win.cc",
"proxy_resolution/win/dhcp_pac_file_adapter_fetcher_win.h",
"proxy_resolution/win/dhcp_pac_file_fetcher_win.cc",
"proxy_resolution/win/dhcp_pac_file_fetcher_win.h",
"proxy_resolution/win/dhcpcsvc_init_win.cc",
"proxy_resolution/win/dhcpcsvc_init_win.h",
"proxy_resolution/win/proxy_config_service_win.cc",
"proxy_resolution/win/proxy_config_service_win.h",
"proxy_resolution/win/proxy_resolver_winhttp.cc",
"proxy_resolution/win/proxy_resolver_winhttp.h",
"proxy_resolution/win/windows_system_proxy_resolution_request.cc",
"proxy_resolution/win/windows_system_proxy_resolution_request.h",
"proxy_resolution/win/windows_system_proxy_resolution_service.cc",
"proxy_resolution/win/windows_system_proxy_resolution_service.h",
"proxy_resolution/win/windows_system_proxy_resolver.h",
"proxy_resolution/win/winhttp_status.h",
"socket/tcp_socket_win.cc",
"socket/tcp_socket_win.h",
"socket/udp_socket_win.cc",
"socket/udp_socket_win.h",
"ssl/client_cert_store_win.cc",
"ssl/client_cert_store_win.h",
"ssl/ssl_platform_key_win.cc",
]
}
if (use_kerberos) {
sources += [
"http/http_auth_handler_negotiate.cc",
"http/http_auth_handler_negotiate.h",
]
}
if (is_posix || is_fuchsia) {
sources += [
"base/file_stream_context_posix.cc",
"base/network_interfaces_posix.cc",
"base/network_interfaces_posix.h",
"base/sockaddr_util_posix.cc",
"base/sockaddr_util_posix.h",
"disk_cache/cache_util_posix.cc",
"disk_cache/simple/simple_util_posix.cc",
"http/url_security_manager_posix.cc",
"socket/socket_posix.cc",
"socket/socket_posix.h",
"socket/tcp_socket_posix.cc",
"socket/tcp_socket_posix.h",
"socket/udp_socket_posix.cc",
"socket/udp_socket_posix.h",
]
if (!is_ios) {
sources += [ "disk_cache/blockfile/file_posix.cc" ]
}
if (posix_bypass_mmap) {
sources += [ "disk_cache/blockfile/mapped_file_bypass_mmap_posix.cc" ]
} else {
sources += [ "disk_cache/blockfile/mapped_file_posix.cc" ]
}
}
if (is_android || is_chromeos || is_linux) {
sources += [
"base/network_change_notifier_passive.cc",
"base/network_change_notifier_passive.h",
]
}
if (!is_win) {
sources += [
"http/http_auth_handler_ntlm_portable.cc",
"http/http_auth_ntlm_mechanism.cc",
"http/http_auth_ntlm_mechanism.h",
"ntlm/ntlm.cc",
"ntlm/ntlm.h",
"ntlm/ntlm_buffer_reader.cc",
"ntlm/ntlm_buffer_reader.h",
"ntlm/ntlm_buffer_writer.cc",
"ntlm/ntlm_buffer_writer.h",
"ntlm/ntlm_client.cc",
"ntlm/ntlm_client.h",
"ntlm/ntlm_constants.cc",
"ntlm/ntlm_constants.h",
]
}
if (use_external_gssapi) {
sources += [
"http/http_auth_gssapi_posix.cc",
"http/http_auth_gssapi_posix.h",
]
}
# Use getifaddrs() on POSIX platforms, except Linux.
if (is_posix && !is_linux && !is_chromeos) {
sources += [
"base/network_interfaces_getifaddrs.cc",
"base/network_interfaces_getifaddrs.h",
]
if (is_android) {
sources += [
"base/network_interfaces_getifaddrs_android.cc",
"base/network_interfaces_getifaddrs_android.h",
]
}
}
if (chrome_root_store_supported) {
sources += [
"cert/internal/trust_store_chrome.cc",
"cert/internal/trust_store_chrome.h",
]
deps += [
"//net/cert:root_store_proto_lite",
"//net/data/ssl/chrome_root_store:gen_root_store_inc",
]
if (is_win) {
sources += [
"cert/internal/trust_store_win.cc",
"cert/internal/trust_store_win.h",
"third_party/mozilla_win/cert/win_util.cc",
"third_party/mozilla_win/cert/win_util.h",
]
}
if (is_android) {
sources += [
"cert/internal/trust_store_android.cc",
"cert/internal/trust_store_android.h",
]
}
}
if (use_nss_certs) {
sources += [
"cert/internal/system_trust_store_nss.h",
"cert/internal/trust_store_nss.cc",
"cert/internal/trust_store_nss.h",
"cert/known_roots_nss.cc",
"cert/known_roots_nss.h",
"cert/nss_cert_database.cc",
"cert/nss_cert_database.h",
"cert/test_root_certs_builtin.cc",
"cert/x509_util_nss.cc",
"cert/x509_util_nss.h",
"third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
"third_party/mozilla_security_manager/nsNSSCertificateDB.h",
"third_party/mozilla_security_manager/nsPKCS12Blob.cpp",
"third_party/mozilla_security_manager/nsPKCS12Blob.h",
"third_party/nss/ssl/cmpcert.cc",
"third_party/nss/ssl/cmpcert.h",
]
if (!is_castos) {
sources += [
"ssl/client_cert_store_nss.cc",
"ssl/client_cert_store_nss.h",
"ssl/ssl_platform_key_nss.cc",
"ssl/ssl_platform_key_nss.h",
]
}
# TODO(https://crbug.com/978854): This is a public config because
# multi_threaded_cert_verifier.h depends on NSS. When the linked bug is
# fixed, switch this to a non-public config, so NSS usage must be explicit
# in the build.
public_configs = [ "//build/config/linux/nss" ]
}
if (is_fuchsia) {
deps += [ "//third_party/fuchsia-sdk/sdk/pkg/async-loop-cpp" ]
public_deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces_hlcpp" ]
sources += [
"base/fuchsia/network_interface_cache.cc",
"base/fuchsia/network_interface_cache.h",
"base/network_change_notifier_fuchsia.cc",
"base/network_change_notifier_fuchsia.h",
"base/network_interfaces_fuchsia.cc",
"base/network_interfaces_fuchsia.h",
"base/platform_mime_util_fuchsia.cc",
"cert/test_root_certs_builtin.cc",
]
}
if (enable_unix_sockets) {
sources += [
"socket/unix_domain_client_socket_posix.cc",
"socket/unix_domain_client_socket_posix.h",
"socket/unix_domain_server_socket_posix.cc",
"socket/unix_domain_server_socket_posix.h",
]
}
cflags = []
if (is_mac) {
libs = [ "resolv" ]
frameworks = [
"CFNetwork.framework",
"CoreServices.framework",
"Foundation.framework",
"Security.framework",
"SystemConfiguration.framework",
"UniformTypeIdentifiers.framework",
]
}
if (is_ios) {
libs = [ "resolv" ]
frameworks = [
"CFNetwork.framework",
"CoreTelephony.framework",
"MobileCoreServices.framework",
"Security.framework",
"SystemConfiguration.framework",
"UniformTypeIdentifiers.framework",
]
}
if (is_win) {
libs = [
"crypt32.lib",
"dhcpcsvc.lib",
"iphlpapi.lib",
"ncrypt.lib",
"rpcrt4.lib",
"secur32.lib",
"urlmon.lib",
"winhttp.lib",
]
ldflags = [ "/DELAYLOAD:urlmon.dll" ]
}
if (!disable_file_support) {
sources += [
"base/directory_lister.cc",
"base/directory_lister.h",
"base/directory_listing.cc",
"base/directory_listing.h",
]
}
if (enable_websockets) {
sources += [
"websockets/websocket_basic_handshake_stream.cc",
"websockets/websocket_basic_handshake_stream.h",
"websockets/websocket_basic_stream.cc",
"websockets/websocket_basic_stream.h",
"websockets/websocket_basic_stream_adapters.cc",
"websockets/websocket_basic_stream_adapters.h",
"websockets/websocket_channel.cc",
"websockets/websocket_channel.h",
"websockets/websocket_deflate_parameters.cc",
"websockets/websocket_deflate_parameters.h",
"websockets/websocket_deflate_predictor.h",
"websockets/websocket_deflate_predictor_impl.cc",
"websockets/websocket_deflate_predictor_impl.h",
"websockets/websocket_deflate_stream.cc",
"websockets/websocket_deflate_stream.h",
"websockets/websocket_deflater.cc",
"websockets/websocket_deflater.h",
"websockets/websocket_errors.cc",
"websockets/websocket_errors.h",
"websockets/websocket_event_interface.h",
"websockets/websocket_extension.cc",
"websockets/websocket_extension.h",
"websockets/websocket_extension_parser.cc",
"websockets/websocket_extension_parser.h",
"websockets/websocket_frame.cc",
"websockets/websocket_frame.h",
"websockets/websocket_frame_parser.cc",
"websockets/websocket_frame_parser.h",
"websockets/websocket_handshake_challenge.cc",
"websockets/websocket_handshake_challenge.h",
"websockets/websocket_handshake_constants.cc",
"websockets/websocket_handshake_constants.h",
"websockets/websocket_handshake_request_info.cc",
"websockets/websocket_handshake_request_info.h",
"websockets/websocket_handshake_response_info.cc",
"websockets/websocket_handshake_response_info.h",
"websockets/websocket_handshake_stream_base.cc",
"websockets/websocket_handshake_stream_base.h",
"websockets/websocket_handshake_stream_create_helper.cc",
"websockets/websocket_handshake_stream_create_helper.h",
"websockets/websocket_http2_handshake_stream.cc",
"websockets/websocket_http2_handshake_stream.h",
"websockets/websocket_http3_handshake_stream.cc",
"websockets/websocket_http3_handshake_stream.h",
"websockets/websocket_inflater.cc",
"websockets/websocket_inflater.h",
"websockets/websocket_quic_spdy_stream.cc",
"websockets/websocket_quic_spdy_stream.h",
"websockets/websocket_stream.cc",
"websockets/websocket_stream.h",
]
}
# ICU support.
if (use_platform_icu_alternatives) {
if (is_android) {
# Use ICU alternative on Android.
sources += [ "base/net_string_util_icu_alternatives_android.cc" ]
} else if (is_ios) {
# Use ICU alternative on iOS.
sources += [ "base/net_string_util_icu_alternatives_ios.mm" ]
} else {
assert(false,
"ICU alternative is not implemented for platform: " + target_os)
}
} else {
# Use ICU.
sources += [
"base/filename_util_icu.cc",
"base/net_string_util_icu.cc",
]
}
# Brotli support.
if (!disable_brotli_filter) {
sources += [
"filter/brotli_source_stream.cc",
"filter/brotli_source_stream.h",
]
} else {
sources += [ "filter/brotli_source_stream_disabled.cc" ]
}
# Zstd support.
if (!disable_zstd_filter) {
sources += [
"filter/zstd_source_stream.cc",
"filter/zstd_source_stream.h",
]
} else {
sources += [
"filter/zstd_source_stream.h",
"filter/zstd_source_stream_disabled.cc",
]
}
if (!is_debug && !optimize_for_size) {
configs -= [ "//build/config/compiler:default_optimization" ]
configs += [ "//build/config/compiler:optimize_max" ]
}
}
# net_export.h has its own build target so that code (eg
# net_nqe_proto) can use it without depending on the whole of //net.
source_set("net_export_header") {
sources = [ "base/net_export.h" ]
}
# Private dependencies for the //net component and for any build targets (e.g.
# source sets with circular dependencies with //net) that need to share the same
# dependencies.
source_set("net_deps") {
visibility = [
":net",
"//net/dns",
"//net/dns:dns_client",
"//net/dns:host_resolver",
"//net/dns:host_resolver_manager",
"//net/dns:mdns_client",
"//net/dns/public",
"//net/http:transport_security_state_generated_files",
"//net/third_party/quiche",
]
public_deps = [
":constants",
":cronet_buildflags",
":isolation_info_proto",
":net_export_header",
":preload_decoder",
"//base",
"//base/third_party/dynamic_annotations",
"//net/base/registry_controlled_domains",
"//third_party/protobuf:protobuf_lite",
"//third_party/zlib",
"//url:buildflags",
]
public_configs = net_configs
if (use_gio) {
public_configs += [ "//build/linux:gio_config" ]
}
if (is_android) {
public_deps += [ ":net_jni_headers" ]
}
if (is_fuchsia) {
public_deps += [
"//third_party/fuchsia-sdk/sdk/fidl/fuchsia.hardware.network:fuchsia.hardware.network_hlcpp",
"//third_party/fuchsia-sdk/sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces_hlcpp",
"//third_party/fuchsia-sdk/sdk/pkg/sys_cpp",
]
}
if (use_platform_icu_alternatives) {
if (is_android) {
public_deps += [ ":net_jni_headers" ]
}
} else {
public_deps += [
"//base:i18n",
"//third_party/icu",
]
}
if (!disable_brotli_filter) {
public_deps += [ "//third_party/brotli:dec" ]
} else {
public_deps += [ "//third_party/brotli:headers" ]
}
if (!disable_zstd_filter) {
public_deps += [ "//third_party/zstd:decompress" ]
} else {
public_deps += [ "//third_party/zstd:headers" ]
}
}
# Public dependencies for the //net component and for any build targets (e.g.
# source sets with circular dependencies with //net) that need to share the same
# dependencies.
source_set("net_public_deps") {
visibility = [
":net",
"//net/dns",
"//net/dns:dns_client",
"//net/dns:host_resolver",
"//net/dns:host_resolver_manager",
"//net/dns:mdns_client",
"//net/dns/public",
"//net/http:transport_security_state_generated_files",
"//net/third_party/quiche",
]
public_deps = [
":buildflags",
":net_nqe_proto",
":uri_template",
"//base",
"//crypto",
"//net/third_party/quiche",
"//net/third_party/quiche:net_quic_test_tools_proto",
"//net/traffic_annotation",
"//third_party/boringssl",
"//url",
]
if (chrome_root_store_supported) {
public_deps += [ "//net/cert:root_store_proto_lite" ]
}
}
if (is_android) {
java_cpp_enum("effective_connection_type_java") {
sources = [ "//net/nqe/effective_connection_type.h" ]
}
}
component("uri_template") {
sources = [
"third_party/uri_template/uri_template.cc",
"third_party/uri_template/uri_template.h",
]
visibility = [
":net_public_deps",
"//net/third_party/quiche",
]
defines = [ "IS_URI_TEMPLATE_IMPL" ]
public_deps = [ "//base" ]
}
proto_library("net_nqe_proto") {
visibility = [ ":net_public_deps" ]
sources = [ "nqe/proto/network_id_proto.proto" ]
cc_generator_options = "dllexport_decl=NET_EXPORT_PRIVATE:"
cc_include = "net/base/net_export.h"
component_build_force_source_set = true
deps = [ ":net_export_header" ]
defines = [ "NET_IMPLEMENTATION" ]
extra_configs = [ "//build/config/compiler:wexit_time_destructors" ]
}
proto_library("isolation_info_proto") {
sources = [ "base/isolation_info.proto" ]
}
static_library("preload_decoder") {
sources = [
"extras/preload_data/decoder.cc",
"extras/preload_data/decoder.h",
]
deps = [ "//base" ]
}