| Index: net/BUILD.gn | 
| diff --git a/net/BUILD.gn b/net/BUILD.gn | 
| index d0f91ddd81a22c017fae1117ab9b7c1696d4c75a..bb8f487acbb31cbf38f28ab3f5f60c2b5dd6ec9f 100644 | 
| --- a/net/BUILD.gn | 
| +++ b/net/BUILD.gn | 
| @@ -7,6 +7,7 @@ import("//build/config/chromecast_build.gni") | 
| import("//build/config/compiler/compiler.gni") | 
| import("//build/config/crypto.gni") | 
| import("//build/config/features.gni") | 
| +import("//build/config/jumbo.gni") | 
| import("//build/config/ui.gni") | 
| import("//net/features.gni") | 
| import("//testing/libfuzzer/fuzzer_test.gni") | 
| @@ -108,7 +109,8 @@ source_set("constants") { | 
| ] | 
| } | 
|  | 
| -component("net") { | 
| +jumbo_component("net") { | 
| +  target_type = "component" | 
| sources = [ | 
| "base/address_family.cc", | 
| "base/address_family.h", | 
| @@ -285,7 +287,7 @@ component("net") { | 
| "http/http_response_info.h", | 
| "http/http_security_headers.cc", | 
| "http/http_security_headers.h", | 
| -    "http/http_status_code_list", | 
| +    "http/http_status_code_list.h", | 
| "http/http_util.cc", | 
| "http/http_util.h", | 
| "http/http_vary_data.cc", | 
| @@ -359,6 +361,101 @@ component("net") { | 
| "ssl/token_binding.cc", | 
| "ssl/token_binding.h", | 
| ] | 
| + | 
| +  jumbo_excluded_sources = [ | 
| +  ] | 
| +  if (!is_nacl) { | 
| +    jumbo_excluded_sources += [ | 
| +      # Something with templates and Entry classes. | 
| +      "disk_cache/net_log_parameters.cc", | 
| + | 
| +      # Too many WriteResult enums. | 
| +      "disk_cache/simple/simple_entry_impl.cc", | 
| + | 
| +      # Too many RecordWriteResult. | 
| +      "disk_cache/simple/simple_synchronous_entry.cc", | 
| + | 
| +      # Same UMA macro CACHE_UMA_BACKEND_IMPL_OBJ in both entry_impl.cc | 
| +      # and backend_impl.cc | 
| +      "disk_cache/blockfile/entry_impl.cc", | 
| +      "disk_cache/blockfile/backend_impl.cc", | 
| +      "disk_cache/blockfile/eviction.cc", | 
| + | 
| +      # cubic_bytes.cc, cubic.cc, tcp_cubic_sender_base.cc, | 
| +      # tcp_cubic_sender_packets.cc and tcp_cubic_sender_bytes.cc use | 
| +      # the same constants (many) | 
| +      "quic/core/congestion_control/cubic_bytes.cc", | 
| +      "quic/core/congestion_control/cubic.cc", | 
| +      "quic/core/congestion_control/tcp_cubic_sender_packets.cc", | 
| +      "quic/core/congestion_control/tcp_cubic_sender_bytes.cc", | 
| + | 
| +      # Using the same functions, same constants. | 
| +      "quic/core/crypto/aes_128_gcm_12_decrypter.cc", | 
| +      "quic/core/crypto/aes_128_gcm_12_encrypter.cc", | 
| + | 
| +      # Using the same constants. | 
| +      "quic/core/crypto/chacha20_poly1305_decrypter.cc", | 
| +      "quic/core/crypto/chacha20_poly1305_encrypter.cc", | 
| + | 
| +      # Same RETURN_STRING_LITERAL as quic/core/crypto/crypto_utils.cc | 
| +      "quic/core/quic_error_codes.cc", | 
| +      "quic/core/quic_utils.cc", | 
| + | 
| +      # Too many kReadBufferSize | 
| +      "quic/core/quic_spdy_session.cc", | 
| +      "spdy/chromium/spdy_session.cc", | 
| + | 
| +      # Not C++ | 
| +      "http2/hpack/hpack_static_table_entries.inc", | 
| + | 
| +      # Too many (identical) ScopedBoolSaver classes. | 
| +      # Also in quic_chromium_client_stream.cc. | 
| +      "quic/chromium/bidirectional_stream_quic_impl.cc", | 
| + | 
| +      # Too many kExpirationKey and NetLogCallback. | 
| +      "http/http_server_properties_manager.cc", | 
| + | 
| +      # HttpBasicState::read_buf() mising. | 
| +      "http/http_basic_state.cc", | 
| + | 
| +      # Too many kValueSeparator. | 
| +      "cookies/parsed_cookie.cc", | 
| +    ] | 
| + | 
| +    if (use_nss_certs) { | 
| +      jumbo_excluded_sources += [ | 
| +        # NSS and BoringSSL share header defines | 
| +        "ssl/client_cert_store_nss.cc", | 
| +        "ssl/ssl_platform_key_nss.cc", | 
| +        "third_party/nss/ssl/cmpcert.cc", | 
| +        "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp", | 
| +        "third_party/mozilla_security_manager/nsPKCS12Blob.cpp", | 
| +        "cert/cert_verify_proc.cc", | 
| +        "cert/cert_verify_proc_nss.cc", | 
| +        "cert/ev_root_ca_metadata.cc", | 
| +        "cert/internal/system_trust_store.cc", | 
| +        "cert/internal/trust_store_nss.cc", | 
| +        "cert/known_roots_nss.cc", | 
| +        "cert/nss_cert_database.cc", | 
| +        "cert/test_root_certs.cc", | 
| +        "cert/test_root_certs_nss.cc", | 
| +        "cert/x509_certificate_nss.cc", | 
| +        "cert/x509_util_nss.cc", | 
| +      ] | 
| +    } | 
| + | 
| +    if (is_posix) { | 
| +      jumbo_excluded_sources += [ | 
| +        # Uses <linux/if.h> which has the same defines as <net/if.h> | 
| +        "base/network_interfaces_posix.cc", | 
| +        "base/network_interfaces_linux.cc", | 
| + | 
| +        # IFF_LOWER_UP or IF_OPER_UP? | 
| +      "base/address_tracker_linux.cc", | 
| +      ] | 
| +    } | 
| +  } | 
| + | 
| net_unfiltered_sources = [] | 
|  | 
| deps = [ | 
|  |