1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import("//build/config/crypto.gni") 6 import("//build/config/features.gni") 7 import("//build/config/ui.gni") 8 import("//url/config.gni") 9 10 # TODO(cjhopman): //build/config/android/rules.gni also imports grit_rule.gni. 11 # Currently, that file can't be imported multiple times. Make this always 12 # imported when http://crbug.com/393704 is fixed. 13 if (!is_android) { 14 import("//tools/grit/grit_rule.gni") 15 } 16 17 if (is_android) { 18 import("//build/config/android/config.gni") 19 import("//build/config/android/rules.gni") 20 } else if (is_mac) { 21 import("//build/config/mac/mac_sdk.gni") 22 } 23 24 # The list of net files is kept in net.gypi. Read it. 25 gypi_values = exec_script( 26 "//build/gypi_to_gn.py", 27 [ rebase_path("net.gypi") ], 28 "scope", 29 [ "net.gypi" ]) 30 31 # Disable Kerberos on ChromeOS, Android and iOS, at least for now. It needs 32 # configuration (krb5.conf and so on). 33 use_kerberos = !is_chromeos && !is_android && !is_ios 34 35 # The way the cache uses mmap() is inefficient on some Android devices. If 36 # this flag is set, we hackily avoid using mmap() in the disk cache. We are 37 # pretty confident that mmap-ing the index would not hurt any existing x86 38 # android devices, but we cannot be so sure about the variety of ARM devices. 39 # So enable it for x86 only for now. 40 posix_avoid_mmap = is_android && cpu_arch != "x86" 41 42 # WebSockets and socket stream code are used everywhere except iOS. 43 enable_websockets = !is_ios 44 use_v8_in_net = !is_ios 45 enable_built_in_dns = !is_ios 46 disable_ftp_support = is_ios 47 48 declare_args() { 49 # Disables support for file URLs. File URL support requires use of icu. 50 disable_file_support = false 51 } 52 53 config("net_config") { 54 defines = [] 55 if (posix_avoid_mmap) { 56 defines += [ "POSIX_AVOID_MMAP" ] 57 } 58 if (disable_file_support) { 59 defines += [ "DISABLE_FILE_SUPPORT" ] 60 } 61 } 62 63 # Disables Windows warning about size to int truncations. 64 # TODO(jschuh): crbug.com/167187 fix this and delete this config. 65 config("net_win_size_truncation") { 66 if (is_win) { 67 cflags = [ "/wd4267" ] 68 } 69 } 70 71 component("net") { 72 sources = 73 gypi_values.net_nacl_common_sources + 74 gypi_values.net_non_nacl_sources 75 76 cflags = [] 77 defines = [ 78 # TODO(GYP) Note that he GYP file supports linux_link_kerberos (defaults to 79 # 0) which implies that we run pkg_config on kerberos and link to that 80 # rather than setting this define which will dynamically open it. That 81 # doesn't seem to be set in the regular builds, so we're skipping this 82 # capability here. 83 "DLOPEN_KERBEROS", 84 "NET_IMPLEMENTATION" 85 ] 86 configs += [ ":net_win_size_truncation" ] 87 public_configs = [ ":net_config" ] 88 include_dirs = [] 89 90 public_deps = [ 91 "//crypto", 92 "//crypto:platform" 93 ] 94 deps = [ 95 ":net_resources", 96 "//base", 97 "//base:i18n", 98 "//base:prefs", 99 "//base/third_party/dynamic_annotations", 100 "//net/base/registry_controlled_domains", 101 "//sdch", 102 "//third_party/icu", 103 "//third_party/zlib", 104 "//url", 105 ] 106 107 if (use_kerberos) { 108 defines += [ "USE_KERBEROS" ] 109 if (is_android) { 110 include_dirs += [ "/usr/include/kerberosV" ] 111 } 112 } else { 113 sources -= [ 114 "http/http_auth_gssapi_posix.cc", 115 "http/http_auth_gssapi_posix.h", 116 "http/http_auth_handler_negotiate.h", 117 "http/http_auth_handler_negotiate.cc", 118 ] 119 } 120 121 if (is_posix) { 122 if (posix_avoid_mmap) { 123 sources -= [ "disk_cache/blockfile/mapped_file_posix.cc" ] 124 } else { 125 sources -= [ "disk_cache/blockfile/mapped_file_avoid_mmap_posix.cc" ] 126 } 127 } 128 129 if (disable_file_support) { 130 sources -= [ 131 "base/directory_lister.cc", 132 "base/directory_lister.h", 133 "url_request/url_request_file_dir_job.cc", 134 "url_request/url_request_file_dir_job.h", 135 "url_request/url_request_file_job.cc", 136 "url_request/url_request_file_job.h", 137 "url_request/file_protocol_handler.cc", 138 "url_request/file_protocol_handler.h", 139 ] 140 } 141 142 if (disable_ftp_support) { 143 sources -= [ 144 "ftp/ftp_auth_cache.cc", 145 "ftp/ftp_auth_cache.h", 146 "ftp/ftp_ctrl_response_buffer.cc", 147 "ftp/ftp_ctrl_response_buffer.h", 148 "ftp/ftp_directory_listing_parser.cc", 149 "ftp/ftp_directory_listing_parser.h", 150 "ftp/ftp_directory_listing_parser_ls.cc", 151 "ftp/ftp_directory_listing_parser_ls.h", 152 "ftp/ftp_directory_listing_parser_netware.cc", 153 "ftp/ftp_directory_listing_parser_netware.h", 154 "ftp/ftp_directory_listing_parser_os2.cc", 155 "ftp/ftp_directory_listing_parser_os2.h", 156 "ftp/ftp_directory_listing_parser_vms.cc", 157 "ftp/ftp_directory_listing_parser_vms.h", 158 "ftp/ftp_directory_listing_parser_windows.cc", 159 "ftp/ftp_directory_listing_parser_windows.h", 160 "ftp/ftp_network_layer.cc", 161 "ftp/ftp_network_layer.h", 162 "ftp/ftp_network_session.cc", 163 "ftp/ftp_network_session.h", 164 "ftp/ftp_network_transaction.cc", 165 "ftp/ftp_network_transaction.h", 166 "ftp/ftp_request_info.h", 167 "ftp/ftp_response_info.cc", 168 "ftp/ftp_response_info.h", 169 "ftp/ftp_server_type_histograms.cc", 170 "ftp/ftp_server_type_histograms.h", 171 "ftp/ftp_transaction.h", 172 "ftp/ftp_transaction_factory.h", 173 "ftp/ftp_util.cc", 174 "ftp/ftp_util.h", 175 "url_request/ftp_protocol_handler.cc", 176 "url_request/ftp_protocol_handler.h", 177 "url_request/url_request_ftp_job.cc", 178 "url_request/url_request_ftp_job.h", 179 ] 180 } 181 182 if (enable_built_in_dns) { 183 defines += [ "ENABLE_BUILT_IN_DNS" ] 184 } else { 185 sources -= [ 186 "dns/address_sorter_posix.cc", 187 "dns/address_sorter_posix.h", 188 "dns/dns_client.cc", 189 ] 190 } 191 192 if (use_openssl) { 193 sources -= [ 194 "base/nss_memio.c", 195 "base/nss_memio.h", 196 "cert/ct_log_verifier_nss.cc", 197 "cert/ct_objects_extractor_nss.cc", 198 "cert/jwk_serializer_nss.cc", 199 "cert/scoped_nss_types.h", 200 "cert/x509_util_nss.cc", 201 "cert/x509_util_nss.h", 202 "quic/crypto/aead_base_decrypter_nss.cc", 203 "quic/crypto/aead_base_encrypter_nss.cc", 204 "quic/crypto/aes_128_gcm_12_decrypter_nss.cc", 205 "quic/crypto/aes_128_gcm_12_encrypter_nss.cc", 206 "quic/crypto/chacha20_poly1305_decrypter_nss.cc", 207 "quic/crypto/chacha20_poly1305_encrypter_nss.cc", 208 "quic/crypto/channel_id_nss.cc", 209 "quic/crypto/p256_key_exchange_nss.cc", 210 "socket/nss_ssl_util.cc", 211 "socket/nss_ssl_util.h", 212 "socket/ssl_client_socket_nss.cc", 213 "socket/ssl_client_socket_nss.h", 214 "socket/ssl_server_socket_nss.cc", 215 "socket/ssl_server_socket_nss.h", 216 ] 217 if (is_chromeos) { 218 sources -= [ 219 "cert/nss_cert_database_chromeos.cc", 220 "cert/nss_cert_database_chromeos.h", 221 "cert/nss_profile_filter_chromeos.cc", 222 "cert/nss_profile_filter_chromeos.h", 223 ] 224 } 225 if (is_linux) { 226 # These are always removed for non-Linux cases below. 227 sources -= [ 228 "base/crypto_module_nss.cc", 229 "base/keygen_handler_nss.cc", 230 "cert/cert_database_nss.cc", 231 "cert/nss_cert_database.cc", 232 "cert/nss_cert_database.h", 233 "cert/x509_certificate_nss.cc", 234 "third_party/mozilla_security_manager/nsKeygenHandler.cpp", 235 "third_party/mozilla_security_manager/nsKeygenHandler.h", 236 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp", 237 "third_party/mozilla_security_manager/nsNSSCertificateDB.h", 238 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp", 239 "third_party/mozilla_security_manager/nsPKCS12Blob.h", 240 ] 241 } 242 if (is_ios) { 243 # Always removed for !ios below. 244 sources -= [ 245 "cert/cert_verify_proc_nss.cc", 246 "cert/cert_verify_proc_nss.h", 247 "cert/test_root_certs_nss.cc", 248 "ocsp/nss_ocsp.cc", 249 "ocsp/nss_ocsp.h", 250 ] 251 } 252 } else { 253 sources -= [ 254 "base/crypto_module_openssl.cc", 255 "cert/ct_log_verifier_openssl.cc", 256 "cert/ct_objects_extractor_openssl.cc", 257 "cert/jwk_serializer_openssl.cc", 258 "cert/x509_util_openssl.cc", 259 "cert/x509_util_openssl.h", 260 "quic/crypto/aead_base_decrypter_openssl.cc", 261 "quic/crypto/aead_base_encrypter_openssl.cc", 262 "quic/crypto/aes_128_gcm_12_decrypter_openssl.cc", 263 "quic/crypto/aes_128_gcm_12_encrypter_openssl.cc", 264 "quic/crypto/chacha20_poly1305_decrypter_openssl.cc", 265 "quic/crypto/chacha20_poly1305_encrypter_openssl.cc", 266 "quic/crypto/channel_id_openssl.cc", 267 "quic/crypto/p256_key_exchange_openssl.cc", 268 "quic/crypto/scoped_evp_aead_ctx.cc", 269 "quic/crypto/scoped_evp_aead_ctx.h", 270 "socket/ssl_client_socket_openssl.cc", 271 "socket/ssl_client_socket_openssl.h", 272 "socket/ssl_server_socket_openssl.cc", 273 "socket/ssl_server_socket_openssl.h", 274 "socket/ssl_session_cache_openssl.cc", 275 "socket/ssl_session_cache_openssl.h", 276 "ssl/openssl_platform_key.h", 277 "ssl/openssl_ssl_util.cc", 278 "ssl/openssl_ssl_util.h", 279 ] 280 if (is_mac) { 281 sources -= [ 282 "ssl/openssl_platform_key_mac.cc", 283 ] 284 } 285 if (is_win) { 286 sources -= [ 287 "ssl/openssl_platform_key_win.cc", 288 ] 289 } 290 } 291 292 if (!use_openssl_certs) { 293 sources -= [ 294 "base/keygen_handler_openssl.cc", 295 "base/openssl_private_key_store.h", 296 "base/openssl_private_key_store_memory.cc", 297 "cert/cert_database_openssl.cc", 298 "cert/cert_verify_proc_openssl.cc", 299 "cert/cert_verify_proc_openssl.h", 300 "cert/test_root_certs_openssl.cc", 301 "cert/x509_certificate_openssl.cc", 302 "ssl/openssl_client_key_store.cc", 303 "ssl/openssl_client_key_store.h", 304 ] 305 if (is_android) { 306 sources -= [ 307 "base/openssl_private_key_store_android.cc", 308 ] 309 } 310 } else if (is_android) { 311 # Android doesn't use these even when using OpenSSL. 312 sources -= [ 313 "base/openssl_private_key_store_memory.cc", 314 "cert/cert_database_openssl.cc", 315 "cert/cert_verify_proc_openssl.cc", 316 "cert/test_root_certs_openssl.cc", 317 ] 318 } 319 320 if (use_glib) { 321 configs += [ "//build/config/linux:gconf" ] 322 deps += [ "//build/config/linux:gio" ] 323 } 324 325 if (is_linux) { 326 configs += [ "//build/config/linux:libresolv" ] 327 } else { 328 sources -= [ 329 "base/crypto_module_nss.cc", 330 "base/keygen_handler_nss.cc", 331 "cert/cert_database_nss.cc", 332 "cert/nss_cert_database.cc", 333 "cert/nss_cert_database.h", 334 "cert/x509_certificate_nss.cc", 335 "third_party/mozilla_security_manager/nsKeygenHandler.cpp", 336 "third_party/mozilla_security_manager/nsKeygenHandler.h", 337 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp", 338 "third_party/mozilla_security_manager/nsNSSCertificateDB.h", 339 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp", 340 "third_party/mozilla_security_manager/nsPKCS12Blob.h", 341 ] 342 343 if (!is_ios) { 344 # These files are part of the partial implementation of NSS on iOS so 345 # keep them in that case. 346 sources -= [ 347 "cert/test_root_certs_nss.cc", 348 "ocsp/nss_ocsp.cc", 349 "ocsp/nss_ocsp.h", 350 ] 351 } 352 } 353 354 if (!use_nss_certs) { 355 sources -= [ 356 "ssl/client_cert_store_nss.cc", 357 "ssl/client_cert_store_nss.h", 358 ] 359 if (!is_ios) { 360 # These files are part of the partial implementation of NSS on iOS so 361 # keep them in that case (even though use_nss_certs is not set). 362 sources -= [ 363 "cert/cert_verify_proc_nss.cc", 364 "cert/cert_verify_proc_nss.h", 365 ] 366 } 367 if (is_chromeos) { 368 # These were already removed on non-ChromeOS. 369 sources -= [ 370 "ssl/client_cert_store_chromeos.cc", 371 "ssl/client_cert_store_chromeos.h", 372 ] 373 } 374 } 375 376 if (!enable_websockets) { 377 sources -= [ 378 "socket_stream/socket_stream.cc", 379 "socket_stream/socket_stream.h", 380 "socket_stream/socket_stream_job.cc", 381 "socket_stream/socket_stream_job.h", 382 "socket_stream/socket_stream_job_manager.cc", 383 "socket_stream/socket_stream_job_manager.h", 384 "socket_stream/socket_stream_metrics.cc", 385 "socket_stream/socket_stream_metrics.h", 386 "spdy/spdy_websocket_stream.cc", 387 "spdy/spdy_websocket_stream.h", 388 "websockets/websocket_basic_handshake_stream.cc", 389 "websockets/websocket_basic_handshake_stream.h", 390 "websockets/websocket_basic_stream.cc", 391 "websockets/websocket_basic_stream.h", 392 "websockets/websocket_channel.cc", 393 "websockets/websocket_channel.h", 394 "websockets/websocket_deflate_predictor.h", 395 "websockets/websocket_deflate_predictor_impl.cc", 396 "websockets/websocket_deflate_predictor_impl.h", 397 "websockets/websocket_deflate_stream.cc", 398 "websockets/websocket_deflate_stream.h", 399 "websockets/websocket_deflater.cc", 400 "websockets/websocket_deflater.h", 401 "websockets/websocket_errors.cc", 402 "websockets/websocket_errors.h", 403 "websockets/websocket_extension.cc", 404 "websockets/websocket_extension.h", 405 "websockets/websocket_extension_parser.cc", 406 "websockets/websocket_extension_parser.h", 407 "websockets/websocket_frame.cc", 408 "websockets/websocket_frame.h", 409 "websockets/websocket_frame_parser.cc", 410 "websockets/websocket_frame_parser.h", 411 "websockets/websocket_handshake_constants.cc", 412 "websockets/websocket_handshake_constants.h", 413 "websockets/websocket_handshake_handler.cc", 414 "websockets/websocket_handshake_handler.h", 415 "websockets/websocket_handshake_request_info.cc", 416 "websockets/websocket_handshake_request_info.h", 417 "websockets/websocket_handshake_response_info.cc", 418 "websockets/websocket_handshake_response_info.h", 419 "websockets/websocket_handshake_stream_base.h", 420 "websockets/websocket_handshake_stream_create_helper.cc", 421 "websockets/websocket_handshake_stream_create_helper.h", 422 "websockets/websocket_inflater.cc", 423 "websockets/websocket_inflater.h", 424 "websockets/websocket_job.cc", 425 "websockets/websocket_job.h", 426 "websockets/websocket_mux.h", 427 "websockets/websocket_net_log_params.cc", 428 "websockets/websocket_net_log_params.h", 429 "websockets/websocket_stream.cc", 430 "websockets/websocket_stream.h", 431 "websockets/websocket_throttle.cc", 432 "websockets/websocket_throttle.h", 433 ] 434 } 435 436 if (!enable_mdns) { 437 sources -= [ 438 "dns/mdns_cache.cc", 439 "dns/mdns_cache.h", 440 "dns/mdns_client.cc", 441 "dns/mdns_client.h", 442 "dns/mdns_client_impl.cc", 443 "dns/mdns_client_impl.h", 444 "dns/record_parsed.cc", 445 "dns/record_parsed.h", 446 "dns/record_rdata.cc", 447 "dns/record_rdata.h", 448 ] 449 } 450 451 if (is_win) { 452 sources -= [ 453 "http/http_auth_handler_ntlm_portable.cc", 454 "socket/socket_libevent.cc", 455 "socket/socket_libevent.h", 456 "socket/tcp_socket_libevent.cc", 457 "socket/tcp_socket_libevent.h", 458 "udp/udp_socket_libevent.cc", 459 "udp/udp_socket_libevent.h", 460 ] 461 deps += [ 462 "//third_party/nss:nspr", 463 "//third_party/nss", 464 ] 465 } else { # !is_win 466 sources -= [ 467 "base/winsock_init.cc", 468 "base/winsock_init.h", 469 "base/winsock_util.cc", 470 "base/winsock_util.h", 471 "proxy/proxy_resolver_winhttp.cc", 472 "proxy/proxy_resolver_winhttp.h", 473 ] 474 } 475 476 if (is_mac) { 477 if (!use_openssl) { 478 deps += [ 479 "//third_party/nss:nspr", 480 "//third_party/nss", 481 ] 482 } 483 libs = [ 484 "Foundation.framework", 485 "Security.framework", 486 "SystemConfiguration.framework", 487 "resolv", 488 ] 489 } 490 491 if (is_ios) { 492 # Add back some sources that were otherwise filtered out. iOS additionally 493 # doesn't set USE_NSS but needs some of the files. 494 set_sources_assignment_filter([]) 495 sources += [ 496 "base/network_change_notifier_mac.cc", 497 "base/network_config_watcher_mac.cc", 498 "base/platform_mime_util_mac.mm", 499 "cert/cert_verify_proc_nss.cc", 500 "cert/cert_verify_proc_nss.h", 501 "cert/test_root_certs_nss.cc", 502 "cert/x509_util_nss.cc", 503 "cert/x509_util_nss.h", 504 "proxy/proxy_resolver_mac.cc", 505 "proxy/proxy_server_mac.cc", 506 "ocsp/nss_ocsp.cc", 507 "ocsp/nss_ocsp.h", 508 ] 509 set_sources_assignment_filter(sources_assignment_filter) 510 511 sources -= [ "disk_cache/blockfile/file_posix.cc" ] 512 deps += [ 513 "//third_party/nss", 514 ] 515 libs = [ 516 "CFNetwork.framework", 517 "MobileCoreServices.framework", 518 "Security.framework", 519 "SystemConfiguration.framework", 520 "resolv", 521 ] 522 } 523 524 if (is_android) { 525 # Add some Linux sources that were excluded by the filter, but which 526 # are needed. 527 set_sources_assignment_filter([]) 528 sources += [ 529 "base/platform_mime_util_linux.cc", 530 "base/address_tracker_linux.cc", 531 "base/address_tracker_linux.h", 532 ] 533 set_sources_assignment_filter(sources_assignment_filter) 534 535 if (!is_android_webview_build) { 536 deps += [ ":net_jni_headers" ] 537 } 538 } 539 540 if (use_icu_alternatives_on_android) { 541 deps -= [ 542 "//base:i18n", 543 "//third_party/icu", 544 ] 545 sources -= [ 546 "base/filename_util_icu.cc", 547 "base/net_string_util_icu.cc", 548 "base/net_util_icu.cc", 549 ] 550 sources += [ 551 "base/net_string_util_icu_alternatives_android.cc", 552 "base/net_string_util_icu_alternatives_android.h", 553 ] 554 } 555 } 556 557 grit("net_resources") { 558 source = "base/net_resources.grd" 559 use_qualified_include = true 560 outputs = [ 561 "grit/net_resources.h", 562 "net_resources.pak", 563 "net_resources.rc", 564 ] 565 } 566 567 static_library("extras") { 568 sources = gypi_values.net_extras_sources 569 configs += [ "//build/config/compiler:wexit_time_destructors" ] 570 deps = [ 571 ":net", 572 "//sql:sql", 573 ] 574 } 575 576 static_library("http_server") { 577 sources = [ 578 "server/http_connection.cc", 579 "server/http_connection.h", 580 "server/http_server.cc", 581 "server/http_server.h", 582 "server/http_server_request_info.cc", 583 "server/http_server_request_info.h", 584 "server/http_server_response_info.cc", 585 "server/http_server_response_info.h", 586 "server/web_socket.cc", 587 "server/web_socket.h", 588 ] 589 configs += [ "//build/config/compiler:wexit_time_destructors" ] 590 deps = [ 591 ":net", 592 "//base", 593 ] 594 } 595 596 executable("dump_cache") { 597 testonly = true 598 sources = [ 599 "tools/dump_cache/cache_dumper.cc", 600 "tools/dump_cache/cache_dumper.h", 601 "tools/dump_cache/dump_cache.cc", 602 "tools/dump_cache/dump_files.cc", 603 "tools/dump_cache/dump_files.h", 604 "tools/dump_cache/simple_cache_dumper.cc", 605 "tools/dump_cache/simple_cache_dumper.h", 606 "tools/dump_cache/url_to_filename_encoder.cc", 607 "tools/dump_cache/url_to_filename_encoder.h", 608 "tools/dump_cache/url_utilities.h", 609 "tools/dump_cache/url_utilities.cc", 610 ] 611 612 configs += [ ":net_win_size_truncation" ] 613 614 deps = [ 615 "//base", 616 ":net", 617 ":test_support", 618 ] 619 } 620 621 source_set("test_support") { 622 testonly = true 623 sources = [ 624 "base/capturing_net_log.cc", 625 "base/capturing_net_log.h", 626 "base/load_timing_info_test_util.cc", 627 "base/load_timing_info_test_util.h", 628 "base/mock_file_stream.cc", 629 "base/mock_file_stream.h", 630 "base/test_completion_callback.cc", 631 "base/test_completion_callback.h", 632 "base/test_data_directory.cc", 633 "base/test_data_directory.h", 634 "cert/mock_cert_verifier.cc", 635 "cert/mock_cert_verifier.h", 636 "cookies/cookie_monster_store_test.cc", 637 "cookies/cookie_monster_store_test.h", 638 "cookies/cookie_store_test_callbacks.cc", 639 "cookies/cookie_store_test_callbacks.h", 640 "cookies/cookie_store_test_helpers.cc", 641 "cookies/cookie_store_test_helpers.h", 642 "disk_cache/disk_cache_test_base.cc", 643 "disk_cache/disk_cache_test_base.h", 644 "disk_cache/disk_cache_test_util.cc", 645 "disk_cache/disk_cache_test_util.h", 646 "dns/dns_test_util.cc", 647 "dns/dns_test_util.h", 648 "dns/mock_host_resolver.cc", 649 "dns/mock_host_resolver.h", 650 "dns/mock_mdns_socket_factory.cc", 651 "dns/mock_mdns_socket_factory.h", 652 "http/http_transaction_test_util.cc", 653 "http/http_transaction_test_util.h", 654 "proxy/mock_proxy_resolver.cc", 655 "proxy/mock_proxy_resolver.h", 656 "proxy/mock_proxy_script_fetcher.cc", 657 "proxy/mock_proxy_script_fetcher.h", 658 "proxy/proxy_config_service_common_unittest.cc", 659 "proxy/proxy_config_service_common_unittest.h", 660 "socket/socket_test_util.cc", 661 "socket/socket_test_util.h", 662 "test/cert_test_util.cc", 663 "test/cert_test_util.h", 664 "test/cert_test_util_nss.cc", 665 "test/ct_test_util.cc", 666 "test/ct_test_util.h", 667 "test/embedded_test_server/embedded_test_server.cc", 668 "test/embedded_test_server/embedded_test_server.h", 669 "test/embedded_test_server/http_connection.cc", 670 "test/embedded_test_server/http_connection.h", 671 "test/embedded_test_server/http_request.cc", 672 "test/embedded_test_server/http_request.h", 673 "test/embedded_test_server/http_response.cc", 674 "test/embedded_test_server/http_response.h", 675 "test/net_test_suite.cc", 676 "test/net_test_suite.h", 677 "test/python_utils.cc", 678 "test/python_utils.h", 679 "test/spawned_test_server/base_test_server.cc", 680 "test/spawned_test_server/base_test_server.h", 681 "test/spawned_test_server/local_test_server_posix.cc", 682 "test/spawned_test_server/local_test_server_win.cc", 683 "test/spawned_test_server/local_test_server.cc", 684 "test/spawned_test_server/local_test_server.h", 685 "test/spawned_test_server/remote_test_server.cc", 686 "test/spawned_test_server/remote_test_server.h", 687 "test/spawned_test_server/spawned_test_server.h", 688 "test/spawned_test_server/spawner_communicator.cc", 689 "test/spawned_test_server/spawner_communicator.h", 690 "url_request/test_url_fetcher_factory.cc", 691 "url_request/test_url_fetcher_factory.h", 692 "url_request/test_url_request_interceptor.cc", 693 "url_request/test_url_request_interceptor.h", 694 "url_request/url_request_test_util.cc", 695 "url_request/url_request_test_util.h", 696 ] 697 698 configs += [ ":net_win_size_truncation" ] 699 700 public_deps = [ 701 "//base", 702 "//base/test:test_support", 703 "//crypto", 704 "//net", 705 "//net/tools/tld_cleanup", 706 "//testing/gmock", 707 "//testing/gtest", 708 "//url", 709 ] 710 711 if (is_ios) { 712 public_deps += [ "//third_party/nss" ] 713 } 714 715 if (!is_android) { 716 sources -= [ 717 "test/spawned_test_server/remote_test_server.cc", 718 "test/spawned_test_server/remote_test_server.h", 719 "test/spawned_test_server/spawner_communicator.cc", 720 "test/spawned_test_server/spawner_communicator.h", 721 ] 722 } 723 724 if (use_v8_in_net) { 725 public_deps += [ ":net_with_v8" ] 726 } 727 728 if (!enable_mdns) { 729 sources -= [ 730 "dns/mock_mdns_socket_factory.cc", 731 "dns/mock_mdns_socket_factory.h", 732 ] 733 } 734 735 if (use_nss_certs) { 736 public_deps += ["//crypto:platform" ] 737 } else { 738 sources -= [ 739 "test/cert_test_util_nss.cc", 740 ] 741 } 742 } 743 744 source_set("balsa") { 745 sources = [ 746 "tools/balsa/balsa_enums.h", 747 "tools/balsa/balsa_frame.cc", 748 "tools/balsa/balsa_frame.h", 749 "tools/balsa/balsa_headers.cc", 750 "tools/balsa/balsa_headers.h", 751 "tools/balsa/balsa_headers_token_utils.cc", 752 "tools/balsa/balsa_headers_token_utils.h", 753 "tools/balsa/balsa_visitor_interface.h", 754 "tools/balsa/http_message_constants.cc", 755 "tools/balsa/http_message_constants.h", 756 "tools/balsa/noop_balsa_visitor.h", 757 "tools/balsa/simple_buffer.cc", 758 "tools/balsa/simple_buffer.h", 759 "tools/balsa/split.cc", 760 "tools/balsa/split.h", 761 "tools/balsa/string_piece_utils.h", 762 "tools/quic/spdy_utils.cc", 763 "tools/quic/spdy_utils.h", 764 ] 765 deps = [ 766 ":net", 767 "//base", 768 "//url", 769 ] 770 } 771 772 if (use_v8_in_net) { 773 component("net_with_v8") { 774 sources = [ 775 "proxy/proxy_resolver_v8.cc", 776 "proxy/proxy_resolver_v8.h", 777 "proxy/proxy_resolver_v8_tracing.cc", 778 "proxy/proxy_resolver_v8_tracing.h", 779 "proxy/proxy_service_v8.cc", 780 "proxy/proxy_service_v8.h", 781 ] 782 783 defines = [ "NET_IMPLEMENTATION" ] 784 configs += [ 785 ":net_win_size_truncation", 786 "//build/config/compiler:wexit_time_destructors", 787 ] 788 789 public_deps = [ 790 ":net", 791 ] 792 deps = [ 793 "//base", 794 "//gin", 795 "//url", 796 "//v8", 797 ] 798 } 799 } 800 801 if (!is_ios && !is_android) { 802 executable("crash_cache") { 803 testonly = true 804 sources = [ "tools/crash_cache/crash_cache.cc" ] 805 configs += [ ":net_win_size_truncation" ] 806 deps = [ 807 ":net", 808 ":test_support", 809 "//base", 810 ] 811 } 812 813 executable("crl_set_dump") { 814 testonly = true 815 sources = [ "tools/crl_set_dump/crl_set_dump.cc" ] 816 configs += [ ":net_win_size_truncation" ] 817 deps = [ 818 ":net", 819 "//base", 820 ] 821 } 822 823 executable("dns_fuzz_stub") { 824 testonly = true 825 sources = [ "tools/dns_fuzz_stub/dns_fuzz_stub.cc" ] 826 configs += [ ":net_win_size_truncation" ] 827 deps = [ 828 ":net", 829 "//base", 830 ] 831 } 832 833 executable("gdig") { 834 testonly = true 835 sources = [ 836 "tools/gdig/file_net_log.cc", 837 "tools/gdig/gdig.cc", 838 ] 839 deps = [ 840 ":net", 841 "//base", 842 ] 843 } 844 845 executable("get_server_time") { 846 testonly = true 847 sources = [ "tools/get_server_time/get_server_time.cc" ] 848 configs += [ ":net_win_size_truncation" ] 849 deps = [ 850 ":net", 851 "//base", 852 "//base:i18n", 853 "//url", 854 ] 855 } 856 857 if (use_v8_in_net) { 858 executable("net_watcher") { 859 testonly = true 860 sources = [ "tools/net_watcher/net_watcher.cc" ] 861 deps = [ 862 ":net", 863 ":net_with_v8", 864 "//base", 865 ] 866 867 if (is_linux) { 868 configs += [ 869 "//build/config/linux:gconf", 870 "//build/config/linux:glib", 871 ] 872 deps += [ "//build/config/linux:gio" ] 873 } 874 } 875 } 876 877 executable("run_testserver") { 878 testonly = true 879 sources = [ "tools/testserver/run_testserver.cc" ] 880 deps = [ 881 ":net", # TODO(brettw) bug 363749: this shouldn't be necessary. It's not 882 # in the GYP build, and can be removed when the bug is fixed. 883 ":test_support", 884 "//base", 885 "//base/test:test_support", 886 "//testing/gtest", 887 ] 888 } 889 890 executable("stress_cache") { 891 testonly = true 892 sources = [ "disk_cache/blockfile/stress_cache.cc" ] 893 configs += [ ":net_win_size_truncation" ] 894 deps = [ 895 ":net", 896 ":test_support", 897 "//base", 898 ] 899 } 900 901 executable("tld_cleanup") { 902 sources = [ "tools/tld_cleanup/tld_cleanup.cc" ] 903 configs += [ ":net_win_size_truncation" ] 904 deps = [ 905 "//base", 906 "//base:i18n", 907 "//net/tools/tld_cleanup", 908 ] 909 } 910 } 911 912 if (is_linux) { 913 static_library("epoll_server") { 914 sources = [ 915 "tools/epoll_server/epoll_server.cc", 916 "tools/epoll_server/epoll_server.h", 917 ] 918 deps = [ 919 ":net", 920 "//base", 921 ] 922 } 923 924 static_library("flip_in_mem_edsm_server_base") { 925 testonly = true 926 sources = [ 927 "tools/dump_cache/url_to_filename_encoder.cc", 928 "tools/dump_cache/url_to_filename_encoder.h", 929 "tools/dump_cache/url_utilities.h", 930 "tools/dump_cache/url_utilities.cc", 931 "tools/flip_server/acceptor_thread.h", 932 "tools/flip_server/acceptor_thread.cc", 933 "tools/flip_server/create_listener.cc", 934 "tools/flip_server/create_listener.h", 935 "tools/flip_server/constants.h", 936 "tools/flip_server/flip_config.cc", 937 "tools/flip_server/flip_config.h", 938 "tools/flip_server/http_interface.cc", 939 "tools/flip_server/http_interface.h", 940 "tools/flip_server/loadtime_measurement.h", 941 "tools/flip_server/mem_cache.h", 942 "tools/flip_server/mem_cache.cc", 943 "tools/flip_server/output_ordering.cc", 944 "tools/flip_server/output_ordering.h", 945 "tools/flip_server/ring_buffer.cc", 946 "tools/flip_server/ring_buffer.h", 947 "tools/flip_server/sm_connection.cc", 948 "tools/flip_server/sm_connection.h", 949 "tools/flip_server/sm_interface.h", 950 "tools/flip_server/spdy_ssl.cc", 951 "tools/flip_server/spdy_ssl.h", 952 "tools/flip_server/spdy_interface.cc", 953 "tools/flip_server/spdy_interface.h", 954 "tools/flip_server/spdy_util.cc", 955 "tools/flip_server/spdy_util.h", 956 "tools/flip_server/streamer_interface.cc", 957 "tools/flip_server/streamer_interface.h", 958 ] 959 deps = [ 960 ":balsa", 961 ":epoll_server", 962 ":net", 963 "//base", 964 "//third_party/boringssl", 965 ] 966 } 967 968 executable("flip_in_mem_edsm_server_unittests") { 969 testonly = true 970 sources = [ 971 "tools/flip_server/flip_test_utils.cc", 972 "tools/flip_server/flip_test_utils.h", 973 "tools/flip_server/http_interface_test.cc", 974 "tools/flip_server/mem_cache_test.cc", 975 "tools/flip_server/run_all_tests.cc", 976 "tools/flip_server/spdy_interface_test.cc", 977 ] 978 deps = [ 979 ":flip_in_mem_edsm_server_base", 980 ":net", 981 ":test_support", 982 "//testing/gtest", 983 "//testing/gmock", 984 "//third_party/boringssl", 985 ] 986 } 987 988 executable("flip_in_mem_edsm_server") { 989 testonly = true 990 sources = [ "tools/flip_server/flip_in_mem_edsm_server.cc" ] 991 deps = [ 992 ":flip_in_mem_edsm_server_base", 993 ":net", 994 "//base", 995 ] 996 } 997 998 source_set("quic_base") { 999 sources = [ 1000 "tools/quic/quic_client.cc", 1001 "tools/quic/quic_client.h", 1002 "tools/quic/quic_client_session.cc", 1003 "tools/quic/quic_client_session.h", 1004 "tools/quic/quic_default_packet_writer.cc", 1005 "tools/quic/quic_default_packet_writer.h", 1006 "tools/quic/quic_dispatcher.h", 1007 "tools/quic/quic_dispatcher.cc", 1008 "tools/quic/quic_epoll_clock.cc", 1009 "tools/quic/quic_epoll_clock.h", 1010 "tools/quic/quic_epoll_connection_helper.cc", 1011 "tools/quic/quic_epoll_connection_helper.h", 1012 "tools/quic/quic_in_memory_cache.cc", 1013 "tools/quic/quic_in_memory_cache.h", 1014 "tools/quic/quic_packet_writer_wrapper.cc", 1015 "tools/quic/quic_packet_writer_wrapper.h", 1016 "tools/quic/quic_per_connection_packet_writer.cc", 1017 "tools/quic/quic_per_connection_packet_writer.h", 1018 "tools/quic/quic_server.cc", 1019 "tools/quic/quic_server.h", 1020 "tools/quic/quic_server_session.cc", 1021 "tools/quic/quic_server_session.h", 1022 "tools/quic/quic_socket_utils.cc", 1023 "tools/quic/quic_socket_utils.h", 1024 "tools/quic/quic_spdy_client_stream.cc", 1025 "tools/quic/quic_spdy_client_stream.h", 1026 "tools/quic/quic_spdy_server_stream.cc", 1027 "tools/quic/quic_spdy_server_stream.h", 1028 "tools/quic/quic_time_wait_list_manager.h", 1029 "tools/quic/quic_time_wait_list_manager.cc", 1030 ] 1031 deps = [ 1032 ":balsa", 1033 ":epoll_server", 1034 ":net", 1035 "//base", 1036 "//base/third_party/dynamic_annotations", 1037 "//crypto", 1038 "//third_party/boringssl", 1039 "//url", 1040 ] 1041 } 1042 1043 executable("quic_client") { 1044 sources = [ "tools/quic/quic_client_bin.cc" ] 1045 deps = [ 1046 ":quic_base", 1047 ":net", 1048 "//base", 1049 "//third_party/boringssl", 1050 ] 1051 } 1052 } 1053 1054 if (is_android) { 1055 generate_jni("net_jni_headers") { 1056 sources = [ 1057 "android/java/src/org/chromium/net/AndroidCertVerifyResult.java", 1058 "android/java/src/org/chromium/net/AndroidKeyStore.java", 1059 "android/java/src/org/chromium/net/AndroidNetworkLibrary.java", 1060 "android/java/src/org/chromium/net/AndroidPrivateKey.java", 1061 "android/java/src/org/chromium/net/GURLUtils.java", 1062 "android/java/src/org/chromium/net/NetworkChangeNotifier.java", 1063 "android/java/src/org/chromium/net/ProxyChangeListener.java", 1064 "android/java/src/org/chromium/net/X509Util.java", 1065 ] 1066 jni_package = "net" 1067 } 1068 generate_jni("net_test_jni_headers") { 1069 sources = [ 1070 "android/javatests/src/org/chromium/net/AndroidKeyStoreTestUtil.java", 1071 ] 1072 jni_package = "net" 1073 } 1074 } 1075 1076 if (is_android || is_linux) { 1077 executable("disk_cache_memory_test") { 1078 testonly = true 1079 sources = [ "tools/disk_cache_memory_test/disk_cache_memory_test.cc" ] 1080 deps = [ 1081 ":net", 1082 "//base", 1083 ] 1084 } 1085 } 1086 1087 # TODO(GYP) make this compile on Android, we need some native test deps done. 1088 # TODO(GYP) Also doesn't work on Windows; dependency on boringssl is wrong. 1089 if (!is_android && !is_win) { 1090 1091 source_set("quic_tools") { 1092 sources = [ 1093 "quic/quic_dispatcher.cc", 1094 "quic/quic_dispatcher.h", 1095 "quic/quic_in_memory_cache.cc", 1096 "quic/quic_in_memory_cache.h", 1097 "quic/quic_per_connection_packet_writer.cc", 1098 "quic/quic_per_connection_packet_writer.h", 1099 "quic/quic_server.cc", 1100 "quic/quic_server.h", 1101 "quic/quic_server_packet_writer.cc", 1102 "quic/quic_server_packet_writer.h", 1103 "quic/quic_server_session.cc", 1104 "quic/quic_server_session.h", 1105 "quic/quic_spdy_server_stream.cc", 1106 "quic/quic_spdy_server_stream.h", 1107 "quic/quic_time_wait_list_manager.cc", 1108 "quic/quic_time_wait_list_manager.h", 1109 ] 1110 deps = [ 1111 ":net", 1112 "//base", 1113 "//base/third_party/dynamic_annotations", 1114 "//url", 1115 ] 1116 } 1117 1118 test("net_unittests") { 1119 sources = gypi_values.net_test_sources 1120 1121 configs += [ ":net_win_size_truncation" ] 1122 defines = [] 1123 1124 deps = [ 1125 ":extras", 1126 ":http_server", 1127 ":net", 1128 ":quic_tools", 1129 ":test_support", 1130 "//base", 1131 "//base:i18n", 1132 "//base:prefs_test_support", 1133 "//base/allocator", 1134 "//base/third_party/dynamic_annotations", 1135 "//crypto", 1136 "//crypto:platform", 1137 "//crypto:test_support", 1138 "//net/base/registry_controlled_domains", 1139 "//testing/gmock", 1140 "//testing/gtest", 1141 "//third_party/zlib", 1142 "//url", 1143 ] 1144 1145 if (is_linux) { 1146 sources += gypi_values.net_linux_test_sources 1147 deps += [ 1148 ":balsa", 1149 ":epoll_server", 1150 ":flip_in_mem_edsm_server_base", 1151 ":quic_base", 1152 ] 1153 } 1154 1155 if (is_chromeos) { 1156 sources -= [ 1157 "proxy/proxy_config_service_linux_unittest.cc", 1158 ] 1159 } 1160 1161 if (is_android) { 1162 sources -= [ 1163 # See bug http://crbug.com/344533. 1164 "disk_cache/blockfile/index_table_v3_unittest.cc", 1165 # No res_ninit() et al on Android, so this doesn't make a lot of 1166 # sense. 1167 "dns/dns_config_service_posix_unittest.cc", 1168 ] 1169 deps += [ 1170 ":net_javatests", # FIXME(brettw) 1171 ":net_test_jni_headers", 1172 ] 1173 } 1174 1175 if (!use_nss_certs) { 1176 sources -= [ 1177 "ssl/client_cert_store_nss_unittest.cc", 1178 ] 1179 if (is_chromeos) { # Already removed for all non-ChromeOS builds. 1180 sources -= [ 1181 "ssl/client_cert_store_chromeos_unittest.cc", 1182 ] 1183 } 1184 } 1185 1186 if (use_openssl) { 1187 # When building for OpenSSL, we need to exclude NSS specific tests 1188 # or functionality not supported by OpenSSL yet. 1189 # TODO(bulach): Add equivalent tests when the underlying 1190 # functionality is ported to OpenSSL. 1191 sources -= [ 1192 "cert/nss_cert_database_unittest.cc", 1193 "cert/x509_util_nss_unittest.cc", 1194 "quic/test_tools/crypto_test_utils_nss.cc", 1195 ] 1196 if (is_chromeos) { 1197 # These were already removed in the non-ChromeOS case. 1198 sources -= [ 1199 "cert/nss_cert_database_chromeos_unittest.cc", 1200 "cert/nss_profile_filter_chromeos_unittest.cc", 1201 ] 1202 } 1203 } else { 1204 sources -= [ 1205 "cert/x509_util_openssl_unittest.cc", 1206 "quic/test_tools/crypto_test_utils_openssl.cc", 1207 "socket/ssl_client_socket_openssl_unittest.cc", 1208 "socket/ssl_session_cache_openssl_unittest.cc", 1209 ] 1210 if (!is_desktop_linux && !is_chromeos) { 1211 sources -= [ "cert/nss_cert_database_unittest.cc" ] 1212 } 1213 } 1214 1215 if (use_kerberos) { 1216 defines += [ "USE_KERBEROS" ] 1217 } else { 1218 sources -= [ 1219 "http/http_auth_gssapi_posix_unittest.cc", 1220 "http/http_auth_handler_negotiate_unittest.cc", 1221 "http/mock_gssapi_library_posix.cc", 1222 "http/mock_gssapi_library_posix.h", 1223 ] 1224 } 1225 1226 if (use_openssl || (!is_desktop_linux && !is_chromeos && !is_ios)) { 1227 # Only include this test when on Posix and using NSS for 1228 # cert verification or on iOS (which also uses NSS for certs). 1229 sources -= [ "ocsp/nss_ocsp_unittest.cc" ] 1230 } 1231 1232 if (!use_openssl_certs) { 1233 sources -= [ "ssl/openssl_client_key_store_unittest.cc" ] 1234 } 1235 1236 if (!enable_websockets) { 1237 sources -= [ 1238 "socket_stream/socket_stream_metrics_unittest.cc", 1239 "socket_stream/socket_stream_unittest.cc", 1240 "spdy/spdy_websocket_stream_unittest.cc", 1241 "websockets/websocket_basic_stream_test.cc", 1242 "websockets/websocket_channel_test.cc", 1243 "websockets/websocket_deflate_predictor_impl_test.cc", 1244 "websockets/websocket_deflate_stream_test.cc", 1245 "websockets/websocket_deflater_test.cc", 1246 "websockets/websocket_errors_test.cc", 1247 "websockets/websocket_extension_parser_test.cc", 1248 "websockets/websocket_frame_parser_test.cc", 1249 "websockets/websocket_frame_test.cc", 1250 "websockets/websocket_handshake_handler_spdy_test.cc", 1251 "websockets/websocket_handshake_handler_test.cc", 1252 "websockets/websocket_handshake_stream_create_helper_test.cc", 1253 "websockets/websocket_inflater_test.cc", 1254 "websockets/websocket_job_test.cc", 1255 "websockets/websocket_net_log_params_test.cc", 1256 "websockets/websocket_stream_test.cc", 1257 "websockets/websocket_test_util.cc", 1258 "websockets/websocket_test_util.h", 1259 "websockets/websocket_throttle_test.cc", 1260 ] 1261 } 1262 1263 if (disable_file_support) { 1264 sources -= [ 1265 "base/directory_lister_unittest.cc", 1266 "url_request/url_request_file_job_unittest.cc", 1267 ] 1268 } 1269 1270 if (disable_ftp_support) { 1271 sources -= [ 1272 "ftp/ftp_auth_cache_unittest.cc", 1273 "ftp/ftp_ctrl_response_buffer_unittest.cc", 1274 "ftp/ftp_directory_listing_parser_ls_unittest.cc", 1275 "ftp/ftp_directory_listing_parser_netware_unittest.cc", 1276 "ftp/ftp_directory_listing_parser_os2_unittest.cc", 1277 "ftp/ftp_directory_listing_parser_unittest.cc", 1278 "ftp/ftp_directory_listing_parser_unittest.h", 1279 "ftp/ftp_directory_listing_parser_vms_unittest.cc", 1280 "ftp/ftp_directory_listing_parser_windows_unittest.cc", 1281 "ftp/ftp_network_transaction_unittest.cc", 1282 "ftp/ftp_util_unittest.cc", 1283 "url_request/url_request_ftp_job_unittest.cc", 1284 ] 1285 } 1286 1287 if (!enable_built_in_dns) { 1288 sources -= [ 1289 "dns/address_sorter_posix_unittest.cc", 1290 "dns/address_sorter_unittest.cc", 1291 ] 1292 } 1293 1294 # Always need use_v8_in_net to be 1 to run on Android, so just remove 1295 # net_unittest's dependency on v8 when using icu alternatives instead of 1296 # setting use_v8_in_net to 0. 1297 if (use_v8_in_net && !use_icu_alternatives_on_android) { 1298 deps += [ ":net_with_v8" ] 1299 } else { 1300 sources -= [ 1301 "proxy/proxy_resolver_v8_unittest.cc", 1302 "proxy/proxy_resolver_v8_tracing_unittest.cc", 1303 ] 1304 } 1305 1306 if (!enable_mdns) { 1307 sources -= [ 1308 "dns/mdns_cache_unittest.cc", 1309 "dns/mdns_client_unittest.cc", 1310 "dns/record_parsed_unittest.cc", 1311 "dns/record_rdata_unittest.cc", 1312 ] 1313 } 1314 1315 if (is_ios) { 1316 # TODO(GYP) 1317 # 'actions': [ 1318 # { 1319 # 'action_name': 'copy_test_data', 1320 # 'variables': { 1321 # 'test_data_files': [ 1322 # 'data/ssl/certificates/', 1323 # 'data/test.html', 1324 # 'data/url_request_unittest/', 1325 # ], 1326 # 'test_data_prefix': 'net', 1327 # }, 1328 # 'includes': [ '../build/copy_test_data_ios.gypi' ], 1329 # }, 1330 # ], 1331 sources -= [ 1332 # TODO(droger): The following tests are disabled because the 1333 # implementation is missing or incomplete. 1334 # KeygenHandler::GenKeyAndSignChallenge() is not ported to iOS. 1335 "base/keygen_handler_unittest.cc", 1336 "disk_cache/backend_unittest.cc", 1337 "disk_cache/blockfile/block_files_unittest.cc", 1338 # Need to read input data files. 1339 "filter/gzip_filter_unittest.cc", 1340 "socket/ssl_server_socket_unittest.cc", 1341 "spdy/fuzzing/hpack_fuzz_util_test.cc", 1342 # Need TestServer. 1343 "proxy/proxy_script_fetcher_impl_unittest.cc", 1344 "socket/ssl_client_socket_unittest.cc", 1345 "url_request/url_fetcher_impl_unittest.cc", 1346 "url_request/url_request_context_builder_unittest.cc", 1347 # Needs GetAppOutput(). 1348 "test/python_utils_unittest.cc", 1349 1350 # The following tests are disabled because they don't apply to 1351 # iOS. 1352 # OS is not "linux" or "freebsd" or "openbsd". 1353 "socket/unix_domain_client_socket_posix_unittest.cc", 1354 "socket/unix_domain_listen_socket_posix_unittest.cc", 1355 "socket/unix_domain_server_socket_posix_unittest.cc", 1356 1357 # See bug http://crbug.com/344533. 1358 "disk_cache/blockfile/index_table_v3_unittest.cc", 1359 ] 1360 } 1361 1362 if (is_android) { 1363 sources -= [ 1364 "dns/dns_config_service_posix_unittest.cc", 1365 ] 1366 # TODO(GYP) 1367 # # TODO(mmenke): This depends on test_support_base, which depends on 1368 # # icu. Figure out a way to remove that dependency. 1369 # 'dependencies': [ 1370 # '../testing/android/native_test.gyp:native_test_native_code', 1371 # ] 1372 1373 set_sources_assignment_filter([]) 1374 sources += [ "base/address_tracker_linux_unittest.cc" ] 1375 set_sources_assignment_filter(sources_assignment_filter) 1376 } 1377 1378 if (use_icu_alternatives_on_android) { 1379 sources -= [ 1380 "base/filename_util_unittest.cc", 1381 "base/net_util_icu_unittest.cc", 1382 ] 1383 deps -= [ "//base:i18n" ] 1384 } 1385 } 1386 1387 executable("quic_server") { 1388 sources = [ "quic/quic_server_bin.cc" ] 1389 deps = [ 1390 ":quic_tools", 1391 ":net", 1392 "//base", 1393 "//third_party/boringssl", 1394 ] 1395 } 1396 1397 } # !is_android 1398